1# This Source Code Form is subject to the terms of the Mozilla Public
2# License, v. 2.0. If a copy of the MPL was not distributed with this
3# file, You can obtain one at http://mozilla.org/MPL/2.0/.
4
5import os
6import unittest
7import shutil
8
9from cuddlefish._version import get_versions
10
11class Version(unittest.TestCase):
12    def get_basedir(self):
13        return os.path.join(".test_tmp", self.id())
14    def make_basedir(self):
15        basedir = self.get_basedir()
16        if os.path.isdir(basedir):
17            here = os.path.abspath(os.getcwd())
18            assert os.path.abspath(basedir).startswith(here) # safety
19            shutil.rmtree(basedir)
20        os.makedirs(basedir)
21        return basedir
22
23    def test_current_version(self):
24        # the SDK should be able to determine its own version. We don't care
25        # what it is, merely that it can be computed.
26        version = get_versions()["version"]
27        self.failUnless(isinstance(version, str), (version, type(version)))
28        self.failUnless(len(version) > 0, version)
29