1+ """Tests for brief parameter validation and behavior."""
2+
3+ from unittest .mock import patch
4+
5+ from server import netbox_get_object_by_id , netbox_get_objects
6+
7+
8+ @patch ("server.netbox" )
9+ def test_brief_false_omits_parameter_get_objects (mock_netbox ):
10+ """When brief=False (default), should not include brief in API params for netbox_get_objects."""
11+ mock_netbox .get .return_value = {"count" : 0 , "results" : [], "next" : None , "previous" : None }
12+
13+ netbox_get_objects .fn (object_type = "sites" , filters = {}, brief = False )
14+
15+ call_args = mock_netbox .get .call_args
16+ params = call_args [1 ]["params" ]
17+
18+ # brief should not be in params when False
19+ assert "brief" not in params
20+
21+
22+ @patch ("server.netbox" )
23+ def test_brief_default_omits_parameter_get_objects (mock_netbox ):
24+ """When brief not specified (uses default False), should not include brief in API params."""
25+ mock_netbox .get .return_value = {"count" : 0 , "results" : [], "next" : None , "previous" : None }
26+
27+ netbox_get_objects .fn (object_type = "sites" , filters = {})
28+
29+ call_args = mock_netbox .get .call_args
30+ params = call_args [1 ]["params" ]
31+
32+ # brief should not be in params when using default
33+ assert "brief" not in params
34+
35+
36+ @patch ("server.netbox" )
37+ def test_brief_true_includes_parameter_get_objects (mock_netbox ):
38+ """When brief=True, should pass 'brief': '1' to API params for netbox_get_objects."""
39+ mock_netbox .get .return_value = {"count" : 0 , "results" : [], "next" : None , "previous" : None }
40+
41+ netbox_get_objects .fn (object_type = "sites" , filters = {}, brief = True )
42+
43+ call_args = mock_netbox .get .call_args
44+ params = call_args [1 ]["params" ]
45+
46+ assert params ["brief" ] == "1"
47+
48+
49+ @patch ("server.netbox" )
50+ def test_brief_false_omits_parameter_get_by_id (mock_netbox ):
51+ """When brief=False (default), should not include brief in API params for netbox_get_object_by_id."""
52+ mock_netbox .get .return_value = {"id" : 1 , "name" : "Test Site" }
53+
54+ netbox_get_object_by_id .fn (object_type = "sites" , object_id = 1 , brief = False )
55+
56+ call_args = mock_netbox .get .call_args
57+ params = call_args [1 ]["params" ]
58+
59+ # brief should not be in params when False
60+ assert "brief" not in params
61+
62+
63+ @patch ("server.netbox" )
64+ def test_brief_default_omits_parameter_get_by_id (mock_netbox ):
65+ """When brief not specified (uses default False), should not include brief in API params."""
66+ mock_netbox .get .return_value = {"id" : 1 , "name" : "Test Site" }
67+
68+ netbox_get_object_by_id .fn (object_type = "sites" , object_id = 1 )
69+
70+ call_args = mock_netbox .get .call_args
71+ params = call_args [1 ]["params" ]
72+
73+ # brief should not be in params when using default
74+ assert "brief" not in params
75+
76+
77+ @patch ("server.netbox" )
78+ def test_brief_true_includes_parameter_get_by_id (mock_netbox ):
79+ """When brief=True, should pass 'brief': '1' to API params for netbox_get_object_by_id."""
80+ mock_netbox .get .return_value = {"id" : 1 , "url" : "http://example.com/api/dcim/sites/1/" }
81+
82+ netbox_get_object_by_id .fn (object_type = "sites" , object_id = 1 , brief = True )
83+
84+ call_args = mock_netbox .get .call_args
85+ params = call_args [1 ]["params" ]
86+
87+ assert params ["brief" ] == "1"
0 commit comments