diff --git a/netbox/netbox/graphql/schema.py b/netbox/netbox/graphql/schema.py index 0899bd564..dcb1107e1 100644 --- a/netbox/netbox/graphql/schema.py +++ b/netbox/netbox/graphql/schema.py @@ -3,12 +3,14 @@ import graphene from circuits.graphql.schema import CircuitsQuery from extras.graphql.schema import ExtrasQuery from ipam.graphql.schema import IPAMQuery +from tenancy.graphql.schema import TenancyQuery class Query( CircuitsQuery, ExtrasQuery, IPAMQuery, + TenancyQuery, graphene.ObjectType ): pass diff --git a/netbox/tenancy/graphql/__init__.py b/netbox/tenancy/graphql/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/netbox/tenancy/graphql/schema.py b/netbox/tenancy/graphql/schema.py new file mode 100644 index 000000000..5a2f7438b --- /dev/null +++ b/netbox/tenancy/graphql/schema.py @@ -0,0 +1,12 @@ +import graphene + +from netbox.graphql.fields import ObjectField, ObjectListField +from .types import * + + +class TenancyQuery(graphene.ObjectType): + tenant = ObjectField(TenantType) + tenants = ObjectListField(TenantType) + + tenant_group = ObjectField(TenantGroupType) + tenant_groups = ObjectListField(TenantGroupType) diff --git a/netbox/tenancy/graphql/types.py b/netbox/tenancy/graphql/types.py new file mode 100644 index 000000000..ca8e839d8 --- /dev/null +++ b/netbox/tenancy/graphql/types.py @@ -0,0 +1,23 @@ +from tenancy import filtersets, models +from netbox.graphql.types import ObjectType, TaggedObjectType + +__all__ = ( + 'TenantType', + 'TenantGroupType', +) + + +class TenantType(ObjectType): + + class Meta: + model = models.Tenant + fields = '__all__' + filterset_class = filtersets.TenantFilterSet + + +class TenantGroupType(TaggedObjectType): + + class Meta: + model = models.TenantGroup + fields = '__all__' + filterset_class = filtersets.TenantGroupFilterSet diff --git a/netbox/tenancy/tests/test_api.py b/netbox/tenancy/tests/test_api.py index 5a3c2c1b0..1777f204a 100644 --- a/netbox/tenancy/tests/test_api.py +++ b/netbox/tenancy/tests/test_api.py @@ -14,7 +14,7 @@ class AppTest(APITestCase): self.assertEqual(response.status_code, 200) -class TenantGroupTest(APIViewTestCases.APIViewTestCase): +class TenantGroupTest(APIViewTestCases.GraphQLTestCase, APIViewTestCases.APIViewTestCase): model = TenantGroup brief_fields = ['_depth', 'display', 'id', 'name', 'slug', 'tenant_count', 'url'] bulk_update_data = { @@ -52,7 +52,7 @@ class TenantGroupTest(APIViewTestCases.APIViewTestCase): ] -class TenantTest(APIViewTestCases.APIViewTestCase): +class TenantTest(APIViewTestCases.GraphQLTestCase, APIViewTestCases.APIViewTestCase): model = Tenant brief_fields = ['display', 'id', 'name', 'slug', 'url'] bulk_update_data = {