mirror of
https://github.com/coder/coder.git
synced 2026-10-16 14:48:56 +08:00
refactor(agentsdk): remove unused external auth workdir
This commit is contained in:
+2
-4
@@ -89,7 +89,6 @@ func gitAskpass(agentAuth *AgentAuth) *serpent.Command {
|
||||
|
||||
token, err := client.ExternalAuth(ctx, agentsdk.ExternalAuthRequest{
|
||||
Match: host,
|
||||
Workdir: workingDirectory,
|
||||
GitBranch: gitBranch,
|
||||
GitRemoteOrigin: gitRemoteOrigin,
|
||||
})
|
||||
@@ -124,9 +123,8 @@ func gitAskpass(agentAuth *AgentAuth) *serpent.Command {
|
||||
|
||||
for r := retry.New(250*time.Millisecond, 10*time.Second); r.Wait(ctx); {
|
||||
token, err = client.ExternalAuth(ctx, agentsdk.ExternalAuthRequest{
|
||||
Match: host,
|
||||
Listen: true,
|
||||
Workdir: workingDirectory,
|
||||
Match: host,
|
||||
Listen: true,
|
||||
})
|
||||
if err != nil {
|
||||
continue
|
||||
|
||||
Generated
-6
@@ -10050,12 +10050,6 @@ const docTemplate = `{
|
||||
"description": "Wait for a new token to be issued",
|
||||
"name": "listen",
|
||||
"in": "query"
|
||||
},
|
||||
{
|
||||
"type": "string",
|
||||
"description": "Working directory used for git context refresh",
|
||||
"name": "workdir",
|
||||
"in": "query"
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
|
||||
Generated
-6
@@ -8893,12 +8893,6 @@
|
||||
"description": "Wait for a new token to be issued",
|
||||
"name": "listen",
|
||||
"in": "query"
|
||||
},
|
||||
{
|
||||
"type": "string",
|
||||
"description": "Working directory used for git context refresh",
|
||||
"name": "workdir",
|
||||
"in": "query"
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
|
||||
@@ -1826,7 +1826,6 @@ func convertWorkspaceAgentMetadata(db []database.WorkspaceAgentMetadatum) []code
|
||||
// @Param match query string true "Match"
|
||||
// @Param id query string true "Provider ID"
|
||||
// @Param listen query bool false "Wait for a new token to be issued"
|
||||
// @Param workdir query string false "Working directory used for git context refresh"
|
||||
// @Success 200 {object} agentsdk.ExternalAuthResponse
|
||||
// @Router /workspaceagents/me/external-auth [get]
|
||||
func (api *API) workspaceAgentsExternalAuth(rw http.ResponseWriter, r *http.Request) {
|
||||
|
||||
@@ -645,9 +645,6 @@ type ExternalAuthRequest struct {
|
||||
ID string
|
||||
// Match is an arbitrary string matched against the regex of the provider.
|
||||
Match string
|
||||
// Workdir is an optional working directory used for follow-up workspace
|
||||
// context refreshes.
|
||||
Workdir string
|
||||
// GitBranch is the current git branch in the working directory.
|
||||
// Sent by the agent so the control plane can resolve diffs
|
||||
// without SSHing into the workspace.
|
||||
@@ -671,9 +668,6 @@ func (c *Client) ExternalAuth(ctx context.Context, req ExternalAuthRequest) (Ext
|
||||
if req.Listen {
|
||||
q.Set("listen", "true")
|
||||
}
|
||||
if req.Workdir != "" {
|
||||
q.Set("workdir", req.Workdir)
|
||||
}
|
||||
if req.GitBranch != "" {
|
||||
q.Set("git_branch", req.GitBranch)
|
||||
}
|
||||
|
||||
@@ -154,39 +154,17 @@ func TestRewriteDERPMap(t *testing.T) {
|
||||
require.Equal(t, 44558, node.DERPPort)
|
||||
}
|
||||
|
||||
func TestExternalAuthRequestWorkdirQuery(t *testing.T) {
|
||||
func TestExternalAuthRequestQuery(t *testing.T) {
|
||||
t.Parallel()
|
||||
|
||||
t.Run("IncludesWorkdirWhenSet", func(t *testing.T) {
|
||||
t.Run("IncludesGitRefFieldsAndOmitsWorkdir", func(t *testing.T) {
|
||||
t.Parallel()
|
||||
|
||||
const expectedWorkdir = "/tmp/repo with spaces"
|
||||
srv := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
||||
require.Equal(t, "/api/v2/workspaceagents/me/external-auth", r.URL.Path)
|
||||
require.Equal(t, "true", r.URL.Query().Get("listen"))
|
||||
require.Equal(t, expectedWorkdir, r.URL.Query().Get("workdir"))
|
||||
_, _ = w.Write([]byte(`{"type":"github","access_token":"token"}`))
|
||||
}))
|
||||
defer srv.Close()
|
||||
|
||||
parsedURL, err := url.Parse(srv.URL)
|
||||
require.NoError(t, err)
|
||||
|
||||
client := agentsdk.New(parsedURL, agentsdk.WithFixedToken("token"))
|
||||
_, err = client.ExternalAuth(testutil.Context(t, testutil.WaitShort), agentsdk.ExternalAuthRequest{
|
||||
Match: "github.com",
|
||||
Listen: true,
|
||||
Workdir: expectedWorkdir,
|
||||
})
|
||||
require.NoError(t, err)
|
||||
})
|
||||
|
||||
t.Run("OmitsWorkdirWhenNotSet", func(t *testing.T) {
|
||||
t.Parallel()
|
||||
|
||||
srv := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
||||
require.Equal(t, "/api/v2/workspaceagents/me/external-auth", r.URL.Path)
|
||||
require.Equal(t, "", r.URL.Query().Get("workdir"))
|
||||
require.Equal(t, "main", r.URL.Query().Get("git_branch"))
|
||||
require.Equal(t, "https://github.com/coder/coder.git", r.URL.Query().Get("git_remote_origin"))
|
||||
require.False(t, r.URL.Query().Has("workdir"))
|
||||
_, _ = w.Write([]byte(`{"type":"github","access_token":"token"}`))
|
||||
}))
|
||||
@@ -197,7 +175,10 @@ func TestExternalAuthRequestWorkdirQuery(t *testing.T) {
|
||||
|
||||
client := agentsdk.New(parsedURL, agentsdk.WithFixedToken("token"))
|
||||
_, err = client.ExternalAuth(testutil.Context(t, testutil.WaitShort), agentsdk.ExternalAuthRequest{
|
||||
Match: "github.com",
|
||||
Match: "github.com",
|
||||
Listen: true,
|
||||
GitBranch: "main",
|
||||
GitRemoteOrigin: "https://github.com/coder/coder.git",
|
||||
})
|
||||
require.NoError(t, err)
|
||||
})
|
||||
|
||||
Generated
+5
-6
@@ -253,12 +253,11 @@ curl -X GET http://coder-server:8080/api/v2/workspaceagents/me/external-auth?mat
|
||||
|
||||
### Parameters
|
||||
|
||||
| Name | In | Type | Required | Description |
|
||||
|-----------|-------|---------|----------|------------------------------------------------|
|
||||
| `match` | query | string | true | Match |
|
||||
| `id` | query | string | true | Provider ID |
|
||||
| `listen` | query | boolean | false | Wait for a new token to be issued |
|
||||
| `workdir` | query | string | false | Working directory used for git context refresh |
|
||||
| Name | In | Type | Required | Description |
|
||||
|----------|-------|---------|----------|-----------------------------------|
|
||||
| `match` | query | string | true | Match |
|
||||
| `id` | query | string | true | Provider ID |
|
||||
| `listen` | query | boolean | false | Wait for a new token to be issued |
|
||||
|
||||
### Example responses
|
||||
|
||||
|
||||
Reference in New Issue
Block a user