예제 #1
0
    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()
예제 #2
0
    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()
예제 #3
0
    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)
예제 #4
0
    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)
예제 #5
0
 def test_returns_default_of_empty_dict_if_file_is_empty(self):
     self.mock_file.read.return_value = ''
     self.assertEqual({}, load_parameters())
예제 #6
0
 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())
예제 #7
0
 def test_can_load_json_parameters(self):
     self.assertEqual(self.mock_parameters, load_parameters())