@@ -24,7 +24,7 @@ func (m mockMessage) Bytes() []byte {
2424 return []byte (m .message )
2525}
2626
27- func TestNewQueue (t * testing.T ) {
27+ func TestNewQueueWithZeroWorker (t * testing.T ) {
2828 controller := gomock .NewController (t )
2929 defer controller .Finish ()
3030
@@ -34,18 +34,44 @@ func TestNewQueue(t *testing.T) {
3434
3535 w := mocks .NewMockWorker (controller )
3636 w .EXPECT ().Shutdown ().Return (nil )
37- w .EXPECT ().Request ().Return (nil , nil )
3837 q , err = NewQueue (
3938 WithWorker (w ),
39+ WithWorkerCount (0 ),
4040 )
4141 assert .NoError (t , err )
4242 assert .NotNil (t , q )
4343
4444 q .Start ()
45+ time .Sleep (50 * time .Millisecond )
4546 assert .Equal (t , 0 , q .BusyWorkers ())
4647 q .Release ()
4748}
4849
50+ func TestNewQueueWithDefaultWorker (t * testing.T ) {
51+ controller := gomock .NewController (t )
52+ defer controller .Finish ()
53+
54+ q , err := NewQueue ()
55+ assert .Error (t , err )
56+ assert .Nil (t , q )
57+
58+ w := mocks .NewMockWorker (controller )
59+ m := mocks .NewMockQueuedMessage (controller )
60+ m .EXPECT ().Bytes ().Return ([]byte ("test" )).AnyTimes ()
61+ w .EXPECT ().Shutdown ().Return (nil )
62+ w .EXPECT ().Request ().Return (m , nil ).AnyTimes ()
63+ w .EXPECT ().Run (m ).Return (nil ).AnyTimes ()
64+ q , err = NewQueue (
65+ WithWorker (w ),
66+ )
67+ assert .NoError (t , err )
68+ assert .NotNil (t , q )
69+
70+ q .Start ()
71+ q .Release ()
72+ assert .Equal (t , 0 , q .BusyWorkers ())
73+ }
74+
4975func TestShtdonwOnce (t * testing.T ) {
5076 w := & messageWorker {
5177 messages : make (chan core.QueuedMessage , 100 ),
0 commit comments