コード例 #1
0
    def test_handle_file_value_loads_file_for_reference_with_pattern_containing_pipe(
            self, f, jmespath_search_mock):
        f.return_value = {"a": "b"}

        ParameterResolver.handle_file_value(
            "|file|s3://myBucket/myAwsAccounts.json|a|b", None)
        jmespath_search_mock.assert_called_once_with("a|b", {'a': 'b'})
コード例 #2
0
    def test_handle_file_value_loads_file_for_reference_with_pattern(self, get_yaml_or_json_file_mock):
        get_yaml_or_json_file_mock.return_value = {"accounts": [{"id": 1}, {"id": 2}, {"id": 3}]}

        result = ParameterResolver.handle_file_value("|file|s3://myBucket/myAwsAccounts.json|accounts[*].id", None)

        get_yaml_or_json_file_mock.assert_called_once_with("s3://myBucket/myAwsAccounts.json", None)
        self.assertEqual([1, 2, 3], result)
コード例 #3
0
    def test_handle_file_value_loads_file_for_simple_file_reference(self, get_file_mock):
        get_file_mock.return_value = "myValue"

        result = ParameterResolver.handle_file_value("|file|s3://myBucket/myParameter.txt", None)

        get_file_mock.assert_called_once_with("s3://myBucket/myParameter.txt", None)
        self.assertEqual("myValue", result)
コード例 #4
0
 def test_handle_file_value_raises_exception_on_invalid_macro_syntax(self):
     with self.assertRaises(CfnSphereException):
         ParameterResolver.handle_file_value("|file", None)
コード例 #5
0
 def test_handle_file_value_raises_exception_on_invalid_jmespath_pattern_syntax(self, _):
     with self.assertRaises(CfnSphereException):
         ParameterResolver.handle_file_value("|file|path|broken_pattern{}}", None)
コード例 #6
0
    def test_handle_file_value_loads_file_for_reference_with_pattern_containing_pipe(self, f, jmespath_search_mock):
        f.return_value = {"a": "b"}

        ParameterResolver.handle_file_value("|file|s3://myBucket/myAwsAccounts.json|a|b", None)
        jmespath_search_mock.assert_called_once_with("a|b", {'a': 'b'})