summaryrefslogtreecommitdiffhomepage
path: root/tests/19_test_gbp_scripts_config.py
diff options
context:
space:
mode:
authorGuido Günther <agx@sigxcpu.org>2015-11-20 08:09:11 +0100
committerGuido Günther <agx@sigxcpu.org>2015-11-20 08:49:40 +0100
commit6d802390e2274bc0c3d03623edac2eb8c482a829 (patch)
tree2dfdb833f8ecd3ecad701857604fda2238d8356e /tests/19_test_gbp_scripts_config.py
parent8583e0364cf785f9d036b25a778c6c20690c44a8 (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.py48
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)
-