From 62b73944dab1b8eb5bb906d378e4a4858839ffb1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lubom=C3=ADr=20Sedl=C3=A1=C5=99?= Date: Thu, 10 Mar 2016 10:12:23 +0100 Subject: [PATCH] [checks] Add tests for dependency checking MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Lubomír Sedlář --- tests/test_checks.py | 58 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100755 tests/test_checks.py diff --git a/tests/test_checks.py b/tests/test_checks.py new file mode 100755 index 00000000..61e741ea --- /dev/null +++ b/tests/test_checks.py @@ -0,0 +1,58 @@ +#!/usr/bin/env python2 +# -*- coding: utf-8 -*- + +import mock +import unittest +import os +import sys +import StringIO + +sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..')) + +from pungi import checks + + +class CheckDependenciesTestCase(unittest.TestCase): + def test_all_deps_missing(self): + def custom_exists(path): + return False + + with mock.patch('sys.stdout', new_callable=StringIO.StringIO) as out: + with mock.patch('os.path.exists') as exists: + exists.side_effect = custom_exists + result = checks.check({}) + + self.assertEqual(12, len(out.getvalue().strip().split('\n'))) + self.assertFalse(result) + + def test_all_deps_ok(self): + def custom_exists(path): + return True + + with mock.patch('sys.stdout', new_callable=StringIO.StringIO) as out: + with mock.patch('os.path.exists') as exists: + exists.side_effect = custom_exists + result = checks.check({}) + + self.assertEqual('', out.getvalue()) + self.assertTrue(result) + + def test_does_not_require_jigdo_if_not_configured(self): + conf = { + 'create_jigdo': False + } + + def custom_exists(path): + if path == '/usr/bin/jigdo-lite': + return False + return True + + with mock.patch('os.path.exists') as exists: + exists.side_effect = custom_exists + result = checks.check(conf) + + self.assertTrue(result) + + +if __name__ == "__main__": + unittest.main()