@@ -5,7 +5,6 @@ package store
5
5
import (
6
6
"database/sql"
7
7
"encoding/json"
8
- "errors"
9
8
"io/ioutil"
10
9
"os"
11
10
"testing"
@@ -182,12 +181,12 @@ func (s *QueueSqliteSuite) TestAddressedPush(c *check.C) {
182
181
c .Assert (err , check .DeepEquals , queue .ErrDuplicateAddressedPush )
183
182
184
183
// Addresses should not be completed
185
- done , err := s .store .IsQueueAddressComplete ("abc" )
184
+ queued , err := s .store .IsQueueAddressInProgress ("abc" )
186
185
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" )
189
188
c .Assert (err , check .IsNil )
190
- c .Check (done , check .Equals , false )
189
+ c .Check (queued , check .Equals , true )
191
190
192
191
// Attempt to pop a type that doesn't exist in the queue
193
192
queueWork , err := s .store .QueuePop ("test" , 0 , []uint64 {888 })
@@ -206,12 +205,12 @@ func (s *QueueSqliteSuite) TestAddressedPush(c *check.C) {
206
205
c .Assert (err , check .IsNil )
207
206
208
207
// First address should be completed
209
- done , err = s .store .IsQueueAddressComplete ("abc" )
208
+ queued , err = s .store .IsQueueAddressInProgress ("abc" )
210
209
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" )
213
212
c .Assert (err , check .IsNil )
214
- c .Check (done , check .Equals , false )
213
+ c .Check (queued , check .Equals , true )
215
214
216
215
// Pop second item
217
216
queueWork , err = s .store .QueuePop ("test" , 0 , []uint64 {TypeTest , TypeTest2 })
@@ -225,22 +224,18 @@ func (s *QueueSqliteSuite) TestAddressedPush(c *check.C) {
225
224
c .Assert (err , check .IsNil )
226
225
227
226
// Second address should be completed
228
- done , err = s .store .IsQueueAddressComplete ("def" )
227
+ queued , err = s .store .IsQueueAddressInProgress ("def" )
229
228
c .Assert (err , check .IsNil )
230
- c .Check (done , check .Equals , true )
229
+ c .Check (queued , check .Equals , false )
231
230
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" )
234
233
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 )
240
235
241
236
// 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 " )
244
239
}
245
240
246
241
func (s * QueueSqliteSuite ) TestQueueGroups (c * check.C ) {
@@ -593,43 +588,6 @@ func (s *QueueSqliteSuite) TestQueueGroupCancel(c *check.C) {
593
588
c .Check (cancelled , check .Equals , true )
594
589
}
595
590
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
-
633
591
func (s * QueueSqliteSuite ) TestIsQueueAddressInProgress (c * check.C ) {
634
592
// Is a non-existing address in the queue?
635
593
found , err := s .store .IsQueueAddressInProgress ("def" )
@@ -645,12 +603,17 @@ func (s *QueueSqliteSuite) TestIsQueueAddressInProgress(c *check.C) {
645
603
c .Assert (err , check .IsNil )
646
604
c .Assert (found , check .Equals , true )
647
605
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
+
648
611
// Complete the work
649
- err = s .store .QueueAddressedComplete ( "def" , nil )
612
+ err = s .store .QueueDelete ( w . Permit )
650
613
c .Assert (err , check .IsNil )
651
614
found , err = s .store .IsQueueAddressInProgress ("def" )
652
615
653
616
// Now it should not be found
654
617
c .Assert (err , check .IsNil )
655
- c .Assert (found , check .Equals , true )
618
+ c .Assert (found , check .Equals , false )
656
619
}
0 commit comments