def test_yaml_loaded_integration(self, chartConfigMock): yaml_file = StringIO(''' --- charts: my-chart: set-values: keyone: value one keytwo: keythree: value three keyfour: - --settings keyfive: - --one - --two deeplynested_objects: - name: hiya another: nested: value nesting: value - non: conforming lists: - more lists - and more - and: a_random_dict: value ''') course = Handler.load(yaml_file) chart = Chart(course["charts"], None) chartConfig = chartConfigMock() chartConfig.course_base_directory = '.' chartConfig.dryrun = False chart.build_set_arguments() self.assertEqual(chart.args, [ "--set", "keyone=value one", "--set", "keytwo.keythree=value three", "--set", "keytwo.keyfour[0]=--settings", "--set", "keyfive[0]=--one", "--set", "keyfive[1]=--two", "--set", "deeplynested_objects[0].name=hiya", "--set", "deeplynested_objects[0].another.nested=value", "--set", "deeplynested_objects[0].another.nesting=value", "--set", "deeplynested_objects[1].non=conforming", "--set", "deeplynested_objects[1].lists[0]=more lists", "--set", "deeplynested_objects[1].lists[1]=and more", "--set", "deeplynested_objects[1].lists[2].and.a_random_dict=value", ])
def test_dicts(self, chartConfigMock): chart = Chart(self.chart_object, None) chartConfig = chartConfigMock() chartConfig.course_base_directory = '.' chartConfig.dryrun = False chart.set_values = { "levelone": { "leveltwo": "valuetwo", } } chart.build_set_arguments() self.assertEqual(chart.args, ["--set", "levelone.leveltwo=valuetwo"]) chart.args = [] chart.set_values = { "levelone": { "leveltwo": { "levelthree": { "levelfour": "value four", } } } } chart.build_set_arguments() self.assertEqual( chart.args, ["--set", "levelone.leveltwo.levelthree.levelfour=value four"])
def test_null_value(self): chart = Chart(self.chart_object, None) chart.set_values = { "testnull": None, } chart.build_set_arguments() self.assertEqual(chart.args, [ "--set", "testnull=null", ])
def test_flat_key_values(self, chartConfigMock): chart = Chart(self.chart_object, None) chartConfig = chartConfigMock() chartConfig.course_base_directory = '.' chartConfig.dryrun = False self.assertEqual(chart.args, [], "self.args should be empty before running") chart.build_set_arguments() self.assertEqual( chart.args, ["--set", "keyone=valueone"], "Expected build_set_arguments to build --set args correctly.")
def test_null_value(self, chartConfigMock): chart = Chart(self.chart_object, None) chartConfig = chartConfigMock() chartConfig.course_base_directory = '.' chartConfig.dryrun = False chart.set_values = { "testnull": None, } chart.build_set_arguments() self.assertEqual(chart.args, [ "--set", "testnull=null", ])
def test_dicts(self): chart = Chart(self.chart_object, None) chart.set_values = { "levelone": { "leveltwo": "valuetwo", } } chart.build_set_arguments() self.assertEqual(chart.args, ["--set", "levelone.leveltwo=valuetwo"]) chart.args = [] chart.set_values = { "levelone": { "leveltwo": { "levelthree": { "levelfour": "value four", } } } } chart.build_set_arguments() self.assertEqual(chart.args, ["--set", "levelone.leveltwo.levelthree.levelfour=value four"])
def test_flat_key_values(self): chart = Chart(self.chart_object, None) self.assertEqual(chart.args, [], "self.args should be empty before running") chart.build_set_arguments() self.assertEqual(chart.args, ["--set", "keyone=valueone"], "Expected build_set_arguments to build --set args correctly.")