Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/tests/devbot/test_config.py
diff options
context:
space:
mode:
authorDaniel Narvaez <dwnarvaez@gmail.com>2012-11-30 13:28:35 (GMT)
committer Daniel Narvaez <dwnarvaez@gmail.com>2012-11-30 13:28:35 (GMT)
commit11a17ac1ccd59e428af735955b2007b2e1fcb982 (patch)
tree54eb38d746f42c4f2e7d772aa2a0acda2cdf466a /tests/devbot/test_config.py
parentd0752119848004ffcc0bc1f602de146b7c20dd15 (diff)
Test the list of modules
Diffstat (limited to 'tests/devbot/test_config.py')
-rw-r--r--tests/devbot/test_config.py67
1 files changed, 67 insertions, 0 deletions
diff --git a/tests/devbot/test_config.py b/tests/devbot/test_config.py
new file mode 100644
index 0000000..3ffd90a
--- /dev/null
+++ b/tests/devbot/test_config.py
@@ -0,0 +1,67 @@
+import os
+import tempfile
+import unittest
+import subprocess
+
+from devbot import git
+from devbot import config
+from devbot import distro
+
+tests_dir = os.path.abspath(os.path.dirname(__file__))
+base_dir = os.path.dirname(os.path.dirname(tests_dir))
+config_dir = os.path.join(base_dir, "config")
+data_dir = os.path.join(tests_dir, "data")
+
+class TestConfig(unittest.TestCase):
+ def setUp(self):
+ config.set_config_dir(config_dir)
+
+ def _set_distro(self, name, version):
+ self._orig_supported_distro = distro._supported_distros
+ for info_class in distro._supported_distros:
+ if "_FEDORA_RELEASE_PATH" in distro_info_class:
+ info_class._FEDORA_RELEASE_PATH = \
+ os.path.join(data_dir, "fedora-release-18")
+
+ info = info_class()
+ if info.name == name and info.version == version:
+ self._supported_distros = [info]
+ break
+
+ def _unset_distro(self):
+ distro._supported_distros = self._orig_supported_distro
+
+ def _find_module(self, modules, name):
+ for module in modules:
+ if module.name == name:
+ return module
+
+ return None
+
+ def _assert_module(self, modules, name):
+ self.assertIsNotNone(self._find_module(modules, name))
+
+ def _assert_no_module(self, modules, name):
+ self.assertIsNotNone(self._find_module(modules, name))
+
+ def test_fedora_17_info(self):
+ self._set_distro("fedora", "17")
+
+ modules = config.load_modules()
+ self._assert_module(modules, "glib")
+ self._assert_module(modules, "gtk+")
+ self._assert_module(modules, "gstreamer")
+ self._assert_module(modules, "sugar")
+
+ self._unset_distro()
+
+ def test_fedora_18_info(self):
+ self._set_distro("fedora", "18")
+
+ modules = config.load_modules()
+ self._assert_module(modules, "glib")
+ self._assert_module(modules, "gtk+")
+ self._assert_module(modules, "gstreamer")
+ self._assert_module(modules, "sugar")
+
+ self._unset_distro()