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

Clean up GraphQL object types & tests

This commit is contained in:
jeremystretch
2021-06-29 12:55:17 -04:00
parent 79614ed2cf
commit ef3cb9544a
6 changed files with 88 additions and 11 deletions

View File

@ -45,6 +45,12 @@ class CableType(TaggedObjectType):
fields = '__all__' fields = '__all__'
filterset_class = filtersets.CableFilterSet filterset_class = filtersets.CableFilterSet
def resolve_type(self, info):
return self.type or None
def resolve_length_unit(self, info):
return self.length_unit or None
class ConsolePortType(TaggedObjectType): class ConsolePortType(TaggedObjectType):
@ -53,6 +59,9 @@ class ConsolePortType(TaggedObjectType):
fields = '__all__' fields = '__all__'
filterset_class = filtersets.ConsolePortFilterSet filterset_class = filtersets.ConsolePortFilterSet
def resolve_type(self, info):
return self.type or None
class ConsolePortTemplateType(BaseObjectType): class ConsolePortTemplateType(BaseObjectType):
@ -61,6 +70,9 @@ class ConsolePortTemplateType(BaseObjectType):
fields = '__all__' fields = '__all__'
filterset_class = filtersets.ConsolePortTemplateFilterSet filterset_class = filtersets.ConsolePortTemplateFilterSet
def resolve_type(self, info):
return self.type or None
class ConsoleServerPortType(TaggedObjectType): class ConsoleServerPortType(TaggedObjectType):
@ -69,6 +81,9 @@ class ConsoleServerPortType(TaggedObjectType):
fields = '__all__' fields = '__all__'
filterset_class = filtersets.ConsoleServerPortFilterSet filterset_class = filtersets.ConsoleServerPortFilterSet
def resolve_type(self, info):
return self.type or None
class ConsoleServerPortTemplateType(BaseObjectType): class ConsoleServerPortTemplateType(BaseObjectType):
@ -77,6 +92,9 @@ class ConsoleServerPortTemplateType(BaseObjectType):
fields = '__all__' fields = '__all__'
filterset_class = filtersets.ConsoleServerPortTemplateFilterSet filterset_class = filtersets.ConsoleServerPortTemplateFilterSet
def resolve_type(self, info):
return self.type or None
class DeviceType(TaggedObjectType): class DeviceType(TaggedObjectType):
@ -85,6 +103,9 @@ class DeviceType(TaggedObjectType):
fields = '__all__' fields = '__all__'
filterset_class = filtersets.DeviceFilterSet filterset_class = filtersets.DeviceFilterSet
def resolve_face(self, info):
return self.face or None
class DeviceBayType(TaggedObjectType): class DeviceBayType(TaggedObjectType):
@ -117,6 +138,9 @@ class DeviceTypeType(TaggedObjectType):
fields = '__all__' fields = '__all__'
filterset_class = filtersets.DeviceTypeFilterSet filterset_class = filtersets.DeviceTypeFilterSet
def resolve_subdevice_role(self, info):
return self.subdevice_role or None
class FrontPortType(TaggedObjectType): class FrontPortType(TaggedObjectType):
@ -141,6 +165,9 @@ class InterfaceType(TaggedObjectType):
fields = '__all__' fields = '__all__'
filterset_class = filtersets.InterfaceFilterSet filterset_class = filtersets.InterfaceFilterSet
def resolve_mode(self, info):
return self.mode or None
class InterfaceTemplateType(BaseObjectType): class InterfaceTemplateType(BaseObjectType):
@ -150,7 +177,7 @@ class InterfaceTemplateType(BaseObjectType):
filterset_class = filtersets.InterfaceTemplateFilterSet filterset_class = filtersets.InterfaceTemplateFilterSet
class InventoryItemType(ObjectType): class InventoryItemType(TaggedObjectType):
class Meta: class Meta:
model = models.InventoryItem model = models.InventoryItem
@ -158,7 +185,7 @@ class InventoryItemType(ObjectType):
filterset_class = filtersets.InventoryItemFilterSet filterset_class = filtersets.InventoryItemFilterSet
class LocationType(TaggedObjectType): class LocationType(ObjectType):
class Meta: class Meta:
model = models.Location model = models.Location
@ -197,6 +224,12 @@ class PowerOutletType(TaggedObjectType):
fields = '__all__' fields = '__all__'
filterset_class = filtersets.PowerOutletFilterSet filterset_class = filtersets.PowerOutletFilterSet
def resolve_feed_leg(self, info):
return self.feed_leg or None
def resolve_type(self, info):
return self.type or None
class PowerOutletTemplateType(BaseObjectType): class PowerOutletTemplateType(BaseObjectType):
@ -205,6 +238,12 @@ class PowerOutletTemplateType(BaseObjectType):
fields = '__all__' fields = '__all__'
filterset_class = filtersets.PowerOutletTemplateFilterSet filterset_class = filtersets.PowerOutletTemplateFilterSet
def resolve_feed_leg(self, info):
return self.feed_leg or None
def resolve_type(self, info):
return self.type or None
class PowerPanelType(TaggedObjectType): class PowerPanelType(TaggedObjectType):
@ -221,6 +260,9 @@ class PowerPortType(TaggedObjectType):
fields = '__all__' fields = '__all__'
filterset_class = filtersets.PowerPortFilterSet filterset_class = filtersets.PowerPortFilterSet
def resolve_type(self, info):
return self.type or None
class PowerPortTemplateType(BaseObjectType): class PowerPortTemplateType(BaseObjectType):
@ -229,6 +271,9 @@ class PowerPortTemplateType(BaseObjectType):
fields = '__all__' fields = '__all__'
filterset_class = filtersets.PowerPortTemplateFilterSet filterset_class = filtersets.PowerPortTemplateFilterSet
def resolve_type(self, info):
return self.type or None
class RackType(TaggedObjectType): class RackType(TaggedObjectType):
@ -237,6 +282,12 @@ class RackType(TaggedObjectType):
fields = '__all__' fields = '__all__'
filterset_class = filtersets.RackFilterSet filterset_class = filtersets.RackFilterSet
def resolve_type(self, info):
return self.type or None
def resolve_outer_unit(self, info):
return self.outer_unit or None
class RackReservationType(TaggedObjectType): class RackReservationType(TaggedObjectType):

