コード例 #1
0
 def test_array_merge_mode_cli_overrides_ini_defaults(
         self, quiet_logger, tmp_path_factory, cli, ini, mode):
     config_file = create_temp_yaml_file(
         tmp_path_factory, """
     [defaults]
     arrays = {}
     """.format(ini))
     mc = MergerConfig(quiet_logger,
                       SimpleNamespace(config=config_file, arrays=cli))
     assert mc.array_merge_mode(NodeCoords(None, None, None)) == mode
コード例 #2
0
 def test_array_merge_mode_ini(self, quiet_logger, tmp_path_factory,
                               setting, mode):
     config_file = create_temp_yaml_file(
         tmp_path_factory, """
     [defaults]
     arrays = {}
     """.format(setting))
     mc = MergerConfig(quiet_logger,
                       SimpleNamespace(config=config_file, arrays=None))
     assert mc.array_merge_mode(NodeCoords(None, None, None)) == mode
コード例 #3
0
    def test_array_merge_mode_ini_rule_overrides_cli(self, quiet_logger,
                                                     tmp_path_factory, cli,
                                                     ini_default, ini_rule,
                                                     mode):
        config_file = create_temp_yaml_file(
            tmp_path_factory, """
        [defaults]
        arrays = {}
        [rules]
        /hash/merge_targets/subarray = {}
        """.format(ini_default, ini_rule))
        lhs_yaml_file = create_temp_yaml_file(
            tmp_path_factory, """---
        hash:
          lhs_exclusive: lhs value 1
          merge_targets:
            subkey: lhs value 2
            subarray:
              - one
              - two
        array_of_hashes:
          - name: LHS Record 1
            id: 1
            prop: LHS value AoH 1
          - name: LHS Record 2
            id: 2
            prop: LHS value AoH 2
        """)
        lhs_yaml = get_yaml_editor()
        (lhs_data, lhs_loaded) = get_yaml_data(lhs_yaml, quiet_logger,
                                               lhs_yaml_file)

        mc = MergerConfig(quiet_logger,
                          SimpleNamespace(config=config_file, arrays=cli))
        mc.prepare(lhs_data)

        node = lhs_data["hash"]["merge_targets"]["subarray"]
        parent = lhs_data["hash"]["merge_targets"]
        parentref = "subarray"

        assert mc.array_merge_mode(NodeCoords(node, parent, parentref)) == mode
コード例 #4
0
 def test_array_merge_mode_cli(self, quiet_logger, setting, mode):
     mc = MergerConfig(quiet_logger, SimpleNamespace(arrays=setting))
     assert mc.array_merge_mode(NodeCoords(None, None, None)) == mode
コード例 #5
0
 def test_array_merge_mode_default(self, quiet_logger):
     mc = MergerConfig(quiet_logger, SimpleNamespace(arrays=None))
     assert mc.array_merge_mode(NodeCoords(None, None,
                                           None)) == ArrayMergeOpts.ALL