2
2
import json
3
3
4
4
from django .test import TestCase
5
+ from django .dispatch import receiver
5
6
from django .db import models
6
7
from django .contrib .contenttypes .models import ContentType
7
8
8
9
from .models import EncodeJob
10
+ from .signals import (
11
+ transcode_init ,
12
+ transcode_onprogress ,
13
+ transcode_onerror ,
14
+ transcode_oncomplete
15
+ )
16
+
9
17
10
18
11
19
PROJECT_ROOT = os .path .dirname (os .path .realpath (__file__ ))
15
23
class Item (models .Model ):
16
24
name = models .CharField (max_length = 100 )
17
25
26
+ # ======================
27
+ # define signal receiver
28
+ # ======================
29
+
30
+ @receiver (transcode_init )
31
+ def encode_init (sender , message , ** kwargs ):
32
+ item = Item .objects .create (name = 'Hello' )
33
+
34
+ ctype = ContentType .objects .get_for_model (item )
35
+
36
+ job = EncodeJob ()
37
+ job .id = message ['Job' ]['Id' ]
38
+ job .content_type = ctype
39
+ job .object_id = item .id
40
+ job .save ()
41
+
42
+
43
+ @receiver (transcode_onprogress )
44
+ def encode_onprogress (sender , message , ** kwargs ):
45
+ job = EncodeJob .objects .get (pk = message ['jobId' ])
46
+ job .message = 'Progress'
47
+ job .state = 1
48
+ job .save ()
49
+
50
+
51
+ @receiver (transcode_onerror )
52
+ def encode_onerror (sender , message , ** kwargs ):
53
+ job = EncodeJob .objects .get (pk = message ['jobId' ])
54
+ job .message = message ['messageDetails' ]
55
+ job .state = 2
56
+ job .save ()
57
+
58
+
59
+ @receiver (transcode_oncomplete )
60
+ def job_record (sender , message , ** kwargs ):
61
+ job = EncodeJob .objects .get (pk = message ['jobId' ])
62
+ job .message = 'Success'
63
+ job .state = 4
64
+ job .save ()
65
+
18
66
19
67
class SNSNotificationTest (TestCase ):
20
68
urls = 'dj_elastictranscoder.urls'
@@ -51,7 +99,7 @@ def test_onerror(self):
51
99
self .assertEqual (resp .content , 'Done' )
52
100
53
101
job = EncodeJob .objects .get (id = self .job_id )
54
- self .assertEqual (job .state , 3 )
102
+ self .assertEqual (job .state , 2 )
55
103
56
104
57
105
def test_oncomplete (self ):
@@ -66,14 +114,6 @@ def test_oncomplete(self):
66
114
self .assertEqual (job .state , 4 )
67
115
68
116
69
- from .signals import (
70
- transcode_init ,
71
- transcode_onprogress ,
72
- transcode_onerror ,
73
- transcode_oncomplete
74
- )
75
- from django .dispatch import receiver
76
-
77
117
78
118
class SignalTest (TestCase ):
79
119
@@ -85,19 +125,6 @@ def test_transcode_init(self):
85
125
with open (os .path .join (FIXTURE_DIRS , 'submit.json' )) as f :
86
126
message = json .loads (f .read ())
87
127
88
- # define signal receiver
89
- @receiver (transcode_init )
90
- def job_record (sender , message , ** kwargs ):
91
- item = Item .objects .create (name = 'Hello' )
92
-
93
- ctype = ContentType .objects .get_for_model (item )
94
-
95
- job = EncodeJob ()
96
- job .id = message ['Job' ]['Id' ]
97
- job .content_type = ctype
98
- job .object_id = item .id
99
- job .save ()
100
-
101
128
# send signal
102
129
transcode_init .send (sender = None , message = message )
103
130
@@ -127,14 +154,6 @@ def test_transcode_onprogress(self):
127
154
resp = json .loads (f .read ())
128
155
message = json .loads (resp ['Message' ])
129
156
130
- # define signal receiver
131
- @receiver (transcode_onprogress )
132
- def job_record (sender , message , ** kwargs ):
133
- job = EncodeJob .objects .get (pk = message ['jobId' ])
134
- job .message = 'Progress'
135
- job .state = 1
136
- job .save ()
137
-
138
157
# send signal
139
158
transcode_onprogress .send (sender = None , message = message )
140
159
@@ -169,15 +188,6 @@ def test_transcode_onerror(self):
169
188
resp = json .loads (f .read ())
170
189
message = json .loads (resp ['Message' ])
171
190
172
-
173
- # define signal receiver
174
- @receiver (transcode_onerror )
175
- def job_record (sender , message , ** kwargs ):
176
- job = EncodeJob .objects .get (pk = message ['jobId' ])
177
- job .message = message ['messageDetails' ]
178
- job .state = 2
179
- job .save ()
180
-
181
191
# send signal
182
192
transcode_onerror .send (sender = None , message = message )
183
193
@@ -212,14 +222,6 @@ def test_transcode_oncomplete(self):
212
222
resp = json .loads (f .read ())
213
223
message = json .loads (resp ['Message' ])
214
224
215
- # define signal receiver
216
- @receiver (transcode_oncomplete )
217
- def job_record (sender , message , ** kwargs ):
218
- job = EncodeJob .objects .get (pk = message ['jobId' ])
219
- job .message = 'Success'
220
- job .state = 4
221
- job .save ()
222
-
223
225
# send signal
224
226
transcode_oncomplete .send (sender = None , message = message )
225
227
0 commit comments