~larry-e-works/uci-engine/amqp-to-kombu

« back to all changes in this revision

Viewing changes to ticket_system/ticket/tests/test_full_read_api.py

  • Committer: Joe Talbott
  • Date: 2014-01-27 14:54:08 UTC
  • mfrom: (126.3.8 webui)
  • mto: This revision was merged to the branch mainline in revision 161.
  • Revision ID: joe.talbott@canonical.com-20140127145408-zpubebx02y6oumxq
merge doanac's cleanup branch

Show diffs side-by-side

added added

removed removed

Lines of Context:
14
14
# along with this program.  If not, see <http://www.gnu.org/licenses/>.
15
15
 
16
16
from model_mommy import mommy
 
17
from model_mommy.recipe import Recipe, seq
17
18
from ci_utils.tastypie.test import TastypieTestCase
 
19
from project.models import SourcePackage
18
20
from ticket.models import (get_enum_title, SubTicketWorkflowStep,
19
21
                           SubTicketWorkflowStepStatus, TicketWorkflowStep,
20
22
                           TicketWorkflowStepStatus)
21
23
 
 
24
sourcepackage_recipe = Recipe(SourcePackage, name=seq('foobar'))
 
25
 
22
26
 
23
27
class TicketFullReadAPITest(TastypieTestCase):
24
28
 
25
29
    def setUp(self):
26
30
        super(TicketFullReadAPITest, self).setUp('/api/v1')
27
31
        self.ticket = mommy.make('Ticket')
28
 
        self.sourcepackage = mommy.make('SourcePackage')
 
32
        self.sourcepackage = sourcepackage_recipe.make()
29
33
        self.spu = mommy.make('SourcePackageUpload',
30
34
                              sourcepackage=self.sourcepackage)
31
35
        self.subticket = mommy.make('SubTicket', ticket=self.ticket,
32
36
                                    source_package_upload=self.spu)
33
 
        self.artifact = mommy.make('Artifact', subticket=self.subticket)
34
 
        self.maxDiff = None
 
37
        self.artifact_1 = mommy.make('TicketArtifact', ticket=self.ticket)
 
38
        self.artifact_2 = mommy.make('SubTicketArtifact',
 
39
                                     subticket=self.subticket)
35
40
 
36
41
    def test_get_fullticket_api(self):
37
42
        obj = self.getResource('fullticket/')
