1
1
package queue
2
2
3
3
import (
4
+ "fmt"
4
5
"io/ioutil"
5
6
"os"
7
+ "sync"
6
8
"testing"
7
9
10
+ "github.com/docker/go-events"
8
11
"github.com/factorysh/microdensity/run"
9
12
"github.com/factorysh/microdensity/storage"
10
13
"github.com/factorysh/microdensity/task"
11
14
"github.com/google/uuid"
12
15
"github.com/stretchr/testify/assert"
13
16
)
14
17
18
+ var _ events.Sink = (* DummyEventLogger )(nil )
19
+
20
+ type DummyEventLogger struct {
21
+ Cpt * sync.WaitGroup
22
+ }
23
+
24
+ func (d * DummyEventLogger ) Write (evt events.Event ) error {
25
+ d .Cpt .Done ()
26
+ fmt .Println ("evt" , evt )
27
+ return nil
28
+ }
29
+
30
+ func (d * DummyEventLogger ) Close () error {
31
+ return nil
32
+ }
33
+
15
34
func TestDeq (t * testing.T ) {
16
35
dir , err := ioutil .TempDir (os .TempDir (), "data-" )
17
36
assert .NoError (t , err )
@@ -22,44 +41,42 @@ func TestDeq(t *testing.T) {
22
41
r , err := run .NewRunner ("../demo/services" , "/tmp/microdensity/volumes" , []string {})
23
42
assert .NoError (t , err )
24
43
que := NewQueue (store , r )
44
+ snk := & DummyEventLogger {
45
+ Cpt : & sync.WaitGroup {},
46
+ }
47
+ que .Sink = snk
48
+
49
+ dummySink := & DummyEventLogger {}
50
+ dummySink .Cpt = & sync.WaitGroup {}
25
51
26
52
tsk1 := & task.Task {
27
53
Id : uuid .New (),
28
54
Service : "demo" ,
29
55
Project : "beuha" ,
30
56
}
31
- err = r .Prepare (tsk1 , nil )
32
- assert .NoError (t , err )
33
57
34
58
tsk2 := & task.Task {
35
59
Id : uuid .New (),
36
60
Service : "demo" ,
37
61
Project : "alice" ,
38
62
}
39
- err = r .Prepare (tsk2 , nil )
40
- assert .NoError (t , err )
41
63
42
64
tsk3 := & task.Task {
43
65
Id : uuid .New (),
44
66
Project : "another" ,
45
67
Service : "demo" ,
46
68
}
47
- err = r .Prepare (tsk3 , nil )
48
- assert .NoError (t , err )
49
-
50
- tsk4 := & task.Task {
51
- Id : uuid .New (),
52
- Project : "notprepared" ,
53
- Service : "demo" ,
54
- }
55
- assert .NoError (t , err )
56
69
70
+ snk .Cpt .Add (4 )
57
71
// FIXME: asserts on state status
58
- que .Put (tsk1 , nil )
59
- que .Put (tsk2 , nil )
60
- que .Put (tsk3 , nil )
61
- que .Put (tsk4 , nil )
72
+ err = que .Put (tsk1 , nil )
73
+ assert .NoError (t , err )
74
+ err = que .Put (tsk2 , nil )
75
+ assert .NoError (t , err )
76
+ err = que .Put (tsk3 , nil )
77
+ assert .NoError (t , err )
62
78
63
79
<- que .BatchEnded
80
+ //snk.Cpt.Wait()
64
81
65
82
}
0 commit comments