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()
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()
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))
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
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)