@@ -10,8 +10,8 @@ import (
10
10
"cdr.dev/slog/sloggers/slogtest"
11
11
"github.com/coder/coder/v2/coderd/database/dbtestutil"
12
12
"github.com/coder/coder/v2/enterprise/tailnet"
13
- agpl "github.com/coder/coder/v2/tailnet"
14
13
"github.com/coder/coder/v2/tailnet/tailnettest"
14
+ agpltest "github.com/coder/coder/v2/tailnet/test"
15
15
"github.com/coder/coder/v2/testutil"
16
16
)
17
17
@@ -35,27 +35,27 @@ func TestPGCoordinator_MultiAgent(t *testing.T) {
35
35
require .NoError (t , err )
36
36
defer coord1 .Close ()
37
37
38
- agent1 := newTestAgent ( t , coord1 , "agent1" )
39
- defer agent1 .close ( )
40
- agent1 .sendNode ( & agpl. Node { PreferredDERP : 5 } )
38
+ agent1 := agpltest . NewAgent ( ctx , t , coord1 , "agent1" )
39
+ defer agent1 .Close ( ctx )
40
+ agent1 .UpdateDERP ( 5 )
41
41
42
42
ma1 := tailnettest .NewTestMultiAgent (t , coord1 )
43
43
defer ma1 .Close ()
44
44
45
- ma1 .RequireSubscribeAgent (agent1 .id )
45
+ ma1 .RequireSubscribeAgent (agent1 .ID )
46
46
ma1 .RequireEventuallyHasDERPs (ctx , 5 )
47
47
48
- agent1 .sendNode ( & agpl. Node { PreferredDERP : 1 } )
48
+ agent1 .UpdateDERP ( 1 )
49
49
ma1 .RequireEventuallyHasDERPs (ctx , 1 )
50
50
51
51
ma1 .SendNodeWithDERP (3 )
52
- assertEventuallyHasDERPs ( ctx , t , agent1 , 3 )
52
+ agent1 . AssertEventuallyHasDERP ( ma1 . ID , 3 )
53
53
54
54
ma1 .Close ()
55
- require . NoError ( t , agent1 .close () )
55
+ agent1 .UngracefulDisconnect ( ctx )
56
56
57
- assertEventuallyNoClientsForAgent (ctx , t , store , agent1 .id )
58
- assertEventuallyLost (ctx , t , store , agent1 .id )
57
+ assertEventuallyNoClientsForAgent (ctx , t , store , agent1 .ID )
58
+ assertEventuallyLost (ctx , t , store , agent1 .ID )
59
59
}
60
60
61
61
func TestPGCoordinator_MultiAgent_CoordClose (t * testing.T ) {
@@ -102,28 +102,28 @@ func TestPGCoordinator_MultiAgent_UnsubscribeRace(t *testing.T) {
102
102
require .NoError (t , err )
103
103
defer coord1 .Close ()
104
104
105
- agent1 := newTestAgent ( t , coord1 , "agent1" )
106
- defer agent1 .close ( )
107
- agent1 .sendNode ( & agpl. Node { PreferredDERP : 5 } )
105
+ agent1 := agpltest . NewAgent ( ctx , t , coord1 , "agent1" )
106
+ defer agent1 .Close ( ctx )
107
+ agent1 .UpdateDERP ( 5 )
108
108
109
109
ma1 := tailnettest .NewTestMultiAgent (t , coord1 )
110
110
defer ma1 .Close ()
111
111
112
- ma1 .RequireSubscribeAgent (agent1 .id )
112
+ ma1 .RequireSubscribeAgent (agent1 .ID )
113
113
ma1 .RequireEventuallyHasDERPs (ctx , 5 )
114
114
115
- agent1 .sendNode ( & agpl. Node { PreferredDERP : 1 } )
115
+ agent1 .UpdateDERP ( 1 )
116
116
ma1 .RequireEventuallyHasDERPs (ctx , 1 )
117
117
118
118
ma1 .SendNodeWithDERP (3 )
119
- assertEventuallyHasDERPs ( ctx , t , agent1 , 3 )
119
+ agent1 . AssertEventuallyHasDERP ( ma1 . ID , 3 )
120
120
121
- ma1 .RequireUnsubscribeAgent (agent1 .id )
121
+ ma1 .RequireUnsubscribeAgent (agent1 .ID )
122
122
ma1 .Close ()
123
- require . NoError ( t , agent1 .close () )
123
+ agent1 .UngracefulDisconnect ( ctx )
124
124
125
- assertEventuallyNoClientsForAgent (ctx , t , store , agent1 .id )
126
- assertEventuallyLost (ctx , t , store , agent1 .id )
125
+ assertEventuallyNoClientsForAgent (ctx , t , store , agent1 .ID )
126
+ assertEventuallyLost (ctx , t , store , agent1 .ID )
127
127
}
128
128
129
129
// TestPGCoordinator_MultiAgent_Unsubscribe tests a single coordinator with a
@@ -147,43 +147,43 @@ func TestPGCoordinator_MultiAgent_Unsubscribe(t *testing.T) {
147
147
require .NoError (t , err )
148
148
defer coord1 .Close ()
149
149
150
- agent1 := newTestAgent ( t , coord1 , "agent1" )
151
- defer agent1 .close ( )
152
- agent1 .sendNode ( & agpl. Node { PreferredDERP : 5 } )
150
+ agent1 := agpltest . NewAgent ( ctx , t , coord1 , "agent1" )
151
+ defer agent1 .Close ( ctx )
152
+ agent1 .UpdateDERP ( 5 )
153
153
154
154
ma1 := tailnettest .NewTestMultiAgent (t , coord1 )
155
155
defer ma1 .Close ()
156
156
157
- ma1 .RequireSubscribeAgent (agent1 .id )
157
+ ma1 .RequireSubscribeAgent (agent1 .ID )
158
158
ma1 .RequireEventuallyHasDERPs (ctx , 5 )
159
159
160
- agent1 .sendNode ( & agpl. Node { PreferredDERP : 1 } )
160
+ agent1 .UpdateDERP ( 1 )
161
161
ma1 .RequireEventuallyHasDERPs (ctx , 1 )
162
162
163
163
ma1 .SendNodeWithDERP (3 )
164
- assertEventuallyHasDERPs ( ctx , t , agent1 , 3 )
164
+ agent1 . AssertEventuallyHasDERP ( ma1 . ID , 3 )
165
165
166
- ma1 .RequireUnsubscribeAgent (agent1 .id )
167
- assertEventuallyNoClientsForAgent (ctx , t , store , agent1 .id )
166
+ ma1 .RequireUnsubscribeAgent (agent1 .ID )
167
+ assertEventuallyNoClientsForAgent (ctx , t , store , agent1 .ID )
168
168
169
169
func () {
170
170
ctx , cancel := context .WithTimeout (ctx , testutil .IntervalSlow * 3 )
171
171
defer cancel ()
172
172
ma1 .SendNodeWithDERP (9 )
173
- assertNeverHasDERPs (ctx , t , agent1 , 9 )
173
+ agent1 . AssertNeverHasDERPs (ctx , ma1 . ID , 9 )
174
174
}()
175
175
func () {
176
176
ctx , cancel := context .WithTimeout (ctx , testutil .IntervalSlow * 3 )
177
177
defer cancel ()
178
- agent1 .sendNode ( & agpl. Node { PreferredDERP : 8 } )
178
+ agent1 .UpdateDERP ( 8 )
179
179
ma1 .RequireNeverHasDERPs (ctx , 8 )
180
180
}()
181
181
182
182
ma1 .Close ()
183
- require . NoError ( t , agent1 .close () )
183
+ agent1 .UngracefulDisconnect ( ctx )
184
184
185
- assertEventuallyNoClientsForAgent (ctx , t , store , agent1 .id )
186
- assertEventuallyLost (ctx , t , store , agent1 .id )
185
+ assertEventuallyNoClientsForAgent (ctx , t , store , agent1 .ID )
186
+ assertEventuallyLost (ctx , t , store , agent1 .ID )
187
187
}
188
188
189
189
// TestPGCoordinator_MultiAgent_MultiCoordinator tests two coordinators with a
@@ -212,27 +212,27 @@ func TestPGCoordinator_MultiAgent_MultiCoordinator(t *testing.T) {
212
212
require .NoError (t , err )
213
213
defer coord2 .Close ()
214
214
215
- agent1 := newTestAgent ( t , coord1 , "agent1" )
216
- defer agent1 .close ( )
217
- agent1 .sendNode ( & agpl. Node { PreferredDERP : 5 } )
215
+ agent1 := agpltest . NewAgent ( ctx , t , coord1 , "agent1" )
216
+ defer agent1 .Close ( ctx )
217
+ agent1 .UpdateDERP ( 5 )
218
218
219
219
ma1 := tailnettest .NewTestMultiAgent (t , coord2 )
220
220
defer ma1 .Close ()
221
221
222
- ma1 .RequireSubscribeAgent (agent1 .id )
222
+ ma1 .RequireSubscribeAgent (agent1 .ID )
223
223
ma1 .RequireEventuallyHasDERPs (ctx , 5 )
224
224
225
- agent1 .sendNode ( & agpl. Node { PreferredDERP : 1 } )
225
+ agent1 .UpdateDERP ( 1 )
226
226
ma1 .RequireEventuallyHasDERPs (ctx , 1 )
227
227
228
228
ma1 .SendNodeWithDERP (3 )
229
- assertEventuallyHasDERPs ( ctx , t , agent1 , 3 )
229
+ agent1 . AssertEventuallyHasDERP ( ma1 . ID , 3 )
230
230
231
231
ma1 .Close ()
232
- require . NoError ( t , agent1 .close () )
232
+ agent1 .UngracefulDisconnect ( ctx )
233
233
234
- assertEventuallyNoClientsForAgent (ctx , t , store , agent1 .id )
235
- assertEventuallyLost (ctx , t , store , agent1 .id )
234
+ assertEventuallyNoClientsForAgent (ctx , t , store , agent1 .ID )
235
+ assertEventuallyLost (ctx , t , store , agent1 .ID )
236
236
}
237
237
238
238
// TestPGCoordinator_MultiAgent_MultiCoordinator_UpdateBeforeSubscribe tests two
@@ -262,27 +262,27 @@ func TestPGCoordinator_MultiAgent_MultiCoordinator_UpdateBeforeSubscribe(t *test
262
262
require .NoError (t , err )
263
263
defer coord2 .Close ()
264
264
265
- agent1 := newTestAgent ( t , coord1 , "agent1" )
266
- defer agent1 .close ( )
267
- agent1 .sendNode ( & agpl. Node { PreferredDERP : 5 } )
265
+ agent1 := agpltest . NewAgent ( ctx , t , coord1 , "agent1" )
266
+ defer agent1 .Close ( ctx )
267
+ agent1 .UpdateDERP ( 5 )
268
268
269
269
ma1 := tailnettest .NewTestMultiAgent (t , coord2 )
270
270
defer ma1 .Close ()
271
271
272
272
ma1 .SendNodeWithDERP (3 )
273
273
274
- ma1 .RequireSubscribeAgent (agent1 .id )
274
+ ma1 .RequireSubscribeAgent (agent1 .ID )
275
275
ma1 .RequireEventuallyHasDERPs (ctx , 5 )
276
- assertEventuallyHasDERPs ( ctx , t , agent1 , 3 )
276
+ agent1 . AssertEventuallyHasDERP ( ma1 . ID , 3 )
277
277
278
- agent1 .sendNode ( & agpl. Node { PreferredDERP : 1 } )
278
+ agent1 .UpdateDERP ( 1 )
279
279
ma1 .RequireEventuallyHasDERPs (ctx , 1 )
280
280
281
281
ma1 .Close ()
282
- require . NoError ( t , agent1 .close () )
282
+ agent1 .UngracefulDisconnect ( ctx )
283
283
284
- assertEventuallyNoClientsForAgent (ctx , t , store , agent1 .id )
285
- assertEventuallyLost (ctx , t , store , agent1 .id )
284
+ assertEventuallyNoClientsForAgent (ctx , t , store , agent1 .ID )
285
+ assertEventuallyLost (ctx , t , store , agent1 .ID )
286
286
}
287
287
288
288
// TestPGCoordinator_MultiAgent_TwoAgents tests three coordinators with a
@@ -317,37 +317,37 @@ func TestPGCoordinator_MultiAgent_TwoAgents(t *testing.T) {
317
317
require .NoError (t , err )
318
318
defer coord3 .Close ()
319
319
320
- agent1 := newTestAgent ( t , coord1 , "agent1" )
321
- defer agent1 .close ( )
322
- agent1 .sendNode ( & agpl. Node { PreferredDERP : 5 } )
320
+ agent1 := agpltest . NewAgent ( ctx , t , coord1 , "agent1" )
321
+ defer agent1 .Close ( ctx )
322
+ agent1 .UpdateDERP ( 5 )
323
323
324
- agent2 := newTestAgent ( t , coord2 , "agent2" )
325
- defer agent1 . close ( )
326
- agent2 .sendNode ( & agpl. Node { PreferredDERP : 6 } )
324
+ agent2 := agpltest . NewAgent ( ctx , t , coord2 , "agent2" )
325
+ defer agent2 . Close ( ctx )
326
+ agent2 .UpdateDERP ( 6 )
327
327
328
328
ma1 := tailnettest .NewTestMultiAgent (t , coord3 )
329
329
defer ma1 .Close ()
330
330
331
- ma1 .RequireSubscribeAgent (agent1 .id )
331
+ ma1 .RequireSubscribeAgent (agent1 .ID )
332
332
ma1 .RequireEventuallyHasDERPs (ctx , 5 )
333
333
334
- agent1 .sendNode ( & agpl. Node { PreferredDERP : 1 } )
334
+ agent1 .UpdateDERP ( 1 )
335
335
ma1 .RequireEventuallyHasDERPs (ctx , 1 )
336
336
337
- ma1 .RequireSubscribeAgent (agent2 .id )
337
+ ma1 .RequireSubscribeAgent (agent2 .ID )
338
338
ma1 .RequireEventuallyHasDERPs (ctx , 6 )
339
339
340
- agent2 .sendNode ( & agpl. Node { PreferredDERP : 2 } )
340
+ agent2 .UpdateDERP ( 2 )
341
341
ma1 .RequireEventuallyHasDERPs (ctx , 2 )
342
342
343
343
ma1 .SendNodeWithDERP (3 )
344
- assertEventuallyHasDERPs ( ctx , t , agent1 , 3 )
345
- assertEventuallyHasDERPs ( ctx , t , agent2 , 3 )
344
+ agent1 . AssertEventuallyHasDERP ( ma1 . ID , 3 )
345
+ agent2 . AssertEventuallyHasDERP ( ma1 . ID , 3 )
346
346
347
347
ma1 .Close ()
348
- require . NoError ( t , agent1 .close () )
349
- require . NoError ( t , agent2 .close () )
348
+ agent1 .UngracefulDisconnect ( ctx )
349
+ agent2 .UngracefulDisconnect ( ctx )
350
350
351
- assertEventuallyNoClientsForAgent (ctx , t , store , agent1 .id )
352
- assertEventuallyLost (ctx , t , store , agent1 .id )
351
+ assertEventuallyNoClientsForAgent (ctx , t , store , agent1 .ID )
352
+ assertEventuallyLost (ctx , t , store , agent1 .ID )
353
353
}
0 commit comments