1
1
from django .contrib .auth import get_user_model
2
2
from django .test import TestCase
3
3
4
+ from circuits .models import Circuit , CircuitTermination , CircuitType , Provider
4
5
from dcim .choices import *
5
6
from dcim .filtersets import *
6
7
from dcim .models import *
@@ -4714,6 +4715,23 @@ def setUpTestData(cls):
4714
4715
4715
4716
console_port = ConsolePort .objects .create (device = devices [0 ], name = 'Console Port 1' )
4716
4717
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 ])
4717
4735
4718
4736
# Cables
4719
4737
cables = (
@@ -4786,18 +4804,39 @@ def setUpTestData(cls):
4786
4804
length = 20 ,
4787
4805
length_unit = CableLengthUnitChoices .UNIT_METER
4788
4806
),
4807
+
4808
+ # Cables for filtering by termination object
4789
4809
Cable (
4790
4810
a_terminations = [console_port ],
4791
- b_terminations = [console_server_port ],
4792
4811
label = 'Cable 7'
4793
4812
),
4794
-
4795
- # Cable for unterminated test
4796
4813
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'
4801
4840
),
4802
4841
)
4803
4842
for cable in cables :
@@ -4825,7 +4864,7 @@ def test_type(self):
4825
4864
4826
4865
def test_status (self ):
4827
4866
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 )
4829
4868
params = {'status' : [LinkStatusChoices .STATUS_PLANNED ]}
4830
4869
self .assertEqual (self .filterset (params , self .queryset ).qs .count (), 3 )
4831
4870
@@ -4840,30 +4879,30 @@ def test_description(self):
4840
4879
def test_device (self ):
4841
4880
devices = Device .objects .all ()[:2 ]
4842
4881
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 )
4844
4883
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 )
4846
4885
4847
4886
def test_rack (self ):
4848
4887
racks = Rack .objects .all ()[:2 ]
4849
4888
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 )
4851
4890
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 )
4853
4892
4854
4893
def test_location (self ):
4855
4894
locations = Location .objects .all ()[:2 ]
4856
4895
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 )
4858
4897
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 )
4860
4899
4861
4900
def test_site (self ):
4862
4901
site = Site .objects .all ()[:2 ]
4863
4902
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 )
4865
4904
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 )
4867
4906
4868
4907
def test_tenant (self ):
4869
4908
tenant = Tenant .objects .all ()[:2 ]
@@ -4875,8 +4914,8 @@ def test_tenant(self):
4875
4914
def test_termination_types (self ):
4876
4915
params = {'termination_a_type' : 'dcim.consoleport' }
4877
4916
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)
4880
4919
4881
4920
def test_termination_ids (self ):
4882
4921
interface_ids = CableTermination .objects .filter (
@@ -4891,9 +4930,41 @@ def test_termination_ids(self):
4891
4930
4892
4931
def test_unterminated (self ):
4893
4932
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 )
4895
4934
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 )
4897
4968
4898
4969
4899
4970
class PowerPanelTestCase (TestCase , ChangeLoggedFilterSetTests ):
0 commit comments