@@ -5,7 +5,6 @@ package store
55import (
66 "database/sql"
77 "encoding/json"
8- "errors"
98 "io/ioutil"
109 "os"
1110 "testing"
@@ -182,12 +181,12 @@ func (s *QueueSqliteSuite) TestAddressedPush(c *check.C) {
182181 c .Assert (err , check .DeepEquals , queue .ErrDuplicateAddressedPush )
183182
184183 // Addresses should not be completed
185- done , err := s .store .IsQueueAddressComplete ("abc" )
184+ queued , err := s .store .IsQueueAddressInProgress ("abc" )
186185 c .Assert (err , check .IsNil )
187- c .Check (done , check .Equals , false )
188- done , err = s .store .IsQueueAddressComplete ("def" )
186+ c .Check (queued , check .Equals , true )
187+ queued , err = s .store .IsQueueAddressInProgress ("def" )
189188 c .Assert (err , check .IsNil )
190- c .Check (done , check .Equals , false )
189+ c .Check (queued , check .Equals , true )
191190
192191 // Attempt to pop a type that doesn't exist in the queue
193192 queueWork , err := s .store .QueuePop ("test" , 0 , []uint64 {888 })
@@ -206,12 +205,12 @@ func (s *QueueSqliteSuite) TestAddressedPush(c *check.C) {
206205 c .Assert (err , check .IsNil )
207206
208207 // First address should be completed
209- done , err = s .store .IsQueueAddressComplete ("abc" )
208+ queued , err = s .store .IsQueueAddressInProgress ("abc" )
210209 c .Assert (err , check .IsNil )
211- c .Check (done , check .Equals , true )
212- done , err = s .store .IsQueueAddressComplete ("def" )
210+ c .Check (queued , check .Equals , false )
211+ queued , err = s .store .IsQueueAddressInProgress ("def" )
213212 c .Assert (err , check .IsNil )
214- c .Check (done , check .Equals , false )
213+ c .Check (queued , check .Equals , true )
215214
216215 // Pop second item
217216 queueWork , err = s .store .QueuePop ("test" , 0 , []uint64 {TypeTest , TypeTest2 })
@@ -225,22 +224,18 @@ func (s *QueueSqliteSuite) TestAddressedPush(c *check.C) {
225224 c .Assert (err , check .IsNil )
226225
227226 // Second address should be completed
228- done , err = s .store .IsQueueAddressComplete ("def" )
227+ queued , err = s .store .IsQueueAddressInProgress ("def" )
229228 c .Assert (err , check .IsNil )
230- c .Check (done , check .Equals , true )
229+ c .Check (queued , check .Equals , false )
231230
232- // Record error for second address
233- err = s .store .QueueAddressedComplete ("def" , errors . New ( "some error" ) )
231+ // Second address should be completed
232+ queued , err = s .store .IsQueueAddressInProgress ("def" )
234233 c .Assert (err , check .IsNil )
235-
236- // Second address should be completed, but with error
237- done , err = s .store .IsQueueAddressComplete ("def" )
238- c .Assert (err , check .ErrorMatches , "some error" )
239- c .Check (done , check .Equals , true )
234+ c .Check (queued , check .Equals , false )
240235
241236 // Cannot check for empty address
242- _ , err = s .store .IsQueueAddressComplete (" " )
243- c .Check (err , check .ErrorMatches , "no address provided for IsQueueAddressComplete " )
237+ _ , err = s .store .IsQueueAddressInProgress (" " )
238+ c .Check (err , check .ErrorMatches , "no address provided for IsQueueAddressInProgress " )
244239}
245240
246241func (s * QueueSqliteSuite ) TestQueueGroups (c * check.C ) {
@@ -593,43 +588,6 @@ func (s *QueueSqliteSuite) TestQueueGroupCancel(c *check.C) {
593588 c .Check (cancelled , check .Equals , true )
594589}
595590
596- func (s * QueueSqliteSuite ) TestAddressFailure (c * check.C ) {
597- // Fail
598- address := "abcdefg"
599- // Pass a generic error
600- err := s .store .QueueAddressedComplete (address , errors .New ("first error" ))
601- c .Assert (err , check .IsNil )
602- err = s .store .(* store ).QueueAddressedCheck (address )
603- c .Check (err , check .ErrorMatches , "first error" )
604-
605- // Should be castable to queue.QueueError pointer
606- queueError , ok := err .(* queue.QueueError )
607- c .Assert (ok , check .Equals , true )
608- c .Check (queueError , check .DeepEquals , & queue.QueueError {
609- Code : 0 , // Not set on generic error
610- Message : "first error" ,
611- })
612-
613- // Fail again, but pass a typed error
614- err = s .store .QueueAddressedComplete (address , & queue.QueueError {Code : 404 , Message : "second error" })
615- c .Assert (err , check .IsNil )
616- err = s .store .(* store ).QueueAddressedCheck (address )
617- c .Check (err , check .ErrorMatches , "second error" )
618-
619- // Should be castable to queue.QueueError pointer
620- queueError , ok = err .(* queue.QueueError )
621- c .Assert (ok , check .Equals , true )
622- c .Check (queueError , check .DeepEquals , & queue.QueueError {
623- Code : 404 ,
624- Message : "second error" ,
625- })
626-
627- // Don't fail
628- err = s .store .QueueAddressedComplete (address , nil )
629- c .Assert (err , check .IsNil )
630- c .Check (s .store .(* store ).QueueAddressedCheck (address ), check .IsNil )
631- }
632-
633591func (s * QueueSqliteSuite ) TestIsQueueAddressInProgress (c * check.C ) {
634592 // Is a non-existing address in the queue?
635593 found , err := s .store .IsQueueAddressInProgress ("def" )
@@ -645,12 +603,17 @@ func (s *QueueSqliteSuite) TestIsQueueAddressInProgress(c *check.C) {
645603 c .Assert (err , check .IsNil )
646604 c .Assert (found , check .Equals , true )
647605
606+ // Assign a permit
607+ w , err := s .store .QueuePop ("test" , 0 , []uint64 {TypeTest })
608+ c .Assert (err , check .IsNil )
609+ c .Assert (w .Permit , check .Not (check .Equals ), permit .Permit (0 ))
610+
648611 // Complete the work
649- err = s .store .QueueAddressedComplete ( "def" , nil )
612+ err = s .store .QueueDelete ( w . Permit )
650613 c .Assert (err , check .IsNil )
651614 found , err = s .store .IsQueueAddressInProgress ("def" )
652615
653616 // Now it should not be found
654617 c .Assert (err , check .IsNil )
655- c .Assert (found , check .Equals , true )
618+ c .Assert (found , check .Equals , false )
656619}
0 commit comments