22import json
33
44from django .test import TestCase
5+ from django .dispatch import receiver
56from django .db import models
67from django .contrib .contenttypes .models import ContentType
78
89from .models import EncodeJob
10+ from .signals import (
11+ transcode_init ,
12+ transcode_onprogress ,
13+ transcode_onerror ,
14+ transcode_oncomplete
15+ )
16+
917
1018
1119PROJECT_ROOT = os .path .dirname (os .path .realpath (__file__ ))
1523class Item (models .Model ):
1624 name = models .CharField (max_length = 100 )
1725
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+
1866
1967class SNSNotificationTest (TestCase ):
2068 urls = 'dj_elastictranscoder.urls'
@@ -51,7 +99,7 @@ def test_onerror(self):
5199 self .assertEqual (resp .content , 'Done' )
52100
53101 job = EncodeJob .objects .get (id = self .job_id )
54- self .assertEqual (job .state , 3 )
102+ self .assertEqual (job .state , 2 )
55103
56104
57105 def test_oncomplete (self ):
@@ -66,14 +114,6 @@ def test_oncomplete(self):
66114 self .assertEqual (job .state , 4 )
67115
68116
69- from .signals import (
70- transcode_init ,
71- transcode_onprogress ,
72- transcode_onerror ,
73- transcode_oncomplete
74- )
75- from django .dispatch import receiver
76-
77117
78118class SignalTest (TestCase ):
79119
@@ -85,19 +125,6 @@ def test_transcode_init(self):
85125 with open (os .path .join (FIXTURE_DIRS , 'submit.json' )) as f :
86126 message = json .loads (f .read ())
87127
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-
101128 # send signal
102129 transcode_init .send (sender = None , message = message )
103130
@@ -127,14 +154,6 @@ def test_transcode_onprogress(self):
127154 resp = json .loads (f .read ())
128155 message = json .loads (resp ['Message' ])
129156
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-
138157 # send signal
139158 transcode_onprogress .send (sender = None , message = message )
140159
@@ -169,15 +188,6 @@ def test_transcode_onerror(self):
169188 resp = json .loads (f .read ())
170189 message = json .loads (resp ['Message' ])
171190
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-
181191 # send signal
182192 transcode_onerror .send (sender = None , message = message )
183193
@@ -212,14 +222,6 @@ def test_transcode_oncomplete(self):
212222 resp = json .loads (f .read ())
213223 message = json .loads (resp ['Message' ])
214224
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-
223225 # send signal
224226 transcode_oncomplete .send (sender = None , message = message )
225227
0 commit comments