@@ -13,6 +13,11 @@ def _data_obj(self):
1313 'key' : 'value'
1414 }
1515
16+ async def test__tube_queue (self ):
17+ q = Queue (self .conn )
18+ tube = q .tube ('test_tube' )
19+ self .assertIs (tube .queue , q , 'queue is the same object' )
20+
1621 async def test__tube_put (self ):
1722 tube = self .create_tube ()
1823 t = await tube .put (self ._data_obj ())
@@ -22,6 +27,15 @@ async def test__tube_put(self):
2227 self .assertEqual (t .task_id , 0 ) # first task has id = 0
2328 self .assertEqual (t .data , self ._data_obj ())
2429
30+ async def test__tube_put_options (self ):
31+ tube = self .create_tube ()
32+ t = await tube .put (self ._data_obj (), pri = 4 , ttl = 10 , ttr = 1 , delay = 0.2 )
33+ self .assertIsNotNone (t )
34+ self .assertIsInstance (t , Task )
35+ self .assertEqual (t .status , Status .DELAYED )
36+ self .assertEqual (t .task_id , 0 ) # first task has id = 0
37+ self .assertEqual (t .data , self ._data_obj ())
38+
2539 async def test__tube_take (self ):
2640 tube = self .create_tube ()
2741 t = await tube .put (self ._data_obj ())
@@ -89,6 +103,21 @@ async def test__tube_touch(self):
89103 self .assertEqual (t2 .status , Status .TAKEN )
90104 self .assertEqual (t2 .data , t .data )
91105
106+ async def test__tube_kick (self ):
107+ tube = self .create_tube ()
108+ t = await tube .put (self ._data_obj ())
109+ t2 = await tube .take ()
110+ t2 = await tube .bury (t2 .task_id )
111+ t3 = await tube .take (0.5 )
112+ self .assertIsNone (t3 , 'no tasks left' )
113+
114+ count = await tube .kick (1 )
115+ self .assertEqual (count , 1 )
116+ t3 = await tube .take (0.5 )
117+ self .assertEqual (t3 .task_id , t2 .task_id )
118+ self .assertEqual (t3 .status , Status .TAKEN )
119+ self .assertEqual (t3 .data , t2 .data )
120+
92121 async def test__tube_delete (self ):
93122 tube = self .create_tube ()
94123 t = await tube .put (self ._data_obj ())
0 commit comments