mirror of
https://github.com/coder/coder.git
synced 2025-07-03 16:13:58 +00:00
feat: add tailnet v2 API support to coordinate endpoint (#11228)
closes #10532 Adds v2 support to the /coordinate endpoint via a query parameter. v1 already has test cases, and we haven't implemented v2 at the client yet, so the only new test case is an unsupported version.
This commit is contained in:
@ -444,6 +444,38 @@ func TestWorkspaceAgentTailnet(t *testing.T) {
|
||||
require.Equal(t, "test", strings.TrimSpace(string(output)))
|
||||
}
|
||||
|
||||
func TestWorkspaceAgentClientCoordinate_BadVersion(t *testing.T) {
|
||||
t.Parallel()
|
||||
client, db := coderdtest.NewWithDatabase(t, nil)
|
||||
user := coderdtest.CreateFirstUser(t, client)
|
||||
|
||||
r := dbfake.WorkspaceBuild(t, db, database.Workspace{
|
||||
OrganizationID: user.OrganizationID,
|
||||
OwnerID: user.UserID,
|
||||
}).WithAgent().Do()
|
||||
|
||||
ctx := testutil.Context(t, testutil.WaitShort)
|
||||
agentToken, err := uuid.Parse(r.AgentToken)
|
||||
require.NoError(t, err)
|
||||
//nolint: gocritic // testing
|
||||
ao, err := db.GetWorkspaceAgentAndOwnerByAuthToken(dbauthz.AsSystemRestricted(ctx), agentToken)
|
||||
require.NoError(t, err)
|
||||
|
||||
//nolint: bodyclose // closed by ReadBodyAsError
|
||||
resp, err := client.Request(ctx, http.MethodGet,
|
||||
fmt.Sprintf("api/v2/workspaceagents/%s/coordinate", ao.WorkspaceAgent.ID),
|
||||
nil,
|
||||
codersdk.WithQueryParam("version", "99.99"))
|
||||
require.NoError(t, err)
|
||||
require.Equal(t, http.StatusBadRequest, resp.StatusCode)
|
||||
err = codersdk.ReadBodyAsError(resp)
|
||||
var sdkErr *codersdk.Error
|
||||
require.ErrorAs(t, err, &sdkErr)
|
||||
require.Equal(t, "Unknown or unsupported API version", sdkErr.Message)
|
||||
require.Len(t, sdkErr.Validations, 1)
|
||||
require.Equal(t, "version", sdkErr.Validations[0].Field)
|
||||
}
|
||||
|
||||
func TestWorkspaceAgentTailnetDirectDisabled(t *testing.T) {
|
||||
t.Parallel()
|
||||
|
||||
|
Reference in New Issue
Block a user