View File

@ -1005,7 +1005,11 @@ class DeviceTest(APIViewTestCases.GraphQLTestCase, APIViewTestCases.APIViewTestC
self.assertHttpStatus(response, status.HTTP_400_BAD_REQUEST) self.assertHttpStatus(response, status.HTTP_400_BAD_REQUEST)
class ConsolePortTest(Mixins.ComponentTraceMixin, APIViewTestCases.APIViewTestCase): class ConsolePortTest(
Mixins.ComponentTraceMixin,
APIViewTestCases.GraphQLTestCase,
APIViewTestCases.APIViewTestCase
):
model = ConsolePort model = ConsolePort
brief_fields = ['_occupied', 'cable', 'device', 'display', 'id', 'name', 'url'] brief_fields = ['_occupied', 'cable', 'device', 'display', 'id', 'name', 'url']
bulk_update_data = { bulk_update_data = {
@ -1044,7 +1048,11 @@ class ConsolePortTest(Mixins.ComponentTraceMixin, APIViewTestCases.APIViewTestCa
] ]
class ConsoleServerPortTest(Mixins.ComponentTraceMixin, APIViewTestCases.APIViewTestCase): class ConsoleServerPortTest(
Mixins.ComponentTraceMixin,
APIViewTestCases.GraphQLTestCase,
APIViewTestCases.APIViewTestCase
):
model = ConsoleServerPort model = ConsoleServerPort
brief_fields = ['_occupied', 'cable', 'device', 'display', 'id', 'name', 'url'] brief_fields = ['_occupied', 'cable', 'device', 'display', 'id', 'name', 'url']
bulk_update_data = { bulk_update_data = {
@ -1083,7 +1091,11 @@ class ConsoleServerPortTest(Mixins.ComponentTraceMixin, APIViewTestCases.APIView
] ]
class PowerPortTest(Mixins.ComponentTraceMixin, APIViewTestCases.APIViewTestCase): class PowerPortTest(
Mixins.ComponentTraceMixin,
APIViewTestCases.GraphQLTestCase,
APIViewTestCases.APIViewTestCase
):
model = PowerPort model = PowerPort
brief_fields = ['_occupied', 'cable', 'device', 'display', 'id', 'name', 'url'] brief_fields = ['_occupied', 'cable', 'device', 'display', 'id', 'name', 'url']
bulk_update_data = { bulk_update_data = {
@ -1122,7 +1134,11 @@ class PowerPortTest(Mixins.ComponentTraceMixin, APIViewTestCases.APIViewTestCase
] ]
class PowerOutletTest(Mixins.ComponentTraceMixin, APIViewTestCases.APIViewTestCase): class PowerOutletTest(
Mixins.ComponentTraceMixin,
APIViewTestCases.GraphQLTestCase,
APIViewTestCases.APIViewTestCase
):
model = PowerOutlet model = PowerOutlet
brief_fields = ['_occupied', 'cable', 'device', 'display', 'id', 'name', 'url'] brief_fields = ['_occupied', 'cable', 'device', 'display', 'id', 'name', 'url']
bulk_update_data = { bulk_update_data = {
@ -1161,7 +1177,11 @@ class PowerOutletTest(Mixins.ComponentTraceMixin, APIViewTestCases.APIViewTestCa
] ]
class InterfaceTest(Mixins.ComponentTraceMixin, APIViewTestCases.APIViewTestCase): class InterfaceTest(
Mixins.ComponentTraceMixin,
APIViewTestCases.GraphQLTestCase,
APIViewTestCases.APIViewTestCase
):
model = Interface model = Interface
brief_fields = ['_occupied', 'cable', 'device', 'display', 'id', 'name', 'url'] brief_fields = ['_occupied', 'cable', 'device', 'display', 'id', 'name', 'url']
bulk_update_data = { bulk_update_data = {

View File

@ -65,7 +65,7 @@ class TagType(BaseObjectType):
class Meta: class Meta:
model = models.Tag model = models.Tag
fields = '__all__' exclude = ('extras_taggeditem_items',)
filterset_class = filtersets.TagFilterSet filterset_class = filtersets.TagFilterSet

View File

@ -30,6 +30,9 @@ class IPAddressType(TaggedObjectType):
fields = '__all__' fields = '__all__'
filterset_class = filtersets.IPAddressFilterSet filterset_class = filtersets.IPAddressFilterSet
def resolve_role(self, info):
return self.role or None
class PrefixType(TaggedObjectType): class PrefixType(TaggedObjectType):

View File

@ -7,7 +7,7 @@ __all__ = (
) )
class TenantType(ObjectType): class TenantType(TaggedObjectType):
class Meta: class Meta:
model = models.Tenant model = models.Tenant
@ -15,7 +15,7 @@ class TenantType(ObjectType):
filterset_class = filtersets.TenantFilterSet filterset_class = filtersets.TenantFilterSet
class TenantGroupType(TaggedObjectType): class TenantGroupType(ObjectType):
class Meta: class Meta:
model = models.TenantGroup model = models.TenantGroup

View File

@ -42,9 +42,12 @@ class VirtualMachineType(TaggedObjectType):
filterset_class = filtersets.VirtualMachineFilterSet filterset_class = filtersets.VirtualMachineFilterSet
class VMInterfaceType(ObjectType): class VMInterfaceType(TaggedObjectType):
class Meta: class Meta:
model = models.VMInterface model = models.VMInterface
fields = '__all__' fields = '__all__'
filterset_class = filtersets.VMInterfaceFilterSet filterset_class = filtersets.VMInterfaceFilterSet
def resolve_mode(self, info):
return self.mode or None