@@ -130,45 +130,17 @@ def test_setup_requests_rest_methods(_, kerb_auth, requests, rest_verb):
130
130
131
131
@patch ("rabbit_consumer.aq_api.setup_requests" )
132
132
@patch ("rabbit_consumer.aq_api.ConsumerConfig" )
133
- def test_aq_make_calls (config , setup , openstack_address_list , image_metadata ):
133
+ def test_aq_make_calls (config , setup , openstack_address_list ):
134
134
"""
135
135
Test that aq_make calls the correct URLs with the correct parameters
136
136
"""
137
137
domain = "domain"
138
138
config .return_value .aq_url = domain
139
139
140
- aq_make (openstack_address_list , image_metadata )
141
-
142
- expected_params = {
143
- "personality" : image_metadata .aq_personality ,
144
- "osversion" : image_metadata .aq_os_version ,
145
- "osname" : image_metadata .aq_os ,
146
- "archetype" : image_metadata .aq_archetype ,
147
- }
140
+ aq_make (openstack_address_list )
148
141
149
142
expected_url = f"{ domain } /host/{ openstack_address_list [0 ].hostname } /command/make"
150
- setup .assert_called_once_with (expected_url , "post" , mock .ANY , expected_params )
151
-
152
-
153
- @pytest .mark .parametrize (
154
- "field_to_blank" ,
155
- [
156
- "aq_personality" ,
157
- "aq_os_version" ,
158
- "aq_os" ,
159
- ],
160
- )
161
- def test_aq_make_missing_fields (field_to_blank , openstack_address_list , image_metadata ):
162
- """
163
- Test that aq_make throws an exception when a required field is missing
164
- """
165
- with pytest .raises (AssertionError ):
166
- setattr (image_metadata , field_to_blank , None )
167
- aq_make (openstack_address_list , image_metadata )
168
-
169
- with pytest .raises (AssertionError ):
170
- setattr (image_metadata , field_to_blank , "" )
171
- aq_make (openstack_address_list , image_metadata )
143
+ setup .assert_called_once_with (expected_url , "post" , mock .ANY )
172
144
173
145
174
146
@pytest .mark .parametrize ("hostname" , [" " , "" , None ])
@@ -185,7 +157,7 @@ def test_aq_make_none_hostname(config, setup, openstack_address, hostname):
185
157
address .hostname = hostname
186
158
187
159
with pytest .raises (ValueError ):
188
- aq_make ([address ], NonCallableMock () )
160
+ aq_make ([address ])
189
161
190
162
setup .assert_not_called ()
191
163
@@ -211,6 +183,30 @@ def test_aq_manage(config, setup, openstack_address_list, image_metadata):
211
183
setup .assert_called_once_with (expected_url , "post" , mock .ANY , params = expected_param )
212
184
213
185
186
+ @patch ("rabbit_consumer.aq_api.setup_requests" )
187
+ @patch ("rabbit_consumer.aq_api.ConsumerConfig" )
188
+ def test_aq_manage_with_sandbox (config , setup , openstack_address_list , image_metadata ):
189
+ """
190
+ Test that aq_manage calls the correct URLs with the sandbox
191
+ instead of the domain
192
+ """
193
+ config .return_value .aq_url = "https://example.com"
194
+
195
+ image_metadata .aq_sandbox = "some_sandbox"
196
+
197
+ aq_manage (openstack_address_list , image_metadata )
198
+ address = openstack_address_list [0 ]
199
+
200
+ expected_param = {
201
+ "hostname" : address .hostname ,
202
+ "sandbox" : image_metadata .aq_sandbox ,
203
+ "force" : True ,
204
+ }
205
+
206
+ expected_url = f"https://example.com/host/{ address .hostname } /command/manage"
207
+ setup .assert_called_once_with (expected_url , "post" , mock .ANY , params = expected_param )
208
+
209
+
214
210
@patch ("rabbit_consumer.aq_api.ConsumerConfig" )
215
211
@patch ("rabbit_consumer.aq_api.setup_requests" )
216
212
def test_aq_create_machine (setup , config , rabbit_message , vm_data ):
@@ -292,7 +288,8 @@ def test_aq_create_host_with_sandbox(
292
288
env_config = config .return_value
293
289
env_config .aq_url = "https://example.com"
294
290
295
- image_metadata .aq_domain = "example/sandbox"
291
+ image_metadata .aq_domain = "example_domain"
292
+ image_metadata .aq_sandbox = "example/sandbox"
296
293
297
294
create_host (image_metadata , openstack_address_list , machine_name )
298
295
address = openstack_address_list [0 ]
@@ -304,7 +301,7 @@ def test_aq_create_host_with_sandbox(
304
301
"personality" : image_metadata .aq_personality ,
305
302
"osname" : image_metadata .aq_os ,
306
303
"osversion" : image_metadata .aq_os_version ,
307
- "sandbox" : image_metadata .aq_domain ,
304
+ "sandbox" : image_metadata .aq_sandbox ,
308
305
}
309
306
310
307
expected_url = f"https://example.com/host/{ address .hostname } "
0 commit comments