@@ -15,12 +15,12 @@ var e2eStatsTests = []backendTest{
15
15
{
16
16
name : "Stats_ActiveInstance" ,
17
17
f : func (t * testing.T , ctx context.Context , c * client.Client , w * worker.Worker , b TestBackend ) {
18
- as := make (chan bool , 1 )
19
- af := make (chan bool , 1 )
18
+ activityRunning := make (chan bool , 1 )
19
+ activityBlocked := make (chan bool , 1 )
20
20
21
21
a := func (ctx context.Context ) error {
22
- as <- true
23
- <- af
22
+ activityRunning <- true
23
+ <- activityBlocked
24
24
25
25
return nil
26
26
}
@@ -31,28 +31,44 @@ var e2eStatsTests = []backendTest{
31
31
32
32
return true , nil
33
33
}
34
- register (t , ctx , w , []interface {}{wf }, []interface {}{a })
34
+
35
+ require .NoError (t , w .RegisterWorkflow (wf ))
36
+ require .NoError (t , w .RegisterActivity (a ))
35
37
36
38
s , err := b .GetStats (ctx )
37
39
require .NoError (t , err )
38
40
require .Equal (t , int64 (0 ), s .ActiveWorkflowInstances )
41
+ require .Equal (t , int64 (0 ), s .PendingWorkflowTasks )
39
42
require .Equal (t , int64 (0 ), s .PendingActivities )
40
43
41
44
wfi := runWorkflow (t , ctx , c , wf )
42
45
43
46
s , err = b .GetStats (ctx )
44
47
require .NoError (t , err )
45
48
require .Equal (t , int64 (1 ), s .ActiveWorkflowInstances )
49
+ require .Equal (t , int64 (1 ), s .PendingWorkflowTasks )
50
+ require .Equal (t , int64 (0 ), s .PendingActivities )
51
+
52
+ // Start worker
53
+ require .NoError (t , w .Start (ctx ))
54
+
55
+ // Wait until the activity is running
56
+ <- activityRunning
46
57
47
- <- as
58
+ s , err = b .GetStats (ctx )
59
+ require .NoError (t , err )
60
+ require .Equal (t , int64 (0 ), s .PendingWorkflowTasks )
61
+ require .Equal (t , int64 (1 ), s .ActiveWorkflowInstances )
48
62
49
63
s , err = b .GetStats (ctx )
50
64
require .NoError (t , err )
51
65
require .Equal (t , int64 (1 ), s .ActiveWorkflowInstances )
52
66
require .Equal (t , int64 (1 ), s .PendingActivities )
53
67
54
- af <- true
68
+ // Let the activity finish
69
+ activityBlocked <- true
55
70
71
+ // Let the workflow finish
56
72
err = c .SignalWorkflow (ctx , wfi .InstanceID , "test-signal" , nil )
57
73
require .NoError (t , err )
58
74
0 commit comments