@@ -289,7 +289,31 @@ def test_invalid_object_state_using_q_objects_and_wrong_additional_attributes_re
289
289
290
290
self .assertEqual (response .status_code , status .HTTP_400_BAD_REQUEST )
291
291
292
- def test_common_user_with_permissions_get_device_state (self ):
292
+ def test_common_user_with_permissions_get_ip_state_using_id (self ):
293
+ """Test searching for ip using id."""
294
+ query_parameters = {
295
+ "id" : self .ip_addresses [0 ].id ,
296
+ "object_type" : "ipam.ipaddress" ,
297
+ }
298
+
299
+ response = self .client .get (self .url , query_parameters , ** self .user_header )
300
+ self .assertEqual (response .status_code , status .HTTP_200_OK )
301
+
302
+ self .assertEqual (response .json ().get ("object_type" ), "ipam.ipaddress" )
303
+ self .assertEqual (
304
+ response .json ().get ("object" ).get ("address" ),
305
+ self .ip_addresses [0 ].address .__str__ (),
306
+ )
307
+ self .assertEqual (
308
+ response .json ()
309
+ .get ("object" )
310
+ .get ("assigned_object" )
311
+ .get ("interface" )
312
+ .get ("name" ),
313
+ self .interfaces [0 ].name ,
314
+ )
315
+
316
+ def test_common_user_with_permissions_get_device_state_using_q_objects (self ):
293
317
"""Test searching for device using q parameter."""
294
318
query_parameters = {
295
319
"q" : self .devices [0 ].name ,
@@ -300,7 +324,15 @@ def test_common_user_with_permissions_get_device_state(self):
300
324
response = self .client .get (self .url , query_parameters , ** self .user_header )
301
325
self .assertEqual (response .status_code , status .HTTP_200_OK )
302
326
303
- def test_common_user_with_permissions_get_interface_state (self ):
327
+ self .assertEqual (response .json ().get ("object_type" ), "dcim.device" )
328
+ self .assertEqual (
329
+ response .json ().get ("object" ).get ("name" ), self .devices [0 ].name
330
+ )
331
+ self .assertEqual (
332
+ response .json ().get ("object" ).get ("site" ).get ("name" ), self .sites [0 ].name
333
+ )
334
+
335
+ def test_common_user_with_permissions_get_interface_state_using_q_objects (self ):
304
336
"""Test searching for interface using q parameter."""
305
337
query_parameters = {
306
338
"q" : self .interfaces [0 ].name ,
@@ -312,10 +344,19 @@ def test_common_user_with_permissions_get_interface_state(self):
312
344
response = self .client .get (self .url , query_parameters , ** self .user_header )
313
345
self .assertEqual (response .status_code , status .HTTP_200_OK )
314
346
315
- def test_common_user_with_permissions_get_ip_state (self ):
347
+ self .assertEqual (response .json ().get ("object_type" ), "dcim.interface" )
348
+ self .assertEqual (
349
+ response .json ().get ("object" ).get ("name" ), self .interfaces [0 ].name
350
+ )
351
+ self .assertEqual (
352
+ response .json ().get ("object" ).get ("device" ).get ("name" ),
353
+ self .devices [0 ].name ,
354
+ )
355
+
356
+ def test_common_user_with_permissions_get_ip_state_using_q_objects (self ):
316
357
"""Test searching for ip using q parameter."""
317
358
query_parameters = {
318
- "q" : self .ip_addresses [0 ].address .ip ,
359
+ "q" : self .ip_addresses [0 ].address .__str__ () ,
319
360
"object_type" : "ipam.ipaddress" ,
320
361
"interface" : self .interfaces [0 ].id ,
321
362
"interface__device" : self .devices [0 ].id ,
@@ -324,3 +365,17 @@ def test_common_user_with_permissions_get_ip_state(self):
324
365
325
366
response = self .client .get (self .url , query_parameters , ** self .user_header )
326
367
self .assertEqual (response .status_code , status .HTTP_200_OK )
368
+
369
+ self .assertEqual (response .json ().get ("object_type" ), "ipam.ipaddress" )
370
+ self .assertEqual (
371
+ response .json ().get ("object" ).get ("address" ),
372
+ self .ip_addresses [0 ].address .__str__ (),
373
+ )
374
+ self .assertEqual (
375
+ response .json ()
376
+ .get ("object" )
377
+ .get ("assigned_object" )
378
+ .get ("interface" )
379
+ .get ("name" ),
380
+ self .interfaces [0 ].name ,
381
+ )
0 commit comments