MCPcopy Index your code
hub / github.com/coder/coder / TestWorkspaceProxyCRUD

Function TestWorkspaceProxyCRUD

enterprise/coderd/workspaceproxy_test.go:205–276  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

203}
204
205func TestWorkspaceProxyCRUD(t *testing.T) {
206 t.Parallel()
207
208 t.Run("CreateAndUpdate", func(t *testing.T) {
209 t.Parallel()
210
211 client, _ := coderdenttest.New(t, &coderdenttest.Options{
212 LicenseOptions: &coderdenttest.LicenseOptions{
213 Features: license.Features{
214 codersdk.FeatureWorkspaceProxy: 1,
215 },
216 },
217 })
218 ctx := testutil.Context(t, testutil.WaitLong)
219 proxyRes, err := client.CreateWorkspaceProxy(ctx, codersdk.CreateWorkspaceProxyRequest{
220 Name: testutil.GetRandomName(t),
221 Icon: "/emojis/flag.png",
222 })
223 require.NoError(t, err)
224
225 found, err := client.WorkspaceProxyByID(ctx, proxyRes.Proxy.ID)
226 require.NoError(t, err)
227 // This will be different, so set it to the same
228 found.Status = proxyRes.Proxy.Status
229 require.Equal(t, proxyRes.Proxy, found, "expected proxy")
230 require.NotEmpty(t, proxyRes.ProxyToken)
231
232 // Update the proxy
233 expName := testutil.GetRandomName(t)
234 expDisplayName := testutil.GetRandomName(t)
235 expIcon := testutil.GetRandomName(t)
236 _, err = client.PatchWorkspaceProxy(ctx, codersdk.PatchWorkspaceProxy{
237 ID: proxyRes.Proxy.ID,
238 Name: expName,
239 DisplayName: expDisplayName,
240 Icon: expIcon,
241 })
242 require.NoError(t, err, "expected no error updating proxy")
243
244 found, err = client.WorkspaceProxyByID(ctx, proxyRes.Proxy.ID)
245 require.NoError(t, err)
246 require.Equal(t, expName, found.Name, "name")
247 require.Equal(t, expDisplayName, found.DisplayName, "display name")
248 require.Equal(t, expIcon, found.IconURL, "icon")
249 })
250
251 t.Run("Delete", func(t *testing.T) {
252 t.Parallel()
253
254 client, _ := coderdenttest.New(t, &coderdenttest.Options{
255 LicenseOptions: &coderdenttest.LicenseOptions{
256 Features: license.Features{
257 codersdk.FeatureWorkspaceProxy: 1,
258 },
259 },
260 })
261 ctx := testutil.Context(t, testutil.WaitLong)
262 proxyRes, err := client.CreateWorkspaceProxy(ctx, codersdk.CreateWorkspaceProxyRequest{

Callers

nothing calls this directly

Calls 12

NewFunction · 0.92
ContextFunction · 0.92
GetRandomNameFunction · 0.92
CreateWorkspaceProxyMethod · 0.80
WorkspaceProxyByIDMethod · 0.80
NotEmptyMethod · 0.80
PatchWorkspaceProxyMethod · 0.80
WorkspaceProxiesMethod · 0.80
RunMethod · 0.65
EqualMethod · 0.45
LenMethod · 0.45

Tested by

no test coverage detected