aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorJauhien Piatlicki (jauhien) <piatlicki@gmail.com>2013-06-23 02:22:27 +0200
committerJauhien Piatlicki (jauhien) <piatlicki@gmail.com>2013-06-23 02:22:27 +0200
commita8ec7786e12dab514996b60b4b79f1f57dc58a66 (patch)
tree3c48213f5676d3d145fc2b36efca2fd596306cb5 /tests
parentg_sorcery/ebuild.py: initial commit (diff)
downloadg-sorcery-a8ec7786e12dab514996b60b4b79f1f57dc58a66.tar.gz
g-sorcery-a8ec7786e12dab514996b60b4b79f1f57dc58a66.tar.bz2
g-sorcery-a8ec7786e12dab514996b60b4b79f1f57dc58a66.zip
g_sorcery/ebuild: EbuildGenerator
Diffstat (limited to 'tests')
-rw-r--r--tests/test_ebuild.py66
1 files changed, 66 insertions, 0 deletions
diff --git a/tests/test_ebuild.py b/tests/test_ebuild.py
new file mode 100644
index 0000000..029e2df
--- /dev/null
+++ b/tests/test_ebuild.py
@@ -0,0 +1,66 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+
+"""
+ test_ebuild.py
+ ~~~~~~~~~~~~~~~~~~
+
+ ebuild generator test suite
+
+ :copyright: (c) 2013 by Jauhien Piatlicki
+ :license: GPL-2, see LICENSE for more details.
+"""
+
+import tempfile, unittest
+
+from g_sorcery import ebuild, package_db
+
+package = package_db.Package("app-test", "test", "0.1")
+
+class DummyDB(package_db.PackageDB):
+ def __init__(self, directory):
+ super().__init__(directory)
+
+ def generate_tree(self):
+ self.add_category("app-test")
+ self.add_package(package,
+ {"author" : "jauhien", "homepage" : "127.0.0.1"})
+
+
+class DummyEbuildGenerator(ebuild.EbuildGenerator):
+ def get_template(self, ebuild, description):
+ tmpl = ["test", "author: $author", "homepage: $homepage", "var: $$var"]
+ return tmpl
+
+
+class TestEbuildGenerator(unittest.TestCase):
+
+ def setUp(self):
+ self.tempdir = tempfile.TemporaryDirectory()
+ pass
+
+ def tearDown(self):
+ del self.tempdir
+ pass
+
+ def test_process(self):
+ eg = DummyEbuildGenerator(None)
+ tst_dict = {"a" : "d", "b" : "e", "c" : "f"}
+ ebuild = ["$a", "$b", "$c"]
+ ebuild = eg.process(ebuild, tst_dict)
+ self.assertEqual(ebuild, ["d", "e", "f"])
+
+ def test_generate(self):
+ db = DummyDB(self.tempdir.name)
+ db.generate()
+ eg = DummyEbuildGenerator(db)
+ ebuild = eg.generate(package)
+ self.assertEqual(ebuild, ['test', 'author: jauhien',
+ 'homepage: 127.0.0.1', 'var: $var'])
+
+
+def suite():
+ suite = unittest.TestSuite()
+ suite.addTest(TestEbuildGenerator('test_process'))
+ suite.addTest(TestEbuildGenerator('test_generate'))
+ return suite