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

Function TestOffsetLimit

coderd/workspaces_test.go:3135–3181  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

3133}
3134
3135func TestOffsetLimit(t *testing.T) {
3136 t.Parallel()
3137 ctx, cancel := context.WithTimeout(context.Background(), testutil.WaitLong)
3138 defer cancel()
3139 client := coderdtest.New(t, &coderdtest.Options{IncludeProvisionerDaemon: true})
3140 user := coderdtest.CreateFirstUser(t, client)
3141 version := coderdtest.CreateTemplateVersion(t, client, user.OrganizationID, nil)
3142 coderdtest.AwaitTemplateVersionJobCompleted(t, client, version.ID)
3143 template := coderdtest.CreateTemplate(t, client, user.OrganizationID, version.ID)
3144 _ = coderdtest.CreateWorkspace(t, client, template.ID)
3145 _ = coderdtest.CreateWorkspace(t, client, template.ID)
3146 _ = coderdtest.CreateWorkspace(t, client, template.ID)
3147
3148 // Case 1: empty finds all workspaces
3149 ws, err := client.Workspaces(ctx, codersdk.WorkspaceFilter{})
3150 require.NoError(t, err)
3151 require.Len(t, ws.Workspaces, 3)
3152
3153 // Case 2: offset 1 finds 2 workspaces
3154 ws, err = client.Workspaces(ctx, codersdk.WorkspaceFilter{
3155 Offset: 1,
3156 })
3157 require.NoError(t, err)
3158 require.Len(t, ws.Workspaces, 2)
3159
3160 // Case 3: offset 1 limit 1 finds 1 workspace
3161 ws, err = client.Workspaces(ctx, codersdk.WorkspaceFilter{
3162 Offset: 1,
3163 Limit: 1,
3164 })
3165 require.NoError(t, err)
3166 require.Len(t, ws.Workspaces, 1)
3167
3168 // Case 4: offset 3 finds no workspaces
3169 ws, err = client.Workspaces(ctx, codersdk.WorkspaceFilter{
3170 Offset: 3,
3171 })
3172 require.NoError(t, err)
3173 require.Len(t, ws.Workspaces, 0)
3174 require.Equal(t, ws.Count, 3) // can't find workspaces, but count is non-zero
3175
3176 // Case 5: offset out of range
3177 ws, err = client.Workspaces(ctx, codersdk.WorkspaceFilter{
3178 Offset: math.MaxInt32 + 1, // Potential risk: pq: OFFSET must not be negative
3179 })
3180 require.Error(t, err)
3181}
3182
3183func TestWorkspaceUpdateAutostart(t *testing.T) {
3184 t.Parallel()

Callers

nothing calls this directly

Calls 10

NewFunction · 0.92
CreateFirstUserFunction · 0.92
CreateTemplateVersionFunction · 0.92
CreateTemplateFunction · 0.92
CreateWorkspaceFunction · 0.92
WorkspacesMethod · 0.80
LenMethod · 0.45
EqualMethod · 0.45
ErrorMethod · 0.45

Tested by

no test coverage detected