From b6a785d24ab69471cd810cb9a008b01d75088c2e Mon Sep 17 00:00:00 2001 From: Arthur Hanson Date: Tue, 25 Jun 2024 11:46:36 -0700 Subject: [PATCH] 12826 fix tests --- netbox/dcim/graphql/filters.py | 7 +++++++ netbox/dcim/graphql/schema.py | 5 +++++ netbox/dcim/graphql/types.py | 10 ++++++++++ netbox/dcim/models/racks.py | 4 ++-- netbox/dcim/tests/test_views.py | 2 +- 5 files changed, 25 insertions(+), 3 deletions(-) diff --git a/netbox/dcim/graphql/filters.py b/netbox/dcim/graphql/filters.py index 2ae5e7771..8c256aecb 100644 --- a/netbox/dcim/graphql/filters.py +++ b/netbox/dcim/graphql/filters.py @@ -38,6 +38,7 @@ __all__ = ( 'RackFilter', 'RackReservationFilter', 'RackRoleFilter', + 'RackTypeFilter', 'RearPortFilter', 'RearPortTemplateFilter', 'RegionFilter', @@ -234,6 +235,12 @@ class PowerPortTemplateFilter(BaseFilterMixin): pass +@strawberry_django.filter(models.RackType, lookups=True) +@autotype_decorator(filtersets.RackTypeFilterSet) +class RackTypeFilter(BaseFilterMixin): + pass + + @strawberry_django.filter(models.Rack, lookups=True) @autotype_decorator(filtersets.RackFilterSet) class RackFilter(BaseFilterMixin): diff --git a/netbox/dcim/graphql/schema.py b/netbox/dcim/graphql/schema.py index c3962a87a..713a63778 100644 --- a/netbox/dcim/graphql/schema.py +++ b/netbox/dcim/graphql/schema.py @@ -159,6 +159,11 @@ class DCIMQuery: return models.PowerPortTemplate.objects.get(id=id) power_port_template_list: List[PowerPortTemplateType] = strawberry_django.field() + @strawberry.field + def rack_type(self, id: int) -> RackTypeType: + return models.RackType.objects.get(id=id) + rack_type_list: List[RackTypeType] = strawberry_django.field() + @strawberry.field def rack(self, id: int) -> RackType: return models.Rack.objects.get(id=id) diff --git a/netbox/dcim/graphql/types.py b/netbox/dcim/graphql/types.py index 8b4613f14..94f953386 100644 --- a/netbox/dcim/graphql/types.py +++ b/netbox/dcim/graphql/types.py @@ -50,6 +50,7 @@ __all__ = ( 'RackType', 'RackReservationType', 'RackRoleType', + 'RackTypeType', 'RearPortType', 'RearPortTemplateType', 'RegionType', @@ -606,6 +607,15 @@ class PowerPortTemplateType(ModularComponentTemplateType): poweroutlet_templates: List[Annotated["PowerOutletTemplateType", strawberry.lazy('dcim.graphql.types')]] +@strawberry_django.type( + models.RackType, + fields='__all__', + filters=RackTypeFilter +) +class RackTypeType(ImageAttachmentsMixin, NetBoxObjectType): + _name: str + + @strawberry_django.type( models.Rack, fields='__all__', diff --git a/netbox/dcim/models/racks.py b/netbox/dcim/models/racks.py index b4292dbc1..99a5b42d4 100644 --- a/netbox/dcim/models/racks.py +++ b/netbox/dcim/models/racks.py @@ -129,8 +129,8 @@ class RackType(ImageAttachmentsMixin, PrimaryModel, WeightMixin): class Meta: ordering = ('_name', 'pk') # (site, location, name) may be non-unique - verbose_name = _('racktype') - verbose_name_plural = _('racktypes') + verbose_name = _('rack type') + verbose_name_plural = _('rack types') def __str__(self): return self.name diff --git a/netbox/dcim/tests/test_views.py b/netbox/dcim/tests/test_views.py index 7b1f8a261..52c859d0f 100644 --- a/netbox/dcim/tests/test_views.py +++ b/netbox/dcim/tests/test_views.py @@ -370,7 +370,7 @@ class RackTypeTestCase(ViewTestCases.PrimaryObjectViewTestCase): cls.csv_data = ( "name,width,u_height,weight,max_weight,weight_unit", - ",Rack 4,19,42,100,2000,kg", + "Rack 4,19,42,100,2000,kg", "Rack 5,19,42,100,2000,kg", "Rack 6,19,42,100,2000,kg", )