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