Skip to content

Commit 12ed2e5

Browse files
committed
adding support for mock
1 parent ddc9e95 commit 12ed2e5

File tree

5 files changed

+125
-29
lines changed

5 files changed

+125
-29
lines changed

cloudify_configuration/tests/test_tasks.py

Lines changed: 26 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,19 +15,38 @@
1515
from mock import MagicMock, patch
1616

1717
from cloudify.state import current_ctx
18-
from cloudify.mocks import MockCloudifyContext
18+
from cloudify.mocks import MockNodeContext, MockCloudifyContext
1919

2020
from .. import tasks
2121

2222

23+
class MockNodeCtx(MockNodeContext):
24+
25+
def __init__(self, *_, **__):
26+
super().__init__(*_, **__)
27+
28+
@property
29+
def type_hierarchy(self):
30+
return [self._type, 'cloudify.nodes.Root']
31+
32+
33+
class MockCtx(MockCloudifyContext):
34+
def __init__(self, *_, **kwargs):
35+
super().__init__(*_, **kwargs)
36+
node_name = kwargs.get('node_name')
37+
properties = kwargs.get('properties')
38+
node_type = kwargs.get('node_type')
39+
self._node = MockNodeCtx(node_name, properties, node_type)
40+
41+
2342
class TestTasks(unittest.TestCase):
2443

2544
def tearDown(self):
2645
current_ctx.clear()
2746
super(TestTasks, self).tearDown()
2847

2948
def test_load_configuration(self):
30-
_ctx = MockCloudifyContext(
49+
_ctx = MockCtx(
3150
'node_name',
3251
properties={},
3352
runtime_properties={}
@@ -41,7 +60,7 @@ def test_load_configuration(self):
4160
})
4261

4362
def test_load_json_configuration(self):
44-
_ctx = MockCloudifyContext(
63+
_ctx = MockCtx(
4564
'node_name',
4665
properties={},
4766
runtime_properties={}
@@ -55,7 +74,7 @@ def test_load_json_configuration(self):
5574
})
5675

