mirror of https://github.com/coder/coder.git
chore(coderd): add test to assert agent token invalid when workspace deleted (#12290)
This commit is contained in:
parent
7eed40bd99
commit
74b749b890
|
@ -406,6 +406,33 @@ func TestWorkspaceAgentConnectRPC(t *testing.T) {
|
||||||
require.ErrorAs(t, err, &sdkErr)
|
require.ErrorAs(t, err, &sdkErr)
|
||||||
require.Equal(t, http.StatusForbidden, sdkErr.StatusCode())
|
require.Equal(t, http.StatusForbidden, sdkErr.StatusCode())
|
||||||
})
|
})
|
||||||
|
|
||||||
|
t.Run("FailDeleted", func(t *testing.T) {
|
||||||
|
t.Parallel()
|
||||||
|
|
||||||
|
ctx := testutil.Context(t, testutil.WaitLong)
|
||||||
|
client, db := coderdtest.NewWithDatabase(t, nil)
|
||||||
|
user := coderdtest.CreateFirstUser(t, client)
|
||||||
|
// Given: a workspace exists
|
||||||
|
seed := database.Workspace{OrganizationID: user.OrganizationID, OwnerID: user.UserID}
|
||||||
|
wsb := dbfake.WorkspaceBuild(t, db, seed).WithAgent().Do()
|
||||||
|
// When: the workspace is marked as soft-deleted
|
||||||
|
// nolint:gocritic // this is a test
|
||||||
|
err := db.UpdateWorkspaceDeletedByID(
|
||||||
|
dbauthz.AsProvisionerd(ctx),
|
||||||
|
database.UpdateWorkspaceDeletedByIDParams{ID: wsb.Workspace.ID, Deleted: true},
|
||||||
|
)
|
||||||
|
require.NoError(t, err)
|
||||||
|
// Then: the agent token should no longer be valid
|
||||||
|
agentClient := agentsdk.New(client.URL)
|
||||||
|
agentClient.SetSessionToken(wsb.AgentToken)
|
||||||
|
_, err = agentClient.ConnectRPC(ctx)
|
||||||
|
require.Error(t, err)
|
||||||
|
var sdkErr *codersdk.Error
|
||||||
|
require.ErrorAs(t, err, &sdkErr)
|
||||||
|
// Then: we should get a 401 Unauthorized response
|
||||||
|
require.Equal(t, http.StatusUnauthorized, sdkErr.StatusCode())
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestWorkspaceAgentTailnet(t *testing.T) {
|
func TestWorkspaceAgentTailnet(t *testing.T) {
|
||||||
|
|
Loading…
Reference in New Issue