コード例 #1
0
    def test_pattern_order_defines_which_files_have_the_authority(self):
        config = probe(path=_dir("key-override"),
                       patterns=["file1.yaml", "file2.yaml"])
        assert_that(config.key, is_("value2"))

        config = probe(path=_dir("key-override"),
                       patterns=["file2.yaml", "file1.yaml"])
        assert_that(config.key, is_("value1"))
コード例 #2
0
    def test_pattern_order_defines_which_files_have_the_authority(self):
        config = probe(path=_dir("key-override"),
                       patterns=["file1.yaml", "file2.yaml"])
        assert_that(config.key, is_("value2"))

        config = probe(path=_dir("key-override"),
                       patterns=["file2.yaml", "file1.yaml"])
        assert_that(config.key, is_("value1"))
コード例 #3
0
    def test_multiple_patterns_on_same_namespaces_should_merge_recursively(
            self):
        config = probe(path=_dir("multi-level-files"),
                       patterns=["(*)/(*).yaml", "(*)/subdir/(*).yaml"])

        assert_that(config.ns1.stuff.content1.key1, is_("value1"))
        assert_that(config.ns1.stuff.content2.key2, is_("value2"))
コード例 #4
0
    def test_single_file_multiple_level_raising_or_not(self):
        config = probe(path=_dir("multi-level-files"),
                       patterns=["(*)/(*).yaml", "(*)/subdir/(*).yaml"])
        assert_that(config.ns1.stuff.we.need.more.cowbell, is_("ok"))

        with self.assertRaises(ConfigNotFound):
            print(config.ns1.stuff.we.need.less.cowbell)
コード例 #5
0
    def test_single_file_multiple_level_raising_or_not(self):
        config = probe(path=_dir("multi-level-files"),
                       patterns=["(*)/(*).yaml", "(*)/subdir/(*).yaml"])
        assert_that(config.ns1.stuff.we.need.more.cowbell, is_("ok"))

        with self.assertRaises(ConfigNotFound):
            print(config.ns1.stuff.we.need.less.cowbell)
コード例 #6
0
    def test_dict_should_behave_as_dict(self):
        config = probe(path=_dir("single-file"), patterns=["(*).yaml"])

        assert_that(config["stuff"]["key"], is_("stuff-value"))
        assert_that(dict(config), has_key('stuff'))
        assert_that(dict(**config), has_key('stuff'))
        assert_that(dict(config.stuff), has_key('key'))
        assert_that(dict(**config.stuff), has_key('key'))
コード例 #7
0
    def test_yaml_dict_are_merged_list_arent(self):
        config = probe(path=_dir("dict-merge"),
                       patterns=["file1.yaml", "file2.yaml"])
        assert_that(config.mydict.common_key, is_("value2"))
        assert_that(config.mydict.only_in_1, is_("value1"))
        assert_that(config.mydict.only_in_2, is_("value2"))
        assert_that(config.mydict.subdict.common_list, is_(["a2", "b2"]))
        assert_that(config.mydict.subdict.only_in_1, is_("value1"))
        assert_that(config.mydict.subdict.only_in_2, is_("value2"))

        config = probe(path=_dir("dict-merge"),
                       patterns=["file2.yaml", "file1.yaml"])
        assert_that(config.mydict.common_key, is_("value1"))
        assert_that(config.mydict.only_in_1, is_("value1"))
        assert_that(config.mydict.only_in_2, is_("value2"))
        assert_that(config.mydict.subdict.common_list, is_(["a1", "b1"]))
        assert_that(config.mydict.subdict.only_in_1, is_("value1"))
        assert_that(config.mydict.subdict.only_in_2, is_("value2"))
コード例 #8
0
    def test_dict_should_behave_as_dict(self):
        config = probe(path=_dir("single-file"),
                       patterns=["(*).yaml"])

        assert_that(config["stuff"]["key"], is_("stuff-value"))
        assert_that(dict(config), has_key('stuff'))
        assert_that(dict(**config), has_key('stuff'))
        assert_that(dict(config.stuff), has_key('key'))
        assert_that(dict(**config.stuff), has_key('key'))
コード例 #9
0
    def test_yaml_dict_are_merged_list_arent(self):
        config = probe(path=_dir("dict-merge"),
                       patterns=["file1.yaml", "file2.yaml"])
        assert_that(config.mydict.common_key, is_("value2"))
        assert_that(config.mydict.only_in_1, is_("value1"))
        assert_that(config.mydict.only_in_2, is_("value2"))
        assert_that(config.mydict.subdict.common_list, is_(["a2", "b2"]))
        assert_that(config.mydict.subdict.only_in_1, is_("value1"))
        assert_that(config.mydict.subdict.only_in_2, is_("value2"))

        config = probe(path=_dir("dict-merge"),
                       patterns=["file2.yaml", "file1.yaml"])
        assert_that(config.mydict.common_key, is_("value1"))
        assert_that(config.mydict.only_in_1, is_("value1"))
        assert_that(config.mydict.only_in_2, is_("value2"))
        assert_that(config.mydict.subdict.common_list, is_(["a1", "b1"]))
        assert_that(config.mydict.subdict.only_in_1, is_("value1"))
        assert_that(config.mydict.subdict.only_in_2, is_("value2"))
コード例 #10
0
 def test_support_absolute_paths_outside_base_dir(self):
     config = probe(path=_dir("single-file-with-namespace"),
                    patterns=[
                        "{}/(*)/(*)/stuff.yaml".format(
                            os.path.dirname(__file__))
                    ])
     assert_that(config['two-files-with-subdir-namespace'].ns1.key1,
                 is_("stuff from ns1"))
     assert_that(config['two-files-with-subdir-namespace'].ns2.key2,
                 is_("stuff from ns2"))
