@@ -289,7 +289,31 @@ def test_invalid_object_state_using_q_objects_and_wrong_additional_attributes_re
289289
290290 self .assertEqual (response .status_code , status .HTTP_400_BAD_REQUEST )
291291
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 ):
293317 """Test searching for device using q parameter."""
294318 query_parameters = {
295319 "q" : self .devices [0 ].name ,
@@ -300,7 +324,15 @@ def test_common_user_with_permissions_get_device_state(self):
300324 response = self .client .get (self .url , query_parameters , ** self .user_header )
301325 self .assertEqual (response .status_code , status .HTTP_200_OK )
302326
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 ):
304336 """Test searching for interface using q parameter."""
305337 query_parameters = {
306338 "q" : self .interfaces [0 ].name ,
@@ -312,10 +344,19 @@ def test_common_user_with_permissions_get_interface_state(self):
312344 response = self .client .get (self .url , query_parameters , ** self .user_header )
313345 self .assertEqual (response .status_code , status .HTTP_200_OK )
314346
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 ):
316357 """Test searching for ip using q parameter."""
317358 query_parameters = {
318- "q" : self .ip_addresses [0 ].address .ip ,
359+ "q" : self .ip_addresses [0 ].address .__str__ () ,
319360 "object_type" : "ipam.ipaddress" ,
320361 "interface" : self .interfaces [0 ].id ,
321362 "interface__device" : self .devices [0 ].id ,
@@ -324,3 +365,17 @@ def test_common_user_with_permissions_get_ip_state(self):
324365
325366 response = self .client .get (self .url , query_parameters , ** self .user_header )
326367 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