diff options
author | Guido Günther <agx@sigxcpu.org> | 2015-11-20 08:09:11 +0100 |
---|---|---|
committer | Guido Günther <agx@sigxcpu.org> | 2015-11-20 08:49:40 +0100 |
commit | 6d802390e2274bc0c3d03623edac2eb8c482a829 (patch) | |
tree | 2dfdb833f8ecd3ecad701857604fda2238d8356e /tests/19_test_gbp_scripts_config.py | |
parent | 8583e0364cf785f9d036b25a778c6c20690c44a8 (diff) |
config: Use the same logic for printing a single and all values
Printing single values didn't populate the parser with defaults so we
ended up with empty values for options not set in a config file.
Diffstat (limited to 'tests/19_test_gbp_scripts_config.py')
-rw-r--r-- | tests/19_test_gbp_scripts_config.py | 48 |
1 files changed, 33 insertions, 15 deletions
diff --git a/tests/19_test_gbp_scripts_config.py b/tests/19_test_gbp_scripts_config.py index 13e84669..ae845611 100644 --- a/tests/19_test_gbp_scripts_config.py +++ b/tests/19_test_gbp_scripts_config.py @@ -19,6 +19,7 @@ import os import unittest import gbp.scripts.config + class TestGbpConfigCommand(unittest.TestCase): class SingleValuePrintStub(object): def __init__(self): @@ -44,20 +45,36 @@ class TestGbpConfigCommand(unittest.TestCase): def test_invocation_single_value(self): """Can invoke it for a sngle value without error""" - ret = gbp.scripts.config.main(['doesnotmatter', 'coolcommand.branchname']) + ret = gbp.scripts.config.main(['doesnotmatter', 'config.color']) self.assertEqual(ret, 0) def test_invocation_missing_value(self): """Can we detect a missing value""" - ret = gbp.scripts.config.main(['doesnotmatter', 'coolcommand.doesnotexist']) - self.assertEqual(ret, 1) + ret = gbp.scripts.config.main(['doesnotmatter', 'config.doesnotexist']) + self.assertEqual(ret, 2) + + def test_print_cmd_single_value_default(self): + """Can we fetch a single configuration value that is at it's default""" + printstub = self.SingleValuePrintStub() + query = 'config.color' + ret = gbp.scripts.config.print_cmd_values(query, printstub) + self.assertEqual(printstub.result, '%s=auto' % query) + self.assertEqual(ret, 0) - def test_print_cmd_single_value(self): - """Can we fetch a single configuration value""" + def test_print_cmd_single_value_empty_default(self): + """Can we fetch a single configuration value that is at it's default which is empty""" printstub = self.SingleValuePrintStub() - query = 'coolcommand.branchname' - ret = gbp.scripts.config.print_cmd_single_value(query, printstub) - self.assertEqual(printstub.result, '%s=abranch' % query) + query = 'buildpackage.keyid' + ret = gbp.scripts.config.print_cmd_values(query, printstub) + self.assertEqual(printstub.result, '%s=' % query) + self.assertEqual(ret, 0) + + def test_print_cmd_single_value_override(self): + """Can we fetch a single configuration value that is overriden by config""" + printstub = self.SingleValuePrintStub() + query = 'config.color-scheme' + ret = gbp.scripts.config.print_cmd_values(query, printstub) + self.assertEqual(printstub.result, '%s=checkcheck' % query) self.assertEqual(ret, 0) def test_print_cmd_all_values(self): @@ -72,14 +89,15 @@ class TestGbpConfigCommand(unittest.TestCase): 'pq', 'pull' ]: printstub = self.AllValuesPrintStub(cmd) - ret = gbp.scripts.config.print_cmd_all_values(cmd, printstub) - self.assertTrue('%s.color' % cmd in printstub.result.keys()) + ret = gbp.scripts.config.print_cmd_values(cmd, printstub) + self.assertIn('%s.color' % cmd, printstub.result.keys()) + self.assertEquals(printstub.result['%s.color' % cmd], 'auto') self.assertEqual(ret, 0) - def test_invalid_cms(self): - """Invalid commands or those not using the config should rerturn an error code""" - for cmd in [ "import_dscs", "supercommand" ]: + def test_unexistent_cmds(self): + """Unexisting commands should print no values""" + for cmd in ["import_dscs", "supercommand"]: printstub = self.AllValuesPrintStub(cmd) - ret = gbp.scripts.config.print_cmd_all_values(cmd, printstub) + ret = gbp.scripts.config.print_cmd_values(cmd, printstub) + self.assertEquals(printstub.result, dict()) self.assertEqual(ret, 2) - |