mirror of
https://github.com/coder/coder.git
synced 2026-09-24 15:04:27 +08:00
chore: update testutil chan helpers (#17408)
This commit is contained in:
@@ -400,7 +400,7 @@ func TestExecutorAutostartUserSuspended(t *testing.T) {
|
||||
}()
|
||||
|
||||
// Then: nothing should happen
|
||||
stats := testutil.RequireRecvCtx(ctx, t, statsCh)
|
||||
stats := testutil.TryReceive(ctx, t, statsCh)
|
||||
assert.Len(t, stats.Errors, 0)
|
||||
assert.Len(t, stats.Transitions, 0)
|
||||
}
|
||||
@@ -1167,7 +1167,7 @@ func TestNotifications(t *testing.T) {
|
||||
// Wait for workspace to become dormant
|
||||
notifyEnq.Clear()
|
||||
ticker <- workspace.LastUsedAt.Add(timeTilDormant * 3)
|
||||
_ = testutil.RequireRecvCtx(testutil.Context(t, testutil.WaitShort), t, statCh)
|
||||
_ = testutil.TryReceive(testutil.Context(t, testutil.WaitShort), t, statCh)
|
||||
|
||||
// Check that the workspace is dormant
|
||||
workspace = coderdtest.MustWorkspace(t, client, workspace.ID)
|
||||
|
||||
@@ -160,19 +160,19 @@ func TestPubSub_DoesntBlockNotify(t *testing.T) {
|
||||
assert.NoError(t, err)
|
||||
cancels <- subCancel
|
||||
}()
|
||||
subCancel := testutil.RequireRecvCtx(ctx, t, cancels)
|
||||
subCancel := testutil.TryReceive(ctx, t, cancels)
|
||||
cancelDone := make(chan struct{})
|
||||
go func() {
|
||||
defer close(cancelDone)
|
||||
subCancel()
|
||||
}()
|
||||
testutil.RequireRecvCtx(ctx, t, cancelDone)
|
||||
testutil.TryReceive(ctx, t, cancelDone)
|
||||
|
||||
closeErrs := make(chan error)
|
||||
go func() {
|
||||
closeErrs <- uut.Close()
|
||||
}()
|
||||
err := testutil.RequireRecvCtx(ctx, t, closeErrs)
|
||||
err := testutil.TryReceive(ctx, t, closeErrs)
|
||||
require.NoError(t, err)
|
||||
}
|
||||
|
||||
@@ -221,7 +221,7 @@ func TestPubSub_DoesntRaceListenUnlisten(t *testing.T) {
|
||||
}
|
||||
close(start)
|
||||
for range numEvents * 2 {
|
||||
_ = testutil.RequireRecvCtx(ctx, t, done)
|
||||
_ = testutil.TryReceive(ctx, t, done)
|
||||
}
|
||||
for i := range events {
|
||||
fListener.requireIsListening(t, events[i])
|
||||
|
||||
@@ -60,7 +60,7 @@ func TestPGPubsub_Metrics(t *testing.T) {
|
||||
err := uut.Publish(event, []byte(data))
|
||||
assert.NoError(t, err)
|
||||
}()
|
||||
_ = testutil.RequireRecvCtx(ctx, t, messageChannel)
|
||||
_ = testutil.TryReceive(ctx, t, messageChannel)
|
||||
|
||||
require.Eventually(t, func() bool {
|
||||
latencyBytes := gatherCount * pubsub.LatencyMessageLength
|
||||
@@ -96,8 +96,8 @@ func TestPGPubsub_Metrics(t *testing.T) {
|
||||
assert.NoError(t, err)
|
||||
}()
|
||||
// should get 2 messages because we have 2 subs
|
||||
_ = testutil.RequireRecvCtx(ctx, t, messageChannel)
|
||||
_ = testutil.RequireRecvCtx(ctx, t, messageChannel)
|
||||
_ = testutil.TryReceive(ctx, t, messageChannel)
|
||||
_ = testutil.TryReceive(ctx, t, messageChannel)
|
||||
|
||||
require.Eventually(t, func() bool {
|
||||
latencyBytes := gatherCount * pubsub.LatencyMessageLength
|
||||
@@ -167,10 +167,10 @@ func TestPGPubsubDriver(t *testing.T) {
|
||||
require.NoError(t, err)
|
||||
|
||||
// wait for the message
|
||||
_ = testutil.RequireRecvCtx(ctx, t, gotChan)
|
||||
_ = testutil.TryReceive(ctx, t, gotChan)
|
||||
|
||||
// read out first connection
|
||||
firstConn := testutil.RequireRecvCtx(ctx, t, subDriver.Connections)
|
||||
firstConn := testutil.TryReceive(ctx, t, subDriver.Connections)
|
||||
|
||||
// drop the underlying connection being used by the pubsub
|
||||
// the pq.Listener should reconnect and repopulate it's listeners
|
||||
@@ -179,7 +179,7 @@ func TestPGPubsubDriver(t *testing.T) {
|
||||
require.NoError(t, err)
|
||||
|
||||
// wait for the reconnect
|
||||
_ = testutil.RequireRecvCtx(ctx, t, subDriver.Connections)
|
||||
_ = testutil.TryReceive(ctx, t, subDriver.Connections)
|
||||
// we need to sleep because the raw connection notification
|
||||
// is sent before the pq.Listener can reestablish it's listeners
|
||||
time.Sleep(1 * time.Second)
|
||||
@@ -189,5 +189,5 @@ func TestPGPubsubDriver(t *testing.T) {
|
||||
require.NoError(t, err)
|
||||
|
||||
// wait for the message on the old subscription
|
||||
_ = testutil.RequireRecvCtx(ctx, t, gotChan)
|
||||
_ = testutil.TryReceive(ctx, t, gotChan)
|
||||
}
|
||||
|
||||
@@ -37,7 +37,7 @@ func TestWatchdog_NoTimeout(t *testing.T) {
|
||||
|
||||
// we subscribe after starting the timer, so we know the timer also starts
|
||||
// from the baseline.
|
||||
sub := testutil.RequireRecvCtx(ctx, t, fPS.subs)
|
||||
sub := testutil.TryReceive(ctx, t, fPS.subs)
|
||||
require.Equal(t, pubsub.EventPubsubWatchdog, sub.event)
|
||||
|
||||
// 5 min / 15 sec = 20, so do 21 ticks
|
||||
@@ -45,7 +45,7 @@ func TestWatchdog_NoTimeout(t *testing.T) {
|
||||
d, w := mClock.AdvanceNext()
|
||||
w.MustWait(ctx)
|
||||
require.LessOrEqual(t, d, 15*time.Second)
|
||||
p := testutil.RequireRecvCtx(ctx, t, fPS.pubs)
|
||||
p := testutil.TryReceive(ctx, t, fPS.pubs)
|
||||
require.Equal(t, pubsub.EventPubsubWatchdog, p)
|
||||
mClock.Advance(30 * time.Millisecond). // reasonable round-trip
|
||||
MustWait(ctx)
|
||||
@@ -67,7 +67,7 @@ func TestWatchdog_NoTimeout(t *testing.T) {
|
||||
sc, err := subTrap.Wait(ctx) // timer.Stop() called
|
||||
require.NoError(t, err)
|
||||
sc.Release()
|
||||
err = testutil.RequireRecvCtx(ctx, t, errCh)
|
||||
err = testutil.TryReceive(ctx, t, errCh)
|
||||
require.NoError(t, err)
|
||||
}
|
||||
|
||||
@@ -93,7 +93,7 @@ func TestWatchdog_Timeout(t *testing.T) {
|
||||
|
||||
// we subscribe after starting the timer, so we know the timer also starts
|
||||
// from the baseline.
|
||||
sub := testutil.RequireRecvCtx(ctx, t, fPS.subs)
|
||||
sub := testutil.TryReceive(ctx, t, fPS.subs)
|
||||
require.Equal(t, pubsub.EventPubsubWatchdog, sub.event)
|
||||
|
||||
// 5 min / 15 sec = 20, so do 19 ticks without timing out
|
||||
@@ -101,7 +101,7 @@ func TestWatchdog_Timeout(t *testing.T) {
|
||||
d, w := mClock.AdvanceNext()
|
||||
w.MustWait(ctx)
|
||||
require.LessOrEqual(t, d, 15*time.Second)
|
||||
p := testutil.RequireRecvCtx(ctx, t, fPS.pubs)
|
||||
p := testutil.TryReceive(ctx, t, fPS.pubs)
|
||||
require.Equal(t, pubsub.EventPubsubWatchdog, p)
|
||||
mClock.Advance(30 * time.Millisecond). // reasonable round-trip
|
||||
MustWait(ctx)
|
||||
@@ -117,9 +117,9 @@ func TestWatchdog_Timeout(t *testing.T) {
|
||||
d, w := mClock.AdvanceNext()
|
||||
w.MustWait(ctx)
|
||||
require.LessOrEqual(t, d, 15*time.Second)
|
||||
p := testutil.RequireRecvCtx(ctx, t, fPS.pubs)
|
||||
p := testutil.TryReceive(ctx, t, fPS.pubs)
|
||||
require.Equal(t, pubsub.EventPubsubWatchdog, p)
|
||||
testutil.RequireRecvCtx(ctx, t, uut.Timeout())
|
||||
testutil.TryReceive(ctx, t, uut.Timeout())
|
||||
|
||||
err = uut.Close()
|
||||
require.NoError(t, err)
|
||||
|
||||
@@ -78,7 +78,7 @@ func TestUpdate(t *testing.T) {
|
||||
})
|
||||
errCh <- err
|
||||
}()
|
||||
testutil.RequireRecvCtx(ctx, t, fetchStarted)
|
||||
testutil.TryReceive(ctx, t, fetchStarted)
|
||||
require.False(t, set.Enabled(codersdk.FeatureMultipleOrganizations))
|
||||
// start a second update while the first one is in progress
|
||||
go func() {
|
||||
@@ -97,9 +97,9 @@ func TestUpdate(t *testing.T) {
|
||||
errCh <- err
|
||||
}()
|
||||
close(firstDone)
|
||||
err := testutil.RequireRecvCtx(ctx, t, errCh)
|
||||
err := testutil.TryReceive(ctx, t, errCh)
|
||||
require.NoError(t, err)
|
||||
err = testutil.RequireRecvCtx(ctx, t, errCh)
|
||||
err = testutil.TryReceive(ctx, t, errCh)
|
||||
require.NoError(t, err)
|
||||
require.True(t, set.Enabled(codersdk.FeatureMultipleOrganizations))
|
||||
require.True(t, set.Enabled(codersdk.FeatureAppearance))
|
||||
|
||||
@@ -146,7 +146,7 @@ func TestLoggerMiddleware_WebSocket(t *testing.T) {
|
||||
defer conn.Close(websocket.StatusNormalClosure, "")
|
||||
|
||||
// Wait for the log from within the handler
|
||||
newEntry := testutil.RequireRecvCtx(ctx, t, sink.newEntries)
|
||||
newEntry := testutil.TryReceive(ctx, t, sink.newEntries)
|
||||
require.Equal(t, newEntry.Message, "GET")
|
||||
|
||||
// Signal the websocket handler to return (and read to handle the close frame)
|
||||
@@ -155,7 +155,7 @@ func TestLoggerMiddleware_WebSocket(t *testing.T) {
|
||||
require.ErrorAs(t, err, &websocket.CloseError{}, "websocket read should fail with close error")
|
||||
|
||||
// Wait for the request to finish completely and verify we only logged once
|
||||
_ = testutil.RequireRecvCtx(ctx, t, done)
|
||||
_ = testutil.TryReceive(ctx, t, done)
|
||||
require.Len(t, sink.entries, 1, "log was written twice")
|
||||
}
|
||||
|
||||
|
||||
@@ -155,7 +155,7 @@ func TestBuildPayload(t *testing.T) {
|
||||
require.NoError(t, err)
|
||||
|
||||
// THEN: expect that a payload will be constructed and have the expected values
|
||||
payload := testutil.RequireRecvCtx(ctx, t, interceptor.payload)
|
||||
payload := testutil.TryReceive(ctx, t, interceptor.payload)
|
||||
require.Len(t, payload.Actions, 1)
|
||||
require.Equal(t, label, payload.Actions[0].Label)
|
||||
require.Equal(t, url, payload.Actions[0].URL)
|
||||
|
||||
@@ -300,9 +300,9 @@ func TestPendingUpdatesMetric(t *testing.T) {
|
||||
mClock.Advance(cfg.StoreSyncInterval.Value() - cfg.FetchInterval.Value()).MustWait(ctx)
|
||||
|
||||
// Wait until we intercept the calls to sync the pending updates to the store.
|
||||
success := testutil.RequireRecvCtx(testutil.Context(t, testutil.WaitShort), t, interceptor.updateSuccess)
|
||||
success := testutil.TryReceive(testutil.Context(t, testutil.WaitShort), t, interceptor.updateSuccess)
|
||||
require.EqualValues(t, 2, success)
|
||||
failure := testutil.RequireRecvCtx(testutil.Context(t, testutil.WaitShort), t, interceptor.updateFailure)
|
||||
failure := testutil.TryReceive(testutil.Context(t, testutil.WaitShort), t, interceptor.updateFailure)
|
||||
require.EqualValues(t, 2, failure)
|
||||
|
||||
// Validate that the store synced the expected number of updates.
|
||||
|
||||
@@ -260,7 +260,7 @@ func TestWebhookDispatch(t *testing.T) {
|
||||
mgr.Run(ctx)
|
||||
|
||||
// THEN: the webhook is received by the mock server and has the expected contents
|
||||
payload := testutil.RequireRecvCtx(testutil.Context(t, testutil.WaitShort), t, sent)
|
||||
payload := testutil.TryReceive(testutil.Context(t, testutil.WaitShort), t, sent)
|
||||
require.EqualValues(t, "1.1", payload.Version)
|
||||
require.Equal(t, msgID[0], payload.MsgID)
|
||||
require.Equal(t, payload.Payload.Labels, input)
|
||||
@@ -350,8 +350,8 @@ func TestBackpressure(t *testing.T) {
|
||||
|
||||
// one batch of dispatches is sent
|
||||
for range batchSize {
|
||||
call := testutil.RequireRecvCtx(ctx, t, handler.calls)
|
||||
testutil.RequireSendCtx(ctx, t, call.result, dispatchResult{
|
||||
call := testutil.TryReceive(ctx, t, handler.calls)
|
||||
testutil.RequireSend(ctx, t, call.result, dispatchResult{
|
||||
retryable: false,
|
||||
err: nil,
|
||||
})
|
||||
@@ -402,7 +402,7 @@ func TestBackpressure(t *testing.T) {
|
||||
// The batch completes
|
||||
w.MustWait(ctx)
|
||||
|
||||
require.NoError(t, testutil.RequireRecvCtx(ctx, t, stopErr))
|
||||
require.NoError(t, testutil.TryReceive(ctx, t, stopErr))
|
||||
require.EqualValues(t, batchSize, storeInterceptor.sent.Load()+storeInterceptor.failed.Load())
|
||||
}
|
||||
|
||||
@@ -1808,7 +1808,7 @@ func TestCustomNotificationMethod(t *testing.T) {
|
||||
// THEN: the notification should be received by the custom dispatch method
|
||||
mgr.Run(ctx)
|
||||
|
||||
receivedMsgID := testutil.RequireRecvCtx(ctx, t, received)
|
||||
receivedMsgID := testutil.TryReceive(ctx, t, received)
|
||||
require.Equal(t, msgID[0].String(), receivedMsgID.String())
|
||||
|
||||
// Ensure no messages received by default method (SMTP):
|
||||
|
||||
@@ -118,7 +118,7 @@ func TestHeartbeat(t *testing.T) {
|
||||
})
|
||||
|
||||
for i := 0; i < numBeats; i++ {
|
||||
testutil.RequireRecvCtx(ctx, t, heartbeatChan)
|
||||
testutil.TryReceive(ctx, t, heartbeatChan)
|
||||
}
|
||||
// goleak.VerifyTestMain ensures that the heartbeat goroutine does not leak
|
||||
}
|
||||
|
||||
@@ -362,7 +362,7 @@ func TestCache(t *testing.T) {
|
||||
authOut = make(chan error, 1) // buffered to not block
|
||||
authorizeFunc = func(ctx context.Context, subject rbac.Subject, action policy.Action, object rbac.Object) error {
|
||||
// Just return what you're told.
|
||||
return testutil.RequireRecvCtx(ctx, t, authOut)
|
||||
return testutil.TryReceive(ctx, t, authOut)
|
||||
}
|
||||
ma = &rbac.MockAuthorizer{AuthorizeFunc: authorizeFunc}
|
||||
rec = &coderdtest.RecordingAuthorizer{Wrapped: ma}
|
||||
@@ -371,12 +371,12 @@ func TestCache(t *testing.T) {
|
||||
)
|
||||
|
||||
// First call will result in a transient error. This should not be cached.
|
||||
testutil.RequireSendCtx(ctx, t, authOut, context.Canceled)
|
||||
testutil.RequireSend(ctx, t, authOut, context.Canceled)
|
||||
err := authz.Authorize(ctx, subj, action, obj)
|
||||
assert.ErrorIs(t, err, context.Canceled)
|
||||
|
||||
// A subsequent call should still hit the authorizer.
|
||||
testutil.RequireSendCtx(ctx, t, authOut, nil)
|
||||
testutil.RequireSend(ctx, t, authOut, nil)
|
||||
err = authz.Authorize(ctx, subj, action, obj)
|
||||
assert.NoError(t, err)
|
||||
// This should be cached and not hit the wrapped authorizer again.
|
||||
@@ -387,7 +387,7 @@ func TestCache(t *testing.T) {
|
||||
subj, obj, action = coderdtest.RandomRBACSubject(), coderdtest.RandomRBACObject(), coderdtest.RandomRBACAction()
|
||||
|
||||
// A third will be a legit error
|
||||
testutil.RequireSendCtx(ctx, t, authOut, assert.AnError)
|
||||
testutil.RequireSend(ctx, t, authOut, assert.AnError)
|
||||
err = authz.Authorize(ctx, subj, action, obj)
|
||||
assert.EqualError(t, err, assert.AnError.Error())
|
||||
// This should be cached and not hit the wrapped authorizer again.
|
||||
|
||||
@@ -2172,7 +2172,7 @@ func TestTemplateVersionDynamicParameters(t *testing.T) {
|
||||
previews := stream.Chan()
|
||||
|
||||
// Should automatically send a form state with all defaulted/empty values
|
||||
preview := testutil.RequireRecvCtx(ctx, t, previews)
|
||||
preview := testutil.TryReceive(ctx, t, previews)
|
||||
require.Empty(t, preview.Diagnostics)
|
||||
require.Equal(t, "group", preview.Parameters[0].Name)
|
||||
require.True(t, preview.Parameters[0].Value.Valid())
|
||||
@@ -2184,7 +2184,7 @@ func TestTemplateVersionDynamicParameters(t *testing.T) {
|
||||
Inputs: map[string]string{"group": "Bloob"},
|
||||
})
|
||||
require.NoError(t, err)
|
||||
preview = testutil.RequireRecvCtx(ctx, t, previews)
|
||||
preview = testutil.TryReceive(ctx, t, previews)
|
||||
require.Equal(t, 1, preview.ID)
|
||||
require.Empty(t, preview.Diagnostics)
|
||||
require.Equal(t, "group", preview.Parameters[0].Name)
|
||||
@@ -2197,7 +2197,7 @@ func TestTemplateVersionDynamicParameters(t *testing.T) {
|
||||
Inputs: map[string]string{},
|
||||
})
|
||||
require.NoError(t, err)
|
||||
preview = testutil.RequireRecvCtx(ctx, t, previews)
|
||||
preview = testutil.TryReceive(ctx, t, previews)
|
||||
require.Equal(t, 3, preview.ID)
|
||||
require.Empty(t, preview.Diagnostics)
|
||||
require.Equal(t, "group", preview.Parameters[0].Name)
|
||||
|
||||
@@ -117,8 +117,8 @@ func TestFirstUser(t *testing.T) {
|
||||
_, err := client.CreateFirstUser(ctx, req)
|
||||
require.NoError(t, err)
|
||||
|
||||
_ = testutil.RequireRecvCtx(ctx, t, trialGenerated)
|
||||
_ = testutil.RequireRecvCtx(ctx, t, entitlementsRefreshed)
|
||||
_ = testutil.TryReceive(ctx, t, trialGenerated)
|
||||
_ = testutil.TryReceive(ctx, t, entitlementsRefreshed)
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
@@ -653,7 +653,7 @@ func TestWorkspaceAgentClientCoordinate_ResumeToken(t *testing.T) {
|
||||
// random value.
|
||||
originalResumeToken, err := connectToCoordinatorAndFetchResumeToken(ctx, logger, client, agentAndBuild.WorkspaceAgent.ID, "")
|
||||
require.NoError(t, err)
|
||||
originalPeerID := testutil.RequireRecvCtx(ctx, t, resumeTokenProvider.generateCalls)
|
||||
originalPeerID := testutil.TryReceive(ctx, t, resumeTokenProvider.generateCalls)
|
||||
require.NotEqual(t, originalPeerID, uuid.Nil)
|
||||
|
||||
// Connect with a valid resume token, and ensure that the peer ID is set to
|
||||
@@ -661,9 +661,9 @@ func TestWorkspaceAgentClientCoordinate_ResumeToken(t *testing.T) {
|
||||
clock.Advance(time.Second)
|
||||
newResumeToken, err := connectToCoordinatorAndFetchResumeToken(ctx, logger, client, agentAndBuild.WorkspaceAgent.ID, originalResumeToken)
|
||||
require.NoError(t, err)
|
||||
verifiedToken := testutil.RequireRecvCtx(ctx, t, resumeTokenProvider.verifyCalls)
|
||||
verifiedToken := testutil.TryReceive(ctx, t, resumeTokenProvider.verifyCalls)
|
||||
require.Equal(t, originalResumeToken, verifiedToken)
|
||||
newPeerID := testutil.RequireRecvCtx(ctx, t, resumeTokenProvider.generateCalls)
|
||||
newPeerID := testutil.TryReceive(ctx, t, resumeTokenProvider.generateCalls)
|
||||
require.Equal(t, originalPeerID, newPeerID)
|
||||
require.NotEqual(t, originalResumeToken, newResumeToken)
|
||||
|
||||
@@ -677,7 +677,7 @@ func TestWorkspaceAgentClientCoordinate_ResumeToken(t *testing.T) {
|
||||
require.Equal(t, http.StatusUnauthorized, sdkErr.StatusCode())
|
||||
require.Len(t, sdkErr.Validations, 1)
|
||||
require.Equal(t, "resume_token", sdkErr.Validations[0].Field)
|
||||
verifiedToken = testutil.RequireRecvCtx(ctx, t, resumeTokenProvider.verifyCalls)
|
||||
verifiedToken = testutil.TryReceive(ctx, t, resumeTokenProvider.verifyCalls)
|
||||
require.Equal(t, "invalid", verifiedToken)
|
||||
|
||||
select {
|
||||
@@ -725,7 +725,7 @@ func TestWorkspaceAgentClientCoordinate_ResumeToken(t *testing.T) {
|
||||
// random value.
|
||||
originalResumeToken, err := connectToCoordinatorAndFetchResumeToken(ctx, logger, client, agentAndBuild.WorkspaceAgent.ID, "")
|
||||
require.NoError(t, err)
|
||||
originalPeerID := testutil.RequireRecvCtx(ctx, t, resumeTokenProvider.generateCalls)
|
||||
originalPeerID := testutil.TryReceive(ctx, t, resumeTokenProvider.generateCalls)
|
||||
require.NotEqual(t, originalPeerID, uuid.Nil)
|
||||
|
||||
// Connect with an outdated token, and ensure that the peer ID is set to a
|
||||
@@ -739,9 +739,9 @@ func TestWorkspaceAgentClientCoordinate_ResumeToken(t *testing.T) {
|
||||
clock.Advance(time.Second)
|
||||
newResumeToken, err := connectToCoordinatorAndFetchResumeToken(ctx, logger, client, agentAndBuild.WorkspaceAgent.ID, outdatedToken)
|
||||
require.NoError(t, err)
|
||||
verifiedToken := testutil.RequireRecvCtx(ctx, t, resumeTokenProvider.verifyCalls)
|
||||
verifiedToken := testutil.TryReceive(ctx, t, resumeTokenProvider.verifyCalls)
|
||||
require.Equal(t, outdatedToken, verifiedToken)
|
||||
newPeerID := testutil.RequireRecvCtx(ctx, t, resumeTokenProvider.generateCalls)
|
||||
newPeerID := testutil.TryReceive(ctx, t, resumeTokenProvider.generateCalls)
|
||||
require.NotEqual(t, originalPeerID, newPeerID)
|
||||
require.NotEqual(t, originalResumeToken, newResumeToken)
|
||||
})
|
||||
@@ -1912,8 +1912,8 @@ func TestWorkspaceAgent_Metadata_CatchMemoryLeak(t *testing.T) {
|
||||
// testing it is not straightforward.
|
||||
db.err.Store(&wantErr)
|
||||
|
||||
testutil.RequireRecvCtx(ctx, t, metadataDone)
|
||||
testutil.RequireRecvCtx(ctx, t, postDone)
|
||||
testutil.TryReceive(ctx, t, metadataDone)
|
||||
testutil.TryReceive(ctx, t, postDone)
|
||||
}
|
||||
|
||||
func TestWorkspaceAgent_Startup(t *testing.T) {
|
||||
@@ -2358,7 +2358,7 @@ func TestUserTailnetTelemetry(t *testing.T) {
|
||||
defer wsConn.Close(websocket.StatusNormalClosure, "done")
|
||||
|
||||
// Check telemetry
|
||||
snapshot := testutil.RequireRecvCtx(ctx, t, fTelemetry.snapshots)
|
||||
snapshot := testutil.TryReceive(ctx, t, fTelemetry.snapshots)
|
||||
require.Len(t, snapshot.UserTailnetConnections, 1)
|
||||
telemetryConnection := snapshot.UserTailnetConnections[0]
|
||||
require.Equal(t, memberUser.ID.String(), telemetryConnection.UserID)
|
||||
@@ -2373,7 +2373,7 @@ func TestUserTailnetTelemetry(t *testing.T) {
|
||||
err = wsConn.Close(websocket.StatusNormalClosure, "done")
|
||||
require.NoError(t, err)
|
||||
|
||||
snapshot = testutil.RequireRecvCtx(ctx, t, fTelemetry.snapshots)
|
||||
snapshot = testutil.TryReceive(ctx, t, fTelemetry.snapshots)
|
||||
require.Len(t, snapshot.UserTailnetConnections, 1)
|
||||
telemetryDisconnection := snapshot.UserTailnetConnections[0]
|
||||
require.Equal(t, memberUser.ID.String(), telemetryDisconnection.UserID)
|
||||
|
||||
@@ -90,7 +90,7 @@ func TestAgentConnectionMonitor_ContextCancel(t *testing.T) {
|
||||
fConn.requireEventuallyClosed(t, websocket.StatusGoingAway, "canceled")
|
||||
|
||||
// make sure we got at least one additional update on close
|
||||
_ = testutil.RequireRecvCtx(ctx, t, done)
|
||||
_ = testutil.TryReceive(ctx, t, done)
|
||||
m := fUpdater.getUpdates()
|
||||
require.Greater(t, m, n)
|
||||
}
|
||||
@@ -293,7 +293,7 @@ func TestAgentConnectionMonitor_StartClose(t *testing.T) {
|
||||
uut.close()
|
||||
close(closed)
|
||||
}()
|
||||
_ = testutil.RequireRecvCtx(ctx, t, closed)
|
||||
_ = testutil.TryReceive(ctx, t, closed)
|
||||
}
|
||||
|
||||
type fakePingerCloser struct {
|
||||
|
||||
@@ -108,7 +108,7 @@ func TestWorkspaceUpdates(t *testing.T) {
|
||||
_ = sub.Close()
|
||||
})
|
||||
|
||||
update := testutil.RequireRecvCtx(ctx, t, sub.Updates())
|
||||
update := testutil.TryReceive(ctx, t, sub.Updates())
|
||||
slices.SortFunc(update.UpsertedWorkspaces, func(a, b *proto.Workspace) int {
|
||||
return strings.Compare(a.Name, b.Name)
|
||||
})
|
||||
@@ -185,7 +185,7 @@ func TestWorkspaceUpdates(t *testing.T) {
|
||||
WorkspaceID: ws1ID,
|
||||
})
|
||||
|
||||
update = testutil.RequireRecvCtx(ctx, t, sub.Updates())
|
||||
update = testutil.TryReceive(ctx, t, sub.Updates())
|
||||
slices.SortFunc(update.UpsertedWorkspaces, func(a, b *proto.Workspace) int {
|
||||
return strings.Compare(a.Name, b.Name)
|
||||
})
|
||||
@@ -284,7 +284,7 @@ func TestWorkspaceUpdates(t *testing.T) {
|
||||
DeletedAgents: []*proto.Agent{},
|
||||
}
|
||||
|
||||
update := testutil.RequireRecvCtx(ctx, t, sub.Updates())
|
||||
update := testutil.TryReceive(ctx, t, sub.Updates())
|
||||
slices.SortFunc(update.UpsertedWorkspaces, func(a, b *proto.Workspace) int {
|
||||
return strings.Compare(a.Name, b.Name)
|
||||
})
|
||||
@@ -296,7 +296,7 @@ func TestWorkspaceUpdates(t *testing.T) {
|
||||
_ = resub.Close()
|
||||
})
|
||||
|
||||
update = testutil.RequireRecvCtx(ctx, t, resub.Updates())
|
||||
update = testutil.TryReceive(ctx, t, resub.Updates())
|
||||
slices.SortFunc(update.UpsertedWorkspaces, func(a, b *proto.Workspace) int {
|
||||
return strings.Compare(a.Name, b.Name)
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user