コード例 #11
0
    def test_only_starred_parts_are_namespaced(self):
        config = probe(path=_dir("two-files-with-subdir-namespace"),
                       patterns=["(*)/stuff.yaml"])

        assert_that(config.ns1.key1, is_("stuff from ns1"))
        assert_that(config.ns2.key2, is_("stuff from ns2"))
コード例 #12
0
    def test_two_files_with_subdir_namespace(self):
        config = probe(path=_dir("two-files-with-subdir-namespace"),
                       patterns=["(*)/(*).yaml"])

        assert_that(config.ns1.stuff.key1, is_("stuff from ns1"))
        assert_that(config.ns2.stuff.key2, is_("stuff from ns2"))
コード例 #13
0
    def test_single_file_with_namespace_with_wrong_key(self):
        config = probe(path=_dir("single-file-with-namespace"),
                       patterns=["(*).json"])

        with self.assertRaises(ConfigNotFound):
            print(config.stuff.key_inexistant)
コード例 #14
0
    def test_single_file_with_namespace(self):
        config = probe(path=_dir("single-file-with-namespace"),
                       patterns=["(*).json"])

        assert_that(config.stuff.key, is_("stuff-value"))
コード例 #15
0
    def test_only_starred_parts_are_namespaced(self):
        config = probe(path=_dir("two-files-with-subdir-namespace"),
                       patterns=["(*)/stuff.yaml"])

        assert_that(config.ns1.key1, is_("stuff from ns1"))
        assert_that(config.ns2.key2, is_("stuff from ns2"))
コード例 #16
0
    def test_multiple_patterns_on_same_namespaces_should_merge_recursively(self):
        config = probe(path=_dir("multi-level-files"),
                       patterns=["(*)/(*).yaml", "(*)/subdir/(*).yaml"])

        assert_that(config.ns1.stuff.content1.key1, is_("value1"))
        assert_that(config.ns1.stuff.content2.key2, is_("value2"))
コード例 #17
0
 def test_support_for_empty_files(self):
     probe(path=_dir("empty-files"), patterns=["*.*"])
コード例 #18
0
    def test_single_file_with_namespace(self):
        config = probe(path=_dir("single-file-with-namespace"),
                       patterns=["(*).json"])

        assert_that(config.stuff.key, is_("stuff-value"))
コード例 #19
0
    def test_single_file_with_namespace_with_wrong_key(self):
        config = probe(path=_dir("single-file-with-namespace"),
                       patterns=["(*).json"])

        with self.assertRaises(ConfigNotFound):
            print(config.stuff.key_inexistant)
コード例 #20
0
    def test_multiple_patterns(self):
        config = probe(path=_dir("two-files-with-subdir-namespace"),
                       patterns=["ns1/(*).yaml", "(*)/stuff.yaml"])

        assert_that(config.stuff.key1, is_("stuff from ns1"))
        assert_that(config.ns2.key2, is_("stuff from ns2"))
コード例 #21
0
    def test_using_only_a_star_does_not_count_toward_namespacing(self):
        config = probe(path=_dir("two-files-with-subdir-namespace"),
                       patterns=["*/stuff.yaml"])

        assert_that(config.key1, is_("stuff from ns1"))
        assert_that(config.key2, is_("stuff from ns2"))
コード例 #22
0
    def test_using_only_a_star_does_not_count_toward_namespacing(self):
        config = probe(path=_dir("two-files-with-subdir-namespace"),
                       patterns=["*/stuff.yaml"])

        assert_that(config.key1, is_("stuff from ns1"))
        assert_that(config.key2, is_("stuff from ns2"))
コード例 #23
0
    def test_multiple_patterns(self):
        config = probe(path=_dir("two-files-with-subdir-namespace"),
                       patterns=["ns1/(*).yaml", "(*)/stuff.yaml"])

        assert_that(config.stuff.key1, is_("stuff from ns1"))
        assert_that(config.ns2.key2, is_("stuff from ns2"))
コード例 #24
0
 def test_support_for_empty_files(self):
     probe(path=_dir("empty-files"), patterns=["*.*"])
コード例 #25
0
    def test_single_file(self):
        config = probe(path=_dir("single-file"), patterns=["stuff.yaml"])

        assert_that(config.key, is_("stuff-value"))
        assert_that(config.fruits, is_(["Apple", "Orange"]))
コード例 #26
0
    def test_two_files_with_subdir_namespace(self):
        config = probe(path=_dir("two-files-with-subdir-namespace"),
                       patterns=["(*)/(*).yaml"])

        assert_that(config.ns1.stuff.key1, is_("stuff from ns1"))
        assert_that(config.ns2.stuff.key2, is_("stuff from ns2"))
コード例 #27
0
    def test_single_file(self):
        config = probe(path=_dir("single-file"),
                       patterns=["stuff.yaml"])

        assert_that(config.key, is_("stuff-value"))
        assert_that(config.fruits, is_(["Apple", "Orange"]))
コード例 #28
0
 def test_support_absolute_paths_outside_base_dir(self):
     config = probe(path=_dir("single-file-with-namespace"), patterns=[
         "{}/(*)/(*)/stuff.yaml".format(os.path.dirname(__file__))
     ])
     assert_that(config['two-files-with-subdir-namespace'].ns1.key1, is_("stuff from ns1"))
     assert_that(config['two-files-with-subdir-namespace'].ns2.key2, is_("stuff from ns2"))