38
43
        self.assertEqual(obj['objects'][0], {
39
 
            u'status': get_enum_title(self.ticket.status,
40
 
                                      TicketWorkflowStepStatus),
41
 
            u'current_workflow_step': get_enum_title(
42
 
                self.ticket.current_workflow_step, TicketWorkflowStep),
 
44
            u'added_binaries': self.ticket.added_binaries,
 
45
            u'artifact': [{
 
46
                u'resource_uri': u'/api/v1/fullticketartifact/{0}/'.format(
 
47
                    self.artifact_1.pk),
 
48
                u'type': unicode(self.artifact_1.type),
 
49
                u'id': self.artifact_1.pk,
 
50
                u'reference': unicode(self.artifact_1.reference),
 
51
                u'name': unicode(self.artifact_1.name)}],
 
52
            u'status': unicode(get_enum_title(self.ticket.status,
 
53
                               TicketWorkflowStepStatus)),
 
54
            u'current_workflow_step': unicode(get_enum_title(
 
55
                self.ticket.current_workflow_step, TicketWorkflowStep)),
43
56
            u'description': unicode(self.ticket.description),
44
57
            u'title': unicode(self.ticket.title),
45
58
            u'subticket': [{
46
 
                u'status': get_enum_title(self.subticket.status,
47
 
                                          SubTicketWorkflowStepStatus),
48
 
                u'current_workflow_step': get_enum_title(
 
59
                u'status': unicode(get_enum_title(self.subticket.status,
 
60
                                   SubTicketWorkflowStepStatus)),
 
61
                u'current_workflow_step': unicode(get_enum_title(
49
62
                    self.subticket.current_workflow_step,
50
 
                    SubTicketWorkflowStep),
 
63
                    SubTicketWorkflowStep)),
51
64
                u'artifact': [{
52
 
                    u'resource_uri': u'/api/v1/fullartifact/{0}/'.format(
53
 
                        self.artifact.pk),
54
 
                    u'type': unicode(self.artifact.type),
55
 
                    u'id': self.artifact.pk,
56
 
                    u'reference': unicode(self.artifact.reference),
57
 
                    u'name': unicode(self.artifact.name)}],
 
65
                    u'resource_uri':
 
66
                    u'/api/v1/fullsubticketartifact/{0}/'.format(
 
67
                        self.artifact_2.pk),
 
68
                    u'type': unicode(self.artifact_2.type),
 
69
                    u'id': self.artifact_2.pk,
 
70
                    u'reference': unicode(self.artifact_2.reference),
 
71
                    u'name': unicode(self.artifact_2.name)}],
58
72
                u'assignee': unicode(self.subticket.assignee),
59
73
                u'source_package_upload': {
60
74
                    u'version': unicode(self.spu.version),
78
92
            u'resource_uri': u'/api/v1/fullticket/{0}/'.format(self.ticket.pk),
79
93
            u'updated': unicode(self.ticket.updated.strftime(
80
94
                "%Y-%m-%dT%H:%M:%S.%f")),
81
 
            u'added_binaries': self.ticket.added_binaries,
82
95
            u'removed_binaries': self.ticket.removed_binaries,
83
96
        })
84
97
 
85
 
    def test_get_fullartifact_api(self):
86
 
        obj = self.getResource('fullartifact/')
87
 
        self.assertEqual(obj['objects'][0], {
88
 
            u'resource_uri': u'/api/v1/fullartifact/{0}/'.format(
89
 
                self.artifact.pk),
90
 
            u'type': unicode(self.artifact.type),
91
 
            u'id': self.artifact.pk,
92
 
            u'reference': unicode(self.artifact.reference),
93
 
            u'name': unicode(self.artifact.name),
 
98
    def test_get_fullticketartifact_api(self):
 
99
        obj = self.getResource('fullticketartifact/')
 
100
        self.assertEqual(obj['objects'][0], {
 
101
            u'resource_uri': u'/api/v1/fullticketartifact/{0}/'.format(
 
102
                self.artifact_1.pk),
 
103
            u'type': unicode(self.artifact_1.type),
 
104
            u'id': self.artifact_1.pk,
 
105
            u'reference': unicode(self.artifact_1.reference),
 
106
            u'name': unicode(self.artifact_1.name),
 
107
        })
 
108
 
 
109
    def test_get_fullsubticketartifact_api(self):
 
110
        obj = self.getResource('fullsubticketartifact/')
 
111
        self.assertEqual(obj['objects'][0], {
 
112
            u'resource_uri': u'/api/v1/fullsubticketartifact/{0}/'.format(
 
113
                self.artifact_2.pk),
 
114
            u'type': unicode(self.artifact_2.type),
 
115
            u'id': self.artifact_2.pk,
 
116
            u'reference': unicode(self.artifact_2.reference),
 
117
            u'name': unicode(self.artifact_2.name),
94
118
        })
95
119
 
96
120
    def test_get_fullsubticket_api(self):
97
121
        obj = self.getResource('fullsubticket/')
98
122
        self.assertEqual(obj['objects'][0], {
99
 
            u'status': get_enum_title(self.subticket.status,
100
 
                                      SubTicketWorkflowStepStatus),
101
 
            u'current_workflow_step': get_enum_title(
 
123
            u'status': unicode(get_enum_title(self.subticket.status,
 
124
                                              SubTicketWorkflowStepStatus)),
 
125
            u'current_workflow_step': unicode(get_enum_title(
102
126
                self.subticket.current_workflow_step,
103
 
                SubTicketWorkflowStep),
 
127
                SubTicketWorkflowStep)),
104
128
            u'artifact': [{
105
 
                u'resource_uri': u'/api/v1/fullartifact/{0}/'.format(
106
 
                    self.artifact.pk),
107
 
                u'type': unicode(self.artifact.type),
108
 
                u'id': self.artifact.pk,
109
 
                u'reference': unicode(self.artifact.reference),
110
 
                u'name': unicode(self.artifact.name)}],
 
129
                u'resource_uri': u'/api/v1/fullsubticketartifact/{0}/'.format(
 
130
                    self.artifact_2.pk),
 
131
                u'type': unicode(self.artifact_2.type),
 
132
                u'id': self.artifact_2.pk,
 
133
                u'reference': unicode(self.artifact_2.reference),
 
134
                u'name': unicode(self.artifact_2.name)}],
111
135
            u'assignee': unicode(self.subticket.assignee),
112
136
            u'source_package_upload': {
113
137
                u'version': unicode(self.spu.version),
140
164
            'Ticket', current_workflow_step=int(TicketWorkflowStep.QUEUED))
141
165
        self.ticket_4 = mommy.make(
142
166
            'Ticket', current_workflow_step=int(TicketWorkflowStep.COMPLETED))
143
 
        self.sourcepackage = mommy.make('SourcePackage')
 
167
        self.sourcepackage = sourcepackage_recipe.make()
144
168
        self.spu = mommy.make('SourcePackageUpload',
145
169
                              sourcepackage=self.sourcepackage)
146
170
        self.subticket_1 = mommy.make('SubTicket', ticket=self.ticket_1,
147
171
                                      source_package_upload=self.spu)
148
 
        self.artifact_1 = mommy.make('Artifact', subticket=self.subticket_1)
 
172
        self.artifact_1 = mommy.make('SubTicketArtifact',
 
173
                                     subticket=self.subticket_1)
149
174
        self.subticket_2 = mommy.make('SubTicket', ticket=self.ticket_2,
150
175
                                      source_package_upload=self.spu)
151
 
        self.artifact_2 = mommy.make('Artifact', subticket=self.subticket_2)
 
176
        self.artifact_2 = mommy.make('SubTicketArtifact',
 
177
                                     subticket=self.subticket_2)
152
178
        self.subticket_3 = mommy.make('SubTicket', ticket=self.ticket_3,
153
179
                                      source_package_upload=self.spu)
154
 
        self.artifact_3 = mommy.make('Artifact', subticket=self.subticket_3)
 
180
        self.artifact_3 = mommy.make('SubTicketArtifact',
 
181
                                     subticket=self.subticket_3)
155
182
        self.subticket_4 = mommy.make('SubTicket', ticket=self.ticket_4,
156
183
                                      source_package_upload=self.spu)
157
 
        self.artifact_4 = mommy.make('Artifact', subticket=self.subticket_4)
 
184
        self.artifact_4 = mommy.make('SubTicketArtifact',
 
185
                                     subticket=self.subticket_4)
158
186
 
159
187
    def test_queued_ticket_next(self):
160
188
        obj = self.getResource('next/')