1
0
mirror of https://github.com/netbox-community/netbox.git synced 2024-05-10 07:54:54 +00:00

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 break
# Serialize each object # Serialize each object
serializer_a = get_serializer_for_model(near_end, prefix='Nested') serializer_a = get_serializer_for_model(near_end[0], prefix='Nested')
x = serializer_a(near_end, context={'request': request}).data x = serializer_a(near_end, many=True, context={'request': request}).data
if cable is not None: if cable is not None:
y = serializers.TracedCableSerializer(cable, context={'request': request}).data y = serializers.TracedCableSerializer(cable[0], context={'request': request}).data
else: else:
y = None y = None
if far_end is not None: if far_end is not None:
serializer_b = get_serializer_for_model(far_end, prefix='Nested') serializer_b = get_serializer_for_model(far_end[0], prefix='Nested')
z = serializer_b(far_end, context={'request': request}).data z = serializer_b(far_end, many=True, context={'request': request}).data
else: else:
z = None z = None
@ -745,13 +745,13 @@ class ConnectedDeviceViewSet(ViewSet):
device=peer_device, device=peer_device,
name=peer_interface_name name=peer_interface_name
) )
endpoint = peer_interface.connected_endpoint endpoints = peer_interface.connected_endpoints
# If an Interface, return the parent device # 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 = get_object_or_404(
Device.objects.restrict(request.user, 'view'), Device.objects.restrict(request.user, 'view'),
pk=endpoint.device_id pk=endpoints[0].device_id
) )
return Response(serializers.DeviceSerializer(device, context={'request': request}).data) 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): def __init__(self, cable_end, *args, **kwargs):
template_code = """ template_code = """
@ -24,7 +24,7 @@ class CableTerminationColumn(tables.TemplateColumn):
super().__init__(template_code=template_code, *args, **kwargs) super().__init__(template_code=template_code, *args, **kwargs)
def value(self, value): 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, # linkify=True,
# verbose_name='Rack B' # verbose_name='Rack B'
# ) # )
a_terminations = CableTerminationColumn( a_terminations = CableTerminationsColumn(
cable_end='A', cable_end='A',
accessor=Accessor('terminations'), accessor=Accessor('terminations'),
orderable=False orderable=False,
verbose_name='A Side'
) )
b_terminations = CableTerminationColumn( b_terminations = CableTerminationsColumn(
cable_end='B', cable_end='B',
accessor=Accessor('terminations'), accessor=Accessor('terminations'),
orderable=False orderable=False,
verbose_name='B Side'
) )
status = columns.ChoiceFieldColumn() status = columns.ChoiceFieldColumn()
tenant = TenantColumn() tenant = TenantColumn()

View File

@ -55,9 +55,9 @@ class Mixins:
self.assertHttpStatus(response, status.HTTP_200_OK) self.assertHttpStatus(response, status.HTTP_200_OK)
self.assertEqual(len(response.data), 1) self.assertEqual(len(response.data), 1)
segment1 = response.data[0] 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[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): class RegionTest(APIViewTestCases.APIViewTestCase):

View File

@ -3668,7 +3668,10 @@ class CableTestCase(TestCase, ChangeLoggedFilterSetTests):
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 1) self.assertEqual(self.filterset(params, self.queryset).qs.count(), 1)
def test_termination_ids(self): 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 = { params = {
'termination_a_type': 'dcim.interface', 'termination_a_type': 'dcim.interface',
'termination_a_id': list(interface_ids), '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. When a new Cable is created, it must be cached on either termination point.
""" """
interface1 = Interface.objects.get(pk=self.interface1.pk) self.interface1.refresh_from_db()
interface2 = Interface.objects.get(pk=self.interface2.pk) self.interface2.refresh_from_db()
self.assertEqual(self.cable.termination_a, interface1) self.assertEqual(self.interface1._link_peer, self.interface2)
self.assertEqual(interface1._link_peer, interface2) self.assertEqual(self.interface2._link_peer, self.interface1)
self.assertEqual(self.cable.termination_b, interface2)
self.assertEqual(interface2._link_peer, interface1)
def test_cable_deletion(self): def test_cable_deletion(self):
""" """

View File

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