Esempio n. 1
0
    def test_configuration_raises_invalid_class_error_if_required_class_does_not_exist(
            self, data_key, data_driver, mock_config_list, mock_load):
        mock_config = DataProviders._get_config_for_test_with_invalid_classes()
        mock_load.return_value = None
        self.tearDown()

        mock_config_list.return_value = [self._path]
        Configuration._configuration = mock_config

        with self.assertRaises(InvalidClassError):
            config = Configuration(filename='config_sections.json')
            config.validate_config([data_key])
        mock_load.assert_called_once_with()
Esempio n. 2
0
    def test_configuration_raises_requried_key_error_if_required_config_is_not_found(
            self, data_key, data_driver, mock_config_list, mock_load,
            mock_parser):
        mock_config = DataProviders._get_config_for_test_without_report(
            manager=data_driver, reporting=data_driver)
        mock_config_list.return_value = [self._path]
        Configuration._configuration = mock_config

        driver = data_driver if data_key != 'reporting' else 'report'
        with self.assertRaisesRegexp(RequiredKeyError,
                                     '.*\'<root>[./]?{0}\'.*'.format(driver)):
            config = Configuration(filename='config_missing.json')
            config.validate_config([data_key])
        mock_load.assert_called_once_with()
Esempio n. 3
0
    def test_manager_loading_returns_true_if_required_is_valid(
            self, data_key, data_driver, mock_config_list, mock_load):
        mock_config = DataProviders._get_config_for_test(manager=data_driver,
                                                         reporting=data_driver)
        mock_load.return_value = None
        self.tearDown()

        mock_config_list.return_value = [self._path]
        Configuration._configuration = mock_config
        Configuration.NAMESPACE = 'tests.mocks'

        config = Configuration(filename='config_sections.json')
        config.validate_config([data_key])
        mock_load.assert_called_once_with()
        self.assertEquals(data_driver, getattr(config, data_key))
Esempio n. 4
0
    def test_config_getattr_method(self, data_key, data_driver,
                                   mock_config_list, mock_load):
        mock_config = DataProviders._get_config_for_test(manager=data_driver,
                                                         reporting=data_driver)
        mock_load.return_value = None
        self.tearDown()

        mock_config_list.return_value = [self._path]
        Configuration._configuration = mock_config
        Configuration.NAMESPACE = 'tests.mocks'

        config = Configuration(filename='config_sections.json')
        config.check = True
        required_elements = [data_key]
        config.validate_config(required_elements)
        mock_load.assert_called_once_with()
        self.assertTrue(config.check)
        with self.assertRaises(AttributeError):
            config.iamnothere
Esempio n. 5
0
 def test_configuration_calls_validation_once_config_is_loaded(
         self, data_key, data_driver, mock_config_list, mock_load):
     mock_config = DataProviders._get_config_for_test()
     mock_config_list.return_value = [self._path]
     mock_load.return_value = None
     self.tearDown()
     Configuration._configuration = mock_config
     required_elements = [data_key]
     config = Configuration(filename='config_sections.json')
     mock_load.assert_called_once_with()
     with patch('pyccata.core.configuration.Configuration.{0}'.format(
             data_key),
                new_callable=PropertyMock) as mock_manager:
         mock_manager.return_value = object()
         self.assertTrue(config.validate_config(required_elements))
         mock_manager.assert_called_with(data_driver)