Tests cleanup

This commit is contained in:
jeremystretch 2022-05-13 16:23:44 -04:00
parent 1b593384e5
commit 906c3dca8b
6 changed files with 28 additions and 25 deletions

View File

@ -68,15 +68,15 @@ class PathEndpointMixin(object):
break
# Serialize each object
serializer_a = get_serializer_for_model(near_end, prefix='Nested')
x = serializer_a(near_end, context={'request': request}).data
serializer_a = get_serializer_for_model(near_end[0], prefix='Nested')
x = serializer_a(near_end, many=True, context={'request': request}).data
if cable is not None:
y = serializers.TracedCableSerializer(cable, context={'request': request}).data
y = serializers.TracedCableSerializer(cable[0], context={'request': request}).data
else:
y = None
if far_end is not None:
serializer_b = get_serializer_for_model(far_end, prefix='Nested')
z = serializer_b(far_end, context={'request': request}).data
serializer_b = get_serializer_for_model(far_end[0], prefix='Nested')
z = serializer_b(far_end, many=True, context={'request': request}).data
else:
z = None
@ -745,13 +745,13 @@ class ConnectedDeviceViewSet(ViewSet):
device=peer_device,
name=peer_interface_name
)
endpoint = peer_interface.connected_endpoint
endpoints = peer_interface.connected_endpoints
# If an Interface, return the parent device
if type(endpoint) is Interface:
if endpoints and type(endpoints[0]) is Interface:
device = get_object_or_404(
Device.objects.restrict(request.user, 'view'),
pk=endpoint.device_id
pk=endpoints[0].device_id
)
return Response(serializers.DeviceSerializer(device, context={'request': request}).data)

View File

@ -11,7 +11,7 @@ __all__ = (
)
class CableTerminationColumn(tables.TemplateColumn):
class CableTerminationsColumn(tables.TemplateColumn):
def __init__(self, cable_end, *args, **kwargs):
template_code = """
@ -24,7 +24,7 @@ class CableTerminationColumn(tables.TemplateColumn):
super().__init__(template_code=template_code, *args, **kwargs)
def value(self, value):
return ', '.join(value.all())
return ', '.join([str(t.termination) for t in value.all()])
#
@ -56,15 +56,17 @@ class CableTable(NetBoxTable):
# linkify=True,
# verbose_name='Rack B'
# )
a_terminations = CableTerminationColumn(
a_terminations = CableTerminationsColumn(
cable_end='A',
accessor=Accessor('terminations'),
orderable=False
orderable=False,
verbose_name='A Side'
)
b_terminations = CableTerminationColumn(
b_terminations = CableTerminationsColumn(
cable_end='B',
accessor=Accessor('terminations'),
orderable=False
orderable=False,
verbose_name='B Side'
)
status = columns.ChoiceFieldColumn()
tenant = TenantColumn()

View File

@ -55,9 +55,9 @@ class Mixins:
self.assertHttpStatus(response, status.HTTP_200_OK)
self.assertEqual(len(response.data), 1)
segment1 = response.data[0]
self.assertEqual(segment1[0]['name'], obj.name)
self.assertEqual(segment1[0][0]['name'], obj.name)
self.assertEqual(segment1[1]['label'], cable.label)
self.assertEqual(segment1[2]['name'], peer_obj.name)
self.assertEqual(segment1[2][0]['name'], peer_obj.name)
class RegionTest(APIViewTestCases.APIViewTestCase):

View File

@ -3668,7 +3668,10 @@ class CableTestCase(TestCase, ChangeLoggedFilterSetTests):
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 1)
def test_termination_ids(self):
interface_ids = Cable.objects.values_list('termination_a_id', flat=True)[:3]
interface_ids = CableTermination.objects.filter(
cable__in=Cable.objects.all()[:3],
cable_end='A'
).values_list('termination_id', flat=True)
params = {
'termination_a_type': 'dcim.interface',
'termination_a_id': list(interface_ids),

View File

@ -501,12 +501,10 @@ class CableTestCase(TestCase):
"""
When a new Cable is created, it must be cached on either termination point.
"""
interface1 = Interface.objects.get(pk=self.interface1.pk)
interface2 = Interface.objects.get(pk=self.interface2.pk)
self.assertEqual(self.cable.termination_a, interface1)
self.assertEqual(interface1._link_peer, interface2)
self.assertEqual(self.cable.termination_b, interface2)
self.assertEqual(interface2._link_peer, interface1)
self.interface1.refresh_from_db()
self.interface2.refresh_from_db()
self.assertEqual(self.interface1._link_peer, self.interface2)
self.assertEqual(self.interface2._link_peer, self.interface1)
def test_cable_deletion(self):
"""

View File

@ -2883,14 +2883,14 @@ class CableBulkImportView(generic.BulkImportView):
class CableBulkEditView(generic.BulkEditView):
queryset = Cable.objects.prefetch_related('termination_a', 'termination_b')
queryset = Cable.objects.prefetch_related('terminations')
filterset = filtersets.CableFilterSet
table = tables.CableTable
form = forms.CableBulkEditForm
class CableBulkDeleteView(generic.BulkDeleteView):
queryset = Cable.objects.prefetch_related('termination_a', 'termination_b')
queryset = Cable.objects.prefetch_related('terminations')
filterset = filtersets.CableFilterSet
table = tables.CableTable