Skip to content

Commit 6bad9ae

Browse files
committed
Fix IPC tests
1 parent d5197e9 commit 6bad9ae

File tree

2 files changed

+13
-11
lines changed

2 files changed

+13
-11
lines changed

cli/vscodeipc/vscodeipc.go

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@ import (
2323
"github.com/coder/coder/codersdk"
2424
)
2525

26+
const AuthHeader = "Coder-IPC-Token"
27+
2628
// New creates a VS Code IPC client that can be used to communicate with workspaces.
2729
//
2830
// Creating this IPC was required instead of using SSH, because we're unable to get
@@ -290,10 +292,10 @@ func (e *execWriter) Write(data []byte) (int, error) {
290292
func sessionTokenMiddleware(sessionToken string) func(h http.Handler) http.Handler {
291293
return func(h http.Handler) http.Handler {
292294
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
293-
token := r.Header.Get("Coder-IPC-Token")
295+
token := r.Header.Get(AuthHeader)
294296
if token == "" {
295297
httpapi.Write(r.Context(), w, http.StatusUnauthorized, codersdk.Response{
296-
Message: "A session token must be provided in the `Coder-IPC-Token` header.",
298+
Message: fmt.Sprintf("A session token must be provided in the `%s` header.", AuthHeader),
297299
})
298300
return
299301
}

cli/vscodeipc/vscodeipc_test.go

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -110,8 +110,8 @@ func TestVSCodeIPC(t *testing.T) {
110110
// Ensure that we're actually connected!
111111
require.Eventually(t, func() bool {
112112
res := httptest.NewRecorder()
113-
req := httptest.NewRequest(http.MethodGet, "/network", nil)
114-
req.Header.Set("Coder-Session-Token", token)
113+
req := httptest.NewRequest(http.MethodGet, "/v1/network", nil)
114+
req.Header.Set(vscodeipc.AuthHeader, token)
115115
handler.ServeHTTP(res, req)
116116
network := &vscodeipc.NetworkResponse{}
117117
err = json.NewDecoder(res.Body).Decode(&network)
@@ -125,16 +125,16 @@ func TestVSCodeIPC(t *testing.T) {
125125
t.Run("NoSessionToken", func(t *testing.T) {
126126
t.Parallel()
127127
res := httptest.NewRecorder()
128-
req := httptest.NewRequest(http.MethodGet, fmt.Sprintf("/port/%s", port), nil)
128+
req := httptest.NewRequest(http.MethodGet, fmt.Sprintf("/v1/port/%s", port), nil)
129129
handler.ServeHTTP(res, req)
130130
require.Equal(t, http.StatusUnauthorized, res.Code)
131131
})
132132

133133
t.Run("MismatchedSessionToken", func(t *testing.T) {
134134
t.Parallel()
135135
res := httptest.NewRecorder()
136-
req := httptest.NewRequest(http.MethodGet, fmt.Sprintf("/port/%s", port), nil)
137-
req.Header.Set("Coder-Session-Token", uuid.NewString())
136+
req := httptest.NewRequest(http.MethodGet, fmt.Sprintf("/v1/port/%s", port), nil)
137+
req.Header.Set(vscodeipc.AuthHeader, uuid.NewString())
138138
handler.ServeHTTP(res, req)
139139
require.Equal(t, http.StatusUnauthorized, res.Code)
140140
})
@@ -147,8 +147,8 @@ func TestVSCodeIPC(t *testing.T) {
147147
defer input.Close()
148148
defer output.Close()
149149
res := &hijackable{httptest.NewRecorder(), output}
150-
req := httptest.NewRequest(http.MethodGet, fmt.Sprintf("/port/%s", port), nil)
151-
req.Header.Set("Coder-Session-Token", token)
150+
req := httptest.NewRequest(http.MethodGet, fmt.Sprintf("/v1/port/%s", port), nil)
151+
req.Header.Set(vscodeipc.AuthHeader, token)
152152
go handler.ServeHTTP(res, req)
153153

154154
req, err := http.NewRequestWithContext(ctx, http.MethodGet, "http://127.0.0.1/", nil)
@@ -177,8 +177,8 @@ func TestVSCodeIPC(t *testing.T) {
177177
data, _ := json.Marshal(vscodeipc.ExecuteRequest{
178178
Command: "echo test",
179179
})
180-
req := httptest.NewRequest(http.MethodPost, "/execute", bytes.NewReader(data))
181-
req.Header.Set("Coder-Session-Token", token)
180+
req := httptest.NewRequest(http.MethodPost, "/v1/execute", bytes.NewReader(data))
181+
req.Header.Set(vscodeipc.AuthHeader, token)
182182
handler.ServeHTTP(res, req)
183183

184184
decoder := json.NewDecoder(res.Body)

0 commit comments

Comments
 (0)