Example #1
0
 def test_basic(self):
     with mock.patch.object(Configuration, '_get_file_contents') as mock_get_contents:
         mock_get_contents.return_value = '{"a": "first file"}'
         conf = Configuration('/tmp/file1.json')
         mock_get_contents.return_value = 'a: "second file"'
         conf.load_source('/tmp/yaml.yaml')
         self.assertEqual(conf.get('a'), 'second file')
Example #2
0
    def test_destination(self):
        test_structure = {'a': 1, 'b': 2}

        conf = Configuration()
        conf.load_source(test_structure, destination='sub')
        self.assertEqual(
            list(conf.extractor.sources),
            [{'sub': test_structure}]
        )

        conf = Configuration()
        conf.load_source(test_structure)
        self.assertEqual(list(conf.extractor.sources), [test_structure])
Example #3
0
    def test_load_source(self):
        conf = Configuration()

        test_file_type = 'json'
        test_contents = 'test contents'
        test_parsed = {'foo': 'bar'}

        conf._get_file_type = mock.Mock(return_value=test_file_type)
        conf._get_file_contents = mock.Mock(return_value=test_contents)
        conf._parse_contents = mock.Mock(return_value=(test_parsed, None))

        conf.load_source(self.test_origin)

        self.assertEqual(len(conf.sources), 1)
        built_source = conf.sources[0]
        self.assertEqual(built_source['origin'], self.test_origin)
        self.assertEqual(built_source['location'], self.test_origin)
        self.assertEqual(built_source['type'], test_file_type)
        self.assertEqual(built_source['contents'], test_contents)
        self.assertEqual(built_source['data'], test_parsed)
Example #4
0
 def test_invalid_config_file(self):
     conf = Configuration(silent_on_missing=False, silent_on_invalid=False)
     conf._get_file_contents = mock.Mock(return_value='{invalid,,,:json')
     with self.assertRaises(InvalidConfigError):
         conf.load_source(self.test_origin)
Example #5
0
 def test_config_file_exists(self):
     conf = Configuration(silent_on_missing=True, silent_on_invalid=True)
     conf._get_file_contents = mock.Mock(return_value=None)
     conf.load_source(self.test_origin)
     self.assertEqual(len(conf.sources), 1)
Example #6
0
 def test_missing_config_file(self):
     conf = Configuration(silent_on_missing=False, silent_on_invalid=False)
     conf._get_file_contents = mock.Mock(return_value=None)
     with self.assertRaises(MissingConfigFileError):
         conf.load_source(self.test_origin)