From: Christian Herdtweck Date: Thu, 7 Feb 2019 11:59:17 +0000 (+0100) Subject: Create unittests for case changes of cnfvar varnames X-Git-Tag: v1.4~12^2~4 X-Git-Url: http://developer.intra2net.com/git/?a=commitdiff_plain;h=b515a3868229ebd67cc1c850d6a3857f1c99a4ba;p=pyi2ncommon Create unittests for case changes of cnfvar varnames --- diff --git a/test/test_cnfvar.py b/test/test_cnfvar.py index 3a0f18a..3cdf0fb 100755 --- a/test/test_cnfvar.py +++ b/test/test_cnfvar.py @@ -377,5 +377,44 @@ class CnfVarUnittest(unittest.TestCase): cnfvar.print_cnf(cnf, out=devnull) +class CnfVarUnittestVarnameCase(unittest.TestCase): + """Tests for verifying that uppercasing/lowercasing of varname works.""" + # TODO: rethink whether this lower-casing is worth all the effort it causes + + def test_dump_cnf_uppercase(self): + """Test dump of cnfvars results in uppercase var names.""" + cnf = {"cnf": [ + {"instance": 0, "varname": "dialout_mode", + "data": "ONLINE", "number": 1, "comment": None}, + {"instance": 0, "varname": "dialout_defaultprovider_ref", + "data": "1", "number": 2, "comment": None}, + {"instance": 0, "varname": "hypothetical_parent", + "data": "parent value", "number": 3, "comment": None, + "children": [ + {"instance": 0, "varname": "hypothetical_child", + "data": "0", "number": 4, "parent": 3, "comment": None}, + {"instance": 1, "varname": "hypothetical_child", + "data": "1", "number": 5, "parent": 3, "comment": None}]} + ]} + serialization = cnfvar.dump_json_string(cnf) + self.assertIn('DIALOUT_MODE', serialization) + self.assertIn('DIALOUT_DEFAULTPROVIDER_REF', serialization) + self.assertIn('HYPOTHETICAL_CHILD', serialization) + self.assertNotIn('dialout_mode', serialization) + self.assertNotIn('dialout_defaultprovider_ref', serialization) + self.assertNotIn('hypothetical_child', serialization) + + def test_read_cnf_lowercase(self): + """Test that after reading, varnames are lowercase.""" + cnf = cnfvar.read_cnf_json(demo_jsoncnf.encode('latin1')) + for parentvar in cnf['cnf']: + self.assertEqual(parentvar['varname'], + parentvar['varname'].lower()) + if 'children' in parentvar: + for childvar in parentvar['children']: + self.assertEqual(parentvar['varname'], + parentvar['varname'].lower()) + + if __name__ == '__main__': unittest.main()