Initial commit of PassiveTest
Change-Id: Idcd9a0c72df5eae6b4eedc544e473ebc9763ccdb
(cherry picked from commit 9062322cffd03d2c56b66d040ad13bc562bb6544)
diff --git a/xos/api/tenant/passivetesttenant.py b/xos/api/tenant/passivetesttenant.py
new file mode 100644
index 0000000..21c9b1a
--- /dev/null
+++ b/xos/api/tenant/passivetesttenant.py
@@ -0,0 +1,39 @@
+from rest_framework.response import Response
+from rest_framework import serializers
+from api.xosapi_helpers import PlusModelSerializer, XOSViewSet, ReadOnlyField
+
+from services.passivetest.models import PassiveTestTenant, PassiveTestService
+
+def get_default_passivetest_service():
+ passivetest_services = PassiveTestService.get_service_objects().all()
+ if passivetest_services:
+ return passivetest_services[0]
+ return None
+
+class PassiveTestTenantSerializer(PlusModelSerializer):
+ id = ReadOnlyField()
+ provider_service = serializers.PrimaryKeyRelatedField(queryset=PassiveTestService.get_service_objects().all(), default=get_default_passivetest_service)
+ backend_status = ReadOnlyField()
+
+ humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
+
+ class Meta:
+ model = PassiveTestTenant
+ fields = ('humanReadableName', 'id', 'provider_service', 'backend_status')
+
+ def getHumanReadableName(self, obj):
+ return obj.__unicode__()
+
+class PassiveTestTenantViewSet(XOSViewSet):
+ base_name = "passivetesttenant"
+ method_name = "passivetesttenant"
+ method_kind = "viewset"
+ queryset = PassiveTestTenant.get_tenant_objects().all()
+ serializer_class = PassiveTestTenantSerializer
+
+
+ def list(self, request):
+ queryset = self.filter_queryset(self.get_queryset())
+ serializer = self.get_serializer(queryset, many=True)
+ return Response(serializer.data)
+