Skip to content

Commit 7af73e0

Browse files
committed
refactor: create task worker testing
1 parent d465179 commit 7af73e0

File tree

4 files changed

+45
-37
lines changed

4 files changed

+45
-37
lines changed

queue_test.go

-35
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package queue
22

33
import (
4-
"context"
54
"testing"
65
"time"
76

@@ -107,37 +106,3 @@ func TestCloseQueueAfterShutdown(t *testing.T) {
107106
assert.Error(t, err)
108107
assert.Equal(t, ErrQueueShutdown, err)
109108
}
110-
111-
func TestQueueTaskJob(t *testing.T) {
112-
w := &taskWorker{
113-
messages: make(chan QueuedMessage, 10),
114-
}
115-
q, err := NewQueue(
116-
WithWorker(w),
117-
WithWorkerCount(5),
118-
WithLogger(NewLogger()),
119-
)
120-
assert.NoError(t, err)
121-
assert.NotNil(t, q)
122-
q.Start()
123-
assert.NoError(t, q.QueueTask(func(ctx context.Context) error {
124-
time.Sleep(120 * time.Millisecond)
125-
q.logger.Info("Add new task 1")
126-
return nil
127-
}))
128-
assert.NoError(t, q.QueueTask(func(ctx context.Context) error {
129-
time.Sleep(100 * time.Millisecond)
130-
q.logger.Info("Add new task 2")
131-
return nil
132-
}))
133-
assert.NoError(t, q.QueueTaskWithTimeout(50*time.Millisecond, func(ctx context.Context) error {
134-
time.Sleep(80 * time.Millisecond)
135-
return nil
136-
}))
137-
time.Sleep(50 * time.Millisecond)
138-
q.Shutdown()
139-
assert.Equal(t, ErrQueueShutdown, q.QueueTask(func(ctx context.Context) error {
140-
return nil
141-
}))
142-
q.Wait()
143-
}

worker_message.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,6 @@ func (w *messageWorker) Request() (QueuedMessage, error) {
3939
case task := <-w.messages:
4040
return task, nil
4141
default:
42-
return nil, errors.New("no message in queue")
42+
return nil, ErrNoTaskInQueue
4343
}
4444
}

worker_task.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,6 @@ func (w *taskWorker) Request() (QueuedMessage, error) {
4040
case task := <-w.messages:
4141
return task, nil
4242
default:
43-
return nil, errors.New("no message in queue")
43+
return nil, ErrNoTaskInQueue
4444
}
4545
}

worker_task_test.go

+43
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
package queue
2+
3+
import (
4+
"context"
5+
"testing"
6+
"time"
7+
8+
"github.com/stretchr/testify/assert"
9+
)
10+
11+
func TestQueueTaskJob(t *testing.T) {
12+
w := &taskWorker{
13+
messages: make(chan QueuedMessage, 10),
14+
}
15+
q, err := NewQueue(
16+
WithWorker(w),
17+
WithWorkerCount(5),
18+
WithLogger(NewLogger()),
19+
)
20+
assert.NoError(t, err)
21+
assert.NotNil(t, q)
22+
q.Start()
23+
assert.NoError(t, q.QueueTask(func(ctx context.Context) error {
24+
time.Sleep(120 * time.Millisecond)
25+
q.logger.Info("Add new task 1")
26+
return nil
27+
}))
28+
assert.NoError(t, q.QueueTask(func(ctx context.Context) error {
29+
time.Sleep(100 * time.Millisecond)
30+
q.logger.Info("Add new task 2")
31+
return nil
32+
}))
33+
assert.NoError(t, q.QueueTaskWithTimeout(50*time.Millisecond, func(ctx context.Context) error {
34+
time.Sleep(80 * time.Millisecond)
35+
return nil
36+
}))
37+
time.Sleep(50 * time.Millisecond)
38+
q.Shutdown()
39+
assert.Equal(t, ErrQueueShutdown, q.QueueTask(func(ctx context.Context) error {
40+
return nil
41+
}))
42+
q.Wait()
43+
}

0 commit comments

Comments
 (0)