aboutsummaryrefslogtreecommitdiff
path: root/testmanager
diff options
context:
space:
mode:
Diffstat (limited to 'testmanager')
-rw-r--r--testmanager/testmanualrunner/models.py31
-rw-r--r--testmanager/testmanualrunner/serializers.py18
-rw-r--r--testmanager/testplanner/serializers.py8
-rw-r--r--testmanager/testrunner/models.py4
4 files changed, 39 insertions, 22 deletions
diff --git a/testmanager/testmanualrunner/models.py b/testmanager/testmanualrunner/models.py
index 8125144..ae0d35f 100644
--- a/testmanager/testmanualrunner/models.py
+++ b/testmanager/testmanualrunner/models.py
@@ -23,6 +23,9 @@ class TestRun(models.Model):
return ret
+ def get_run_results(self):
+ return self.results.all()
+
def get_bug_count(self):
b = Bug.objects.filter(testrunresult__in=list(self.results.all()))
return b.distinct().count()
@@ -30,21 +33,23 @@ class TestRun(models.Model):
def update_results(self):
test_definition_restuls_ids = self.results\
.values_list('test_definition', flat=True)
- test_definition_ids = self.test_plan.testplantestdefinition_set\
- .values_list('test_definition_id', flat=True)
+ # execute this code only on initial object creation
+ if not test_definition_restuls_ids:
+ test_definition_ids = self.test_plan.testplantestdefinition_set\
+ .values_list('test_definition_id', flat=True)
- for test_definition_id in set(test_definition_ids) - set(test_definition_restuls_ids):
- TestRunResult.objects.create(
- test_run=self,
- test_definition_id=test_definition_id
- )
+ for test_definition_id in set(test_definition_ids) - set(test_definition_restuls_ids):
+ TestRunResult.objects.create(
+ test_run=self,
+ test_definition_id=test_definition_id
+ )
- for test_definition_id in set(test_definition_restuls_ids) - set(test_definition_ids):
- TestRunResult.objects.get(
- test_run=self,
- test_definition_id=test_definition_id
- ).delete()
+ for test_definition_id in set(test_definition_restuls_ids) - set(test_definition_ids):
+ TestRunResult.objects.get(
+ test_run=self,
+ test_definition_id=test_definition_id
+ ).delete()
def save(self, *args, **kwargs):
super(TestRun, self).save(*args, **kwargs)
@@ -57,6 +62,8 @@ class TestRunResult(models.Model):
test_run = models.ForeignKey('TestRun', related_name='results')
test_definition = models.ForeignKey('testplanner.TestDefinition')
+ # add revision field so the proper data is taken into use
+ #test_definition_revision = models.ForeignKey('testplanner.TestDefinitionRevision')
status = models.ForeignKey('TestStatus', null=True, blank=True)
bugs = models.ManyToManyField('testrunner.Bug', blank=True)
diff --git a/testmanager/testmanualrunner/serializers.py b/testmanager/testmanualrunner/serializers.py
index e445268..4d2f958 100644
--- a/testmanager/testmanualrunner/serializers.py
+++ b/testmanager/testmanualrunner/serializers.py
@@ -19,7 +19,7 @@
from rest_framework import serializers
from testmanager.testmanualrunner import models
from testmanager.testrunner.serializers import BugSerializer
-from testmanager.testplanner.serializers import TestPlanSerializer
+from testmanager.testplanner.serializers import TestPlanSimpleSerializer, TestDefinitionSerializer
class TestRunSimpleSerializer(serializers.ModelSerializer):
@@ -29,20 +29,22 @@ class TestRunSimpleSerializer(serializers.ModelSerializer):
model = models.TestRun
+class TestRunResultSerializer(serializers.ModelSerializer):
+ bugs = BugSerializer(many=True, read_only=True)
+ test_definition = TestDefinitionSerializer(read_only=True)
+ class Meta:
+ model = models.TestRunResult
+
+
class TestRunSerializer(serializers.ModelSerializer):
result = serializers.Field(source='get_results')
- test_plan = TestPlanSerializer()
+ results = TestRunResultSerializer(source='get_run_results')
+ test_plan = TestPlanSimpleSerializer(read_only=True)
class Meta:
model = models.TestRun
-class TestRunResultSerializer(serializers.ModelSerializer):
- bugs = BugSerializer(many=True, read_only=True)
- class Meta:
- model = models.TestRunResult
-
-
class TestStatusSerializer(serializers.ModelSerializer):
class Meta:
model = models.TestStatus
diff --git a/testmanager/testplanner/serializers.py b/testmanager/testplanner/serializers.py
index b53b90b..3351a09 100644
--- a/testmanager/testplanner/serializers.py
+++ b/testmanager/testplanner/serializers.py
@@ -25,6 +25,14 @@ class DeviceSerializer(serializers.ModelSerializer):
model = models.Device
+class TestPlanSimpleSerializer(serializers.ModelSerializer):
+ class Meta:
+ model = models.TestPlan
+
+ owner = serializers.RelatedField()
+ device= serializers.RelatedField()
+
+
class TestPlanSerializer(serializers.ModelSerializer):
class Meta:
model = models.TestPlan
diff --git a/testmanager/testrunner/models.py b/testmanager/testrunner/models.py
index 9b5f8fd..4b5d3d1 100644
--- a/testmanager/testrunner/models.py
+++ b/testmanager/testrunner/models.py
@@ -270,8 +270,8 @@ class Bug(models.Model):
try:
buglist = proxy.Bug.get(query_dict)
for bug in buglist['bugs']:
- if bug['id'] == self.alias:
- self.summary = bug['summry']
+ if str(bug['id']) == self.alias:
+ self.summary = bug['summary']
self.status = bug['status']
self.severity = bug['severity']
except: