@@ -50,16 +50,20 @@ def find_scenarios(scenario_pattern: str) -> Sequence[Tuple[str, dict, dict, dic
50
50
return scenarios
51
51
52
52
53
- def create_resource (svc : MockExternalServices , resource : dict , extra_data : dict = None ) -> DResource :
53
+ def create_resource (svc : MockExternalServices ,
54
+ resource : dict ,
55
+ include_config : bool = False ,
56
+ extra_data : dict = None ) -> DResource :
54
57
"""Creates a resource instance (subclass of DResource)."""
55
58
module = importlib .import_module (resource ["module" ])
56
59
resource_type : Callable [[dict , ExternalServices ], DResource ] = getattr (module , resource ["class" ])
57
60
data = {"name" : resource ["name" ] if 'name' in resource else 'test' ,
58
61
"type" : resource ["class" ],
59
62
"version" : resource ["version" ] if "version" in resource else "0.0.0" ,
60
63
"verbose" : resource ["verbose" ] if 'verbose' in resource else True ,
61
- "workspace" : "/workspace" ,
62
- "config" : resource ["config" ]}
64
+ "workspace" : "/workspace" }
65
+ if include_config :
66
+ data .update ({"config" : resource ["config" ]})
63
67
if extra_data is not None :
64
68
data .update (extra_data )
65
69
return resource_type (data , svc )
@@ -102,9 +106,9 @@ def test_resources(capsys, description: str, mock: dict, resource: dict, expecte
102
106
# test "state" action, and read its result from stdout
103
107
if 'exception' in expected :
104
108
with pytest .raises (eval (expected ['exception' ]), match = expected ["match" ] if 'match' in expected else r'.*' ):
105
- create_resource (svc = mock_services , resource = resource ).execute (['state' ])
109
+ create_resource (svc = mock_services , resource = resource , include_config = True ).execute (['state' ])
106
110
else :
107
- create_resource (svc = mock_services , resource = resource ).execute (['state' ])
111
+ create_resource (svc = mock_services , resource = resource , include_config = True ).execute (['state' ])
108
112
state = json .loads (capsys .readouterr ().out )
109
113
assert state == expected
110
114
@@ -113,4 +117,7 @@ def test_resources(capsys, description: str, mock: dict, resource: dict, expecte
113
117
for action in state ["actions" ]:
114
118
extra_data : dict = {'staleState' : state ['staleState' ] if 'staleState' in state else {}}
115
119
args = action ['args' ] if 'args' in action else []
116
- create_resource (svc = mock_services , resource = resource , extra_data = extra_data ).execute (args )
120
+ create_resource (svc = mock_services ,
121
+ resource = resource ,
122
+ include_config = True ,
123
+ extra_data = extra_data ).execute (args )
0 commit comments