1
+ from tests import PyResTests , Basic , TestProcess , ErrorObject
2
+ from pyres import failure
3
+ from pyres .job import Job
4
+ class FailureTests (PyResTests ):
5
+ def test_count (self ):
6
+ self .resq .enqueue (Basic ,"test1" )
7
+ job = Job .reserve ('basic' ,self .resq )
8
+ job .fail ("problem" )
9
+ assert failure .count (self .resq ) == 1
10
+ assert self .redis .llen ('resque:failed' ) == 1
11
+
12
+ def test_create (self ):
13
+ self .resq .enqueue (Basic ,"test1" )
14
+ job = Job .reserve ('basic' ,self .resq )
15
+ e = Exception ('test' )
16
+ fail = failure .create (e , 'basic' , job ._payload )
17
+ assert isinstance (fail ._payload , dict )
18
+ fail .save ()
19
+ assert failure .count (self .resq ) == 1
20
+ assert self .redis .llen ('resque:failed' ) == 1
21
+
22
+ def test_all (self ):
23
+ self .resq .enqueue (Basic ,"test1" )
24
+ job = Job .reserve ('basic' ,self .resq )
25
+ e = Exception ('problem' )
26
+ job .fail (e )
27
+ assert len (failure .all (self .resq , 0 , 20 )) == 1
28
+
29
+ def test_clear (self ):
30
+ self .resq .enqueue (Basic ,"test1" )
31
+ job = Job .reserve ('basic' ,self .resq )
32
+ e = Exception ('problem' )
33
+ job .fail (e )
34
+ assert self .redis .llen ('resque:failed' ) == 1
35
+ failure .clear (self .resq )
36
+ assert self .redis .llen ('resque:failed' ) == 0
37
+
38
+ def test_requeue (self ):
39
+ self .resq .enqueue (Basic ,"test1" )
40
+ job = Job .reserve ('basic' ,self .resq )
41
+ e = Exception ('problem' )
42
+ fail_object = job .fail (e )
43
+ assert self .resq .size ('basic' ) == 0
44
+ failure .requeue (self .resq , fail_object )
45
+ assert self .resq .size ('basic' ) == 1
46
+ job = Job .reserve ('basic' ,self .resq )
47
+ assert job ._queue == 'basic'
48
+ assert job ._payload == {'class' :'tests.Basic' ,'args' :['test1' ]}
0 commit comments