...
1 package testqueue_test
2
3 import (
4 "testing"
5 "time"
6
7 "github.com/datawire/ambassador/v2/cmd/entrypoint/internal/testqueue"
8 "github.com/stretchr/testify/require"
9 )
10
11 func TestFakeQueueGet(t *testing.T) {
12 q := testqueue.NewQueue(t, 10*time.Second)
13
14 go func() {
15 for count := 0; count < 10; count++ {
16 q.Add(t, count)
17 }
18 }()
19
20 for count := 0; count < 10; count++ {
21 obj, err := q.Get(t, func(obj interface{}) bool {
22 return true
23 })
24 require.NoError(t, err)
25 require.Equal(t, count, obj)
26 }
27 }
28
29 func TestFakeQueueSkip(t *testing.T) {
30 q := testqueue.NewQueue(t, 10*time.Second)
31
32 go func() {
33 for count := 0; count < 10; count++ {
34 q.Add(t, count)
35 }
36 }()
37
38 for count := 0; count < 10; count += 2 {
39 obj, err := q.Get(t, func(obj interface{}) bool {
40 i := obj.(int)
41 return (i % 2) == 0
42 })
43 require.NoError(t, err)
44 require.Equal(t, count, obj)
45 }
46 }
47
View as plain text