11from django .contrib .auth import get_user_model
22from django .test import TestCase
33
4+ from circuits .models import Circuit , CircuitTermination , CircuitType , Provider
45from dcim .choices import *
56from dcim .filtersets import *
67from dcim .models import *
@@ -4714,6 +4715,23 @@ def setUpTestData(cls):
47144715
47154716 console_port = ConsolePort .objects .create (device = devices [0 ], name = 'Console Port 1' )
47164717 console_server_port = ConsoleServerPort .objects .create (device = devices [0 ], name = 'Console Server Port 1' )
4718+ power_port = PowerPort .objects .create (device = devices [0 ], name = 'Power Port 1' )
4719+ power_outlet = PowerOutlet .objects .create (device = devices [0 ], name = 'Power Outlet 1' )
4720+ rear_port = RearPort .objects .create (device = devices [0 ], name = 'Rear Port 1' , positions = 1 )
4721+ front_port = FrontPort .objects .create (
4722+ device = devices [0 ],
4723+ name = 'Front Port 1' ,
4724+ rear_port = rear_port ,
4725+ rear_port_position = 1
4726+ )
4727+
4728+ power_panel = PowerPanel .objects .create (name = 'Power Panel 1' , site = sites [0 ])
4729+ power_feed = PowerFeed .objects .create (name = 'Power Feed 1' , power_panel = power_panel )
4730+
4731+ provider = Provider .objects .create (name = 'Provider 1' , slug = 'provider-1' )
4732+ circuit_type = CircuitType .objects .create (name = 'Circuit Type 1' , slug = 'circuit-type-1' )
4733+ circuit = Circuit .objects .create (cid = 'Circuit 1' , provider = provider , type = circuit_type )
4734+ circuit_termination = CircuitTermination .objects .create (circuit = circuit , term_side = 'A' , site = sites [0 ])
47174735
47184736 # Cables
47194737 cables = (
@@ -4786,18 +4804,39 @@ def setUpTestData(cls):
47864804 length = 20 ,
47874805 length_unit = CableLengthUnitChoices .UNIT_METER
47884806 ),
4807+
4808+ # Cables for filtering by termination object
47894809 Cable (
47904810 a_terminations = [console_port ],
4791- b_terminations = [console_server_port ],
47924811 label = 'Cable 7'
47934812 ),
4794-
4795- # Cable for unterminated test
47964813 Cable (
4797- a_terminations = [interfaces [12 ]],
4798- label = 'Cable 8' ,
4799- type = CableTypeChoices .TYPE_CAT6 ,
4800- status = LinkStatusChoices .STATUS_DECOMMISSIONING
4814+ a_terminations = [console_server_port ],
4815+ label = 'Cable 8'
4816+ ),
4817+ Cable (
4818+ a_terminations = [power_port ],
4819+ label = 'Cable 9'
4820+ ),
4821+ Cable (
4822+ a_terminations = [power_outlet ],
4823+ label = 'Cable 10'
4824+ ),
4825+ Cable (
4826+ a_terminations = [front_port ],
4827+ label = 'Cable 11'
4828+ ),
4829+ Cable (
4830+ a_terminations = [rear_port ],
4831+ label = 'Cable 12'
4832+ ),
4833+ Cable (
4834+ a_terminations = [power_feed ],
4835+ label = 'Cable 13'
4836+ ),
4837+ Cable (
4838+ a_terminations = [circuit_termination ],
4839+ label = 'Cable 14'
48014840 ),
48024841 )
48034842 for cable in cables :
@@ -4825,7 +4864,7 @@ def test_type(self):
48254864
48264865 def test_status (self ):
48274866 params = {'status' : [LinkStatusChoices .STATUS_CONNECTED ]}
4828- self .assertEqual (self .filterset (params , self .queryset ).qs .count (), 4 )
4867+ self .assertEqual (self .filterset (params , self .queryset ).qs .count (), 11 )
48294868 params = {'status' : [LinkStatusChoices .STATUS_PLANNED ]}
48304869 self .assertEqual (self .filterset (params , self .queryset ).qs .count (), 3 )
48314870
@@ -4840,30 +4879,30 @@ def test_description(self):
48404879 def test_device (self ):
48414880 devices = Device .objects .all ()[:2 ]
48424881 params = {'device_id' : [devices [0 ].pk , devices [1 ].pk ]}
4843- self .assertEqual (self .filterset (params , self .queryset ).qs .count (), 4 )
4882+ self .assertEqual (self .filterset (params , self .queryset ).qs .count (), 9 )
48444883 params = {'device' : [devices [0 ].name , devices [1 ].name ]}
4845- self .assertEqual (self .filterset (params , self .queryset ).qs .count (), 4 )
4884+ self .assertEqual (self .filterset (params , self .queryset ).qs .count (), 9 )
48464885
48474886 def test_rack (self ):
48484887 racks = Rack .objects .all ()[:2 ]
48494888 params = {'rack_id' : [racks [0 ].pk , racks [1 ].pk ]}
4850- self .assertEqual (self .filterset (params , self .queryset ).qs .count (), 6 )
4889+ self .assertEqual (self .filterset (params , self .queryset ).qs .count (), 11 )
48514890 params = {'rack' : [racks [0 ].name , racks [1 ].name ]}
4852- self .assertEqual (self .filterset (params , self .queryset ).qs .count (), 6 )
4891+ self .assertEqual (self .filterset (params , self .queryset ).qs .count (), 11 )
48534892
48544893 def test_location (self ):
48554894 locations = Location .objects .all ()[:2 ]
48564895 params = {'location_id' : [locations [0 ].pk , locations [1 ].pk ]}
4857- self .assertEqual (self .filterset (params , self .queryset ).qs .count (), 6 )
4896+ self .assertEqual (self .filterset (params , self .queryset ).qs .count (), 11 )
48584897 params = {'location' : [locations [0 ].name , locations [1 ].name ]}
4859- self .assertEqual (self .filterset (params , self .queryset ).qs .count (), 6 )
4898+ self .assertEqual (self .filterset (params , self .queryset ).qs .count (), 11 )
48604899
48614900 def test_site (self ):
48624901 site = Site .objects .all ()[:2 ]
48634902 params = {'site_id' : [site [0 ].pk , site [1 ].pk ]}
4864- self .assertEqual (self .filterset (params , self .queryset ).qs .count (), 6 )
4903+ self .assertEqual (self .filterset (params , self .queryset ).qs .count (), 12 )
48654904 params = {'site' : [site [0 ].slug , site [1 ].slug ]}
4866- self .assertEqual (self .filterset (params , self .queryset ).qs .count (), 6 )
4905+ self .assertEqual (self .filterset (params , self .queryset ).qs .count (), 12 )
48674906
48684907 def test_tenant (self ):
48694908 tenant = Tenant .objects .all ()[:2 ]
@@ -4875,8 +4914,8 @@ def test_tenant(self):
48754914 def test_termination_types (self ):
48764915 params = {'termination_a_type' : 'dcim.consoleport' }
48774916 self .assertEqual (self .filterset (params , self .queryset ).qs .count (), 1 )
4878- params = {'termination_b_type' : 'dcim.consoleserverport' }
4879- self .assertEqual (self .filterset (params , self .queryset ).qs .count (), 1 )
4917+ # params = {'termination_b_type': 'dcim.consoleserverport'}
4918+ # self.assertEqual(self.filterset(params, self.queryset).qs.count(), 1)
48804919
48814920 def test_termination_ids (self ):
48824921 interface_ids = CableTermination .objects .filter (
@@ -4891,9 +4930,41 @@ def test_termination_ids(self):
48914930
48924931 def test_unterminated (self ):
48934932 params = {'unterminated' : True }
4894- self .assertEqual (self .filterset (params , self .queryset ).qs .count (), 1 )
4933+ self .assertEqual (self .filterset (params , self .queryset ).qs .count (), 8 )
48954934 params = {'unterminated' : False }
4896- self .assertEqual (self .filterset (params , self .queryset ).qs .count (), 7 )
4935+ self .assertEqual (self .filterset (params , self .queryset ).qs .count (), 6 )
4936+
4937+ def test_consoleport (self ):
4938+ params = {'consoleport_id' : [ConsolePort .objects .first ().pk ]}
4939+ self .assertEqual (self .filterset (params , self .queryset ).qs .count (), 1 )
4940+
4941+ def test_consoleserverport (self ):
4942+ params = {'consoleserverport_id' : [ConsoleServerPort .objects .first ().pk ]}
4943+ self .assertEqual (self .filterset (params , self .queryset ).qs .count (), 1 )
4944+
4945+ def test_powerport (self ):
4946+ params = {'powerport_id' : [PowerPort .objects .first ().pk ]}
4947+ self .assertEqual (self .filterset (params , self .queryset ).qs .count (), 1 )
4948+
4949+ def test_poweroutlet (self ):
4950+ params = {'poweroutlet_id' : [PowerOutlet .objects .first ().pk ]}
4951+ self .assertEqual (self .filterset (params , self .queryset ).qs .count (), 1 )
4952+
4953+ def test_frontport (self ):
4954+ params = {'frontport_id' : [FrontPort .objects .first ().pk ]}
4955+ self .assertEqual (self .filterset (params , self .queryset ).qs .count (), 1 )
4956+
4957+ def test_rearport (self ):
4958+ params = {'rearport_id' : [RearPort .objects .first ().pk ]}
4959+ self .assertEqual (self .filterset (params , self .queryset ).qs .count (), 1 )
4960+
4961+ def test_powerfeed (self ):
4962+ params = {'powerfeed_id' : [PowerFeed .objects .first ().pk ]}
4963+ self .assertEqual (self .filterset (params , self .queryset ).qs .count (), 1 )
4964+
4965+ def test_circuittermination (self ):
4966+ params = {'circuittermination_id' : [CircuitTermination .objects .first ().pk ]}
4967+ self .assertEqual (self .filterset (params , self .queryset ).qs .count (), 1 )
48974968
48984969
48994970class PowerPanelTestCase (TestCase , ChangeLoggedFilterSetTests ):
0 commit comments