def test_raises_exception_if_file_is_not_valid_json(self): import json self.mock_file.read.return_value = self.faker.sentence() with self.assertRaises(json.JSONDecodeError): load_parameters()
def test_logs_nothing_if_log_parameters_false(self): import json from foundations.job_parameters import flatten_parameter_dictionary self.mock_file.read.return_value = json.dumps( self.mock_nested_parameters) load_parameters(log_parameters=False) self.mock_log_param.assert_not_called()
def test_logs_nested_params_from_file_after_flattening(self): import json from foundations.job_parameters import flatten_parameter_dictionary self.mock_file.read.return_value = json.dumps( self.mock_nested_parameters) load_parameters() for param_key, param_value in flatten_parameter_dictionary( self.mock_nested_parameters).items(): self.mock_log_param.assert_any_call(param_key, param_value)
def test_logs_params_from_file(self): load_parameters() for param_key, param_value in self.mock_parameters.items(): self.mock_log_param.assert_any_call(param_key, param_value)
def test_returns_default_of_empty_dict_if_file_is_empty(self): self.mock_file.read.return_value = '' self.assertEqual({}, load_parameters())
def test_returns_default_of_empty_dict_if_file_not_found(self): mock_open = self.patch('builtins.open') mock_open.side_effect = FileNotFoundError('beep') self.assertEqual({}, load_parameters())
def test_can_load_json_parameters(self): self.assertEqual(self.mock_parameters, load_parameters())