aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorxando <sebastian.pawlus@gmail.com>2014-07-10 13:54:45 +0200
committerxando <sebastian.pawlus@gmail.com>2014-07-10 13:54:45 +0200
commit87d504ff8960e39b0d84ca1ee34dfc0e7cd1ba42 (patch)
tree7e8695a74dae3fc396db94491a78e77ed0099d11
parente64a93a08a6748ad9296102748544d7145d98a48 (diff)
moving serializers around
-rw-r--r--testmanager/testmanualrunner/views.py8
-rw-r--r--testmanager/testreporter/views.py19
-rw-r--r--testmanager/testrunner/serializers.py48
-rw-r--r--testmanager/testrunner/views.py25
4 files changed, 61 insertions, 39 deletions
diff --git a/testmanager/testmanualrunner/views.py b/testmanager/testmanualrunner/views.py
index 921ef86..d6d1230 100644
--- a/testmanager/testmanualrunner/views.py
+++ b/testmanager/testmanualrunner/views.py
@@ -6,16 +6,14 @@ from rest_framework import serializers
from rest_framework.views import APIView
from rest_framework.response import Response
-
from testmanager.testmanualrunner import models
from testmanager.testrunner import models as testrunner_models
-from testmanager.testrunner import views as testrunner_views
-
from testmanager.views import LoginRequiredMixin
+from testmanager.testrunner.serializers import BugSerializer
class TestRunResultSerializer(serializers.ModelSerializer):
- bugs = testrunner_views.BugSerializer(many=True, read_only=True)
+ bugs = BugSerializer(many=True, read_only=True)
class Meta:
model = models.TestRunResult
@@ -89,7 +87,7 @@ class TestRunResultBug(LoginRequiredMixin, APIView):
action = request.DATA.pop('action')
test_run_result = models.TestRunResult.objects.get(pk=pk)
bug, _ = testrunner_models.Bug.objects.get_or_create(**request.DATA)
- data = testrunner_views.BugSerializer(bug).data
+ data = BugSerializer(bug).data
if action == "add":
test_run_result.bugs.add(bug)
diff --git a/testmanager/testreporter/views.py b/testmanager/testreporter/views.py
index 5082100..10dba6f 100644
--- a/testmanager/testreporter/views.py
+++ b/testmanager/testreporter/views.py
@@ -16,21 +16,18 @@
# You should have received a copy of the GNU Affero General Public License
# along with Testmanager. If not, see <http://www.gnu.org/licenses/>.
-# Create your views here.
from django.views.generic import TemplateView
-from rest_framework import serializers
from rest_framework.views import APIView
from rest_framework.response import Response
-from testmanager.testrunner.models import JenkinsBuild, LavaJob, LavaJobResult, Tag
-from testmanager.testrunner import views as testrunner_views
from testmanager.views import LoginRequiredMixin
-
-
-class BuildSerializer(serializers.ModelSerializer):
- class Meta:
- model = JenkinsBuild
+from testmanager.testrunner.models import (
+ JenkinsBuild, LavaJob, LavaJobResult, Tag
+)
+from testmanager.testrunner.serializers import (
+ BuildSerializer, TagSerializer, LavaJobSerializer
+)
class Base(LoginRequiredMixin, TemplateView):
@@ -56,7 +53,7 @@ class Report_View(LoginRequiredMixin, APIView):
return Response({
"builds": BuildSerializer(builds).data,
- "tag": testrunner_views.TagSerializer(tag).data,
- "lava_jobs": testrunner_views.LavaJobSerializer(lava_jobs).data,
+ "tag": TagSerializer(tag).data,
+ "lava_jobs": LavaJobSerializer(lava_jobs).data,
"lava_results": automatic_tests_results
})
diff --git a/testmanager/testrunner/serializers.py b/testmanager/testrunner/serializers.py
new file mode 100644
index 0000000..f7877d6
--- /dev/null
+++ b/testmanager/testrunner/serializers.py
@@ -0,0 +1,48 @@
+# Copyright (C) 2014 Linaro Limited
+#
+# Author: Milosz Wasilewski <milosz.wasilewski@linaro.org>
+#
+# This file is part of Testmanager.
+#
+# Testmanager is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License version 3
+# as published by the Free Software Foundation
+#
+# Testmanager is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with Testmanager. If not, see <http://www.gnu.org/licenses/>.
+
+
+from rest_framework import serializers
+from testmanager.testrunner import models
+
+
+class BuildSerializer(serializers.ModelSerializer):
+ class Meta:
+ model = models.JenkinsBuild
+
+
+class TagSerializer(serializers.ModelSerializer):
+ builds = serializers.PrimaryKeyRelatedField(many=True, read_only=True)
+
+ class Meta:
+ model = models.Tag
+
+
+class LavaJobSerializer(serializers.ModelSerializer):
+ class Meta:
+ model = models.LavaJob
+
+
+class BugSerializer(serializers.ModelSerializer):
+ data = serializers.SerializerMethodField('get_data')
+
+ class Meta:
+ model = models.Bug
+
+ def get_data(self, obj):
+ return obj.get_bug()
diff --git a/testmanager/testrunner/views.py b/testmanager/testrunner/views.py
index 0d725d8..29363c2 100644
--- a/testmanager/testrunner/views.py
+++ b/testmanager/testrunner/views.py
@@ -35,6 +35,7 @@ from testmanager.testrunner.models import (
Bug
)
from testmanager.testrunner.forms import ResultComparisonForm
+from testmanager.testrunner.serializers import TagSerializer
from testmanager.testmanualrunner.models import TestStatus
from testmanager.views import LoginRequiredMixin
@@ -122,33 +123,11 @@ def compare_results(request):
return HttpResponseRedirect(request.META['HTTP_REFERER'])
-from rest_framework import generics, serializers
+from rest_framework import generics
from rest_framework.views import APIView
from rest_framework.response import Response
-class TagSerializer(serializers.ModelSerializer):
- builds = serializers.PrimaryKeyRelatedField(many=True, read_only=True)
-
- class Meta:
- model = Tag
-
-
-class BugSerializer(serializers.ModelSerializer):
- data = serializers.SerializerMethodField('get_data')
-
- class Meta:
- model = Bug
-
- def get_data(self, obj):
- return obj.get_bug()
-
-
-class LavaJobSerializer(serializers.ModelSerializer):
- class Meta:
- model = LavaJob
-
-
class Tag_ListCreate_View(LoginRequiredMixin, generics.ListCreateAPIView):
serializer_class = TagSerializer
model = Tag