5776
def test_load_configuration_can_merge_dicts(self):
58-
_ctx = MockCloudifyContext(
77+
_ctx = MockCtx(
5978
'node_name',
6079
properties={},
6180
runtime_properties={
@@ -92,20 +111,20 @@ def test_load_configuration_can_merge_dicts(self):
92111
})
93112

94113
def test_load_configuration_to_runtime_properties(self):
95-
_source_ctx = MockCloudifyContext(
114+
_source_ctx = MockCtx(
96115
'source_name',
97116
properties={'params_list': ['a', 'c'],
98117
'params': {'a': 'e', 'c': 'g'}},
99118
runtime_properties={
100119
'params': {'a': 'n', 'c': 'g'}
101120
}
102121
)
103-
_target_ctx = MockCloudifyContext(
122+
_target_ctx = MockCtx(
104123
'source_name',
105124
properties={},
106125
runtime_properties={}
107126
)
108-
_ctx = MockCloudifyContext(
127+
_ctx = MockCtx(
109128
deployment_id='relationship_name',
110129
properties={},
111130
source=_source_ctx,

cloudify_rest/tests/test_plugin.py

Lines changed: 30 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -19,18 +19,37 @@
1919
from mock import MagicMock, patch
2020
import logging
2121

22-
from cloudify.exceptions import RecoverableError, NonRecoverableError
23-
from cloudify.mocks import MockCloudifyContext
22+
from cloudify_rest import tasks
23+
2424
from cloudify.state import current_ctx
2525
from cloudify.manager import DirtyTrackingDict
26+
from cloudify.mocks import MockNodeContext, MockCloudifyContext
27+
from cloudify.exceptions import RecoverableError, NonRecoverableError
2628

27-
from cloudify_rest import tasks
29+
30+
class MockNodeCtx(MockNodeContext):
31+
32+
def __init__(self, *_, **__):
33+
super().__init__(*_, **__)
34+
35+
@property
36+
def type_hierarchy(self):
37+
return [self._type, 'cloudify.nodes.Root']
38+
39+
40+
class MockC1oudifyContext(MockCloudifyContext):
41+
def __init__(self, *_, **kwargs):
42+
super().__init__(*_, **kwargs)
43+
node_name = kwargs.get('node_name')
44+
properties = kwargs.get('properties')
45+
node_type = kwargs.get('node_type')
46+
self._node = MockNodeCtx(node_name, properties, node_type)
2847

2948

3049
class TestPlugin(unittest.TestCase):
3150

3251
def test_execute_mock_sdk(self):
33-
_ctx = MockCloudifyContext('node_name',
52+
_ctx = MockC1oudifyContext('node_name',
3453
properties={'hosts': ['--fake.cake--',
3554
'test123.test'],
3655
'port': -1,
@@ -88,7 +107,7 @@ def test_execute_mock_sdk(self):
88107
prerender=None, resource_callback=_ctx.get_resource)
89108

90109
def test_execute_bunch_http_no_exception(self):
91-
_ctx = MockCloudifyContext('node_name',
110+
_ctx = MockC1oudifyContext('node_name',
92111
properties={'hosts': ['--fake.cake--',
93112
'test123.test'],
94113
'port': -1,
@@ -150,7 +169,7 @@ def _match_request_text(request):
150169
'owner0': {'colour': 'black', 'name': 'book'}})
151170

152171
def test_execute_http_no_exception(self):
153-
_ctx = MockCloudifyContext('node_name',
172+
_ctx = MockC1oudifyContext('node_name',
154173
properties={'hosts': ['--fake.cake--',
155174
'test123.test'],
156175
'port': -1,
@@ -206,7 +225,7 @@ def _match_request_text(request):
206225
'owner0': {'colour': 'black', 'name': 'book'}})
207226

208227
def test_execute_https_port_reco(self):
209-
_ctx = MockCloudifyContext('node_name',
228+
_ctx = MockC1oudifyContext('node_name',
210229
properties={'host': 'test123.test',
211230
'port': 12345,
212231
'ssl': 'true',
@@ -229,7 +248,7 @@ def test_execute_https_port_reco(self):
229248
'defined as recoverable' in str(context.exception))
230249

231250
def test_execute_overwrite_host_response_expecation(self):
232-
_ctx = MockCloudifyContext('node_name',
251+
_ctx = MockC1oudifyContext('node_name',
233252
properties={'hosts': ['test123.test'],
234253
'port': 12345,
235254
'ssl': 'true',
@@ -260,7 +279,7 @@ def test_execute_overwrite_host_response_expecation(self):
260279
str(context.exception))
261280

262281
def test_execute_nonrecoverable_response(self):
263-
_ctx = MockCloudifyContext('node_name',
282+
_ctx = MockC1oudifyContext('node_name',
264283
properties={'hosts': ['test123.test'],
265284
'port': 12345,
266285
'ssl': 'true',
@@ -289,7 +308,7 @@ def test_execute_nonrecoverable_response(self):
289308
str(context.exception))
290309

291310
def test_execute_http_xml(self):
292-
_ctx = MockCloudifyContext('node_name',
311+
_ctx = MockC1oudifyContext('node_name',
293312
properties={'hosts': ['test123.test'],
294313
'port': -1,
295314
'ssl': False,
@@ -318,7 +337,7 @@ def test_execute_http_xml(self):
318337
'CPUID': 'ABS:FFF222777'})
319338

320339
def test_execute_jinja_block_parse(self):
321-
_ctx = MockCloudifyContext('node_name',
340+
_ctx = MockC1oudifyContext('node_name',
322341
properties={'hosts': ['test123.test'],
323342
'port': -1,
324343
'ssl': False,

cloudify_rest/tests/test_tasks.py

Lines changed: 25 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,31 @@
1818

1919
from cloudify.state import current_ctx
2020
from cloudify.manager import DirtyTrackingDict
21-
from cloudify.mocks import MockCloudifyContext
21+
from cloudify.mocks import MockNodeContext, MockCloudifyContext
2222
from cloudify.exceptions import NonRecoverableError
2323

2424
from cloudify_common_sdk._compat import PY2
2525

26+
27+
class MockNodeCtx(MockNodeContext):
28+
29+
def __init__(self, *_, **__):
30+
super().__init__(*_, **__)
31+
32+
@property
33+
def type_hierarchy(self):
34+
return [self._type, 'cloudify.nodes.Root']
35+
36+
37+
class MockC1oudifyContext(MockCloudifyContext):
38+
def __init__(self, *_, **kwargs):
39+
super().__init__(*_, **kwargs)
40+
node_name = kwargs.get('node_name')
41+
properties = kwargs.get('properties')
42+
node_type = kwargs.get('node_type')
43+
self._node = MockNodeCtx(node_name, properties, node_type)
44+
45+
2646
from .. import tasks
2747

2848
TEMPLATE = """
@@ -38,7 +58,7 @@ def tearDown(self):
3858
super(TestTasks, self).tearDown()
3959

4060
def _gen_ctx(self):
41-
_ctx = MockCloudifyContext(
61+
_ctx = MockC1oudifyContext(
4262
'node_name',
4363
properties={},
4464
)
@@ -129,17 +149,17 @@ def test_execute_mock_sdk(self):
129149
retry_count=1, retry_sleep=15)
130150

131151
def test_execute_as_relationship(self):
132-
_source_ctx = MockCloudifyContext(
152+
_source_ctx = MockC1oudifyContext(
133153
'source_name',
134154
properties={},
135155
runtime_properties={}
136156
)
137-
_target_ctx = MockCloudifyContext(
157+
_target_ctx = MockC1oudifyContext(
138158
'target_name',
139159
properties={},
140160
runtime_properties={}
141161
)
142-
_ctx = MockCloudifyContext(
162+
_ctx = MockC1oudifyContext(
143163
"execution_id",
144164
target=_target_ctx,
145165
source=_source_ctx

cloudify_ssh_key/tests/test_key.py

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
# Third Party Imports
2323
from cloudify.state import current_ctx
2424
from cloudify.manager import DirtyTrackingDict
25-
from cloudify.mocks import MockCloudifyContext
25+
from cloudify.mocks import MockNodeContext, MockCloudifyContext
2626
from cloudify_rest_client.secrets import Secret
2727
from cloudify.exceptions import NonRecoverableError
2828
from cloudify_rest_client.exceptions import CloudifyClientError
@@ -34,6 +34,25 @@
3434
from cloudify_common_sdk._compat import PY2
3535

3636

37+
class MockNodeCtx(MockNodeContext):
38+
39+
def __init__(self, *_, **__):
40+
super().__init__(*_, **__)
41+
42+
@property
43+
def type_hierarchy(self):
44+
return [self._type, 'cloudify.nodes.Root']
45+
46+
47+
class MockCtx(MockCloudifyContext):
48+
def __init__(self, *_, **kwargs):
49+
super().__init__(*_, **kwargs)
50+
node_name = kwargs.get('node_name')
51+
properties = kwargs.get('properties')
52+
node_type = kwargs.get('node_type')
53+
self._node = MockNodeCtx(node_name, properties, node_type)
54+
55+
3756
class TestKey(testtools.TestCase):
3857

3958
def setUp(self):
@@ -77,7 +96,7 @@ def mock_ctx(self, test_name, use_secret_store=False,
7796
},
7897
}
7998

80-
ctx = MockCloudifyContext(
99+
ctx = MockCtx(
81100
node_id=test_node_id,
82101
properties=test_properties
83102
)

cloudify_terminal/tests/test_tasks.py

Lines changed: 23 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
PropertyMock)
2222

2323
from cloudify.state import current_ctx
24-
from cloudify.mocks import MockCloudifyContext
24+
from cloudify.mocks import MockNodeContext, MockCloudifyContext
2525
from cloudify.exceptions import (
2626
NonRecoverableError, RecoverableError, OperationRetry
2727
)
@@ -32,14 +32,33 @@
3232
from cloudify_common_sdk import exceptions
3333

3434

35+
class MockNodeCtx(MockNodeContext):
36+
37+
def __init__(self, *_, **__):
38+
super().__init__(*_, **__)
39+
40+
@property
41+
def type_hierarchy(self):
42+
return [self._type, 'cloudify.nodes.Root']
43+
44+
45+
class MockC1oudifyContext(MockCloudifyContext):
46+
def __init__(self, *_, **kwargs):
47+
super().__init__(*_, **kwargs)
48+
node_name = kwargs.get('node_name')
49+
properties = kwargs.get('properties')
50+
node_type = kwargs.get('node_type')
51+
self._node = MockNodeCtx(node_name, properties, node_type)
52+
53+
3554
class TestTasks(unittest.TestCase):
3655

3756
def tearDown(self):
3857
current_ctx.clear()
3958
super(TestTasks, self).tearDown()
4059

4160
def _gen_ctx(self):
42-
_ctx = MockCloudifyContext(
61+
_ctx = MockC1oudifyContext(
4362
'node_name',
4463
properties={},
4564
)
@@ -52,14 +71,14 @@ def _gen_ctx(self):
5271
return _ctx
5372

5473
def _gen_relation_ctx(self):
55-
_target_ctx = MockCloudifyContext(
74+
_target_ctx = MockC1oudifyContext(
5675
'node_name',
5776
properties={},
5877
runtime_properties={}
5978
)
6079
_target_ctx.instance.host_ip = None
6180

62-
_ctx = MockCloudifyContext(
81+
_ctx = MockC1oudifyContext(
6382
target=_target_ctx
6483
)
6584
_ctx._execution_id = "execution_id"

0 commit comments

Comments
 (0)