Skip to content

Commit 519d724

Browse files
authored
fix: Sort resources by name (#3941)
Fixes #3489.
1 parent 332056a commit 519d724

File tree

4 files changed

+18
-8
lines changed

4 files changed

+18
-8
lines changed

coderd/provisionerjobs.go

+4
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import (
77
"errors"
88
"fmt"
99
"net/http"
10+
"sort"
1011
"strconv"
1112
"time"
1213

@@ -282,6 +283,9 @@ func (api *API) provisionerJobResources(rw http.ResponseWriter, r *http.Request,
282283
}
283284
apiResources = append(apiResources, convertWorkspaceResource(resource, agents, metadata))
284285
}
286+
sort.Slice(apiResources, func(i, j int) bool {
287+
return apiResources[i].Name < apiResources[j].Name
288+
})
285289

286290
httpapi.Write(rw, http.StatusOK, apiResources)
287291
}

coderd/templateversions_test.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -396,9 +396,9 @@ func TestTemplateVersionResources(t *testing.T) {
396396
require.NoError(t, err)
397397
require.NotNil(t, resources)
398398
require.Len(t, resources, 4)
399-
require.Equal(t, "some", resources[0].Name)
400-
require.Equal(t, "example", resources[0].Type)
401-
require.Len(t, resources[0].Agents, 1)
399+
require.Equal(t, "some", resources[2].Name)
400+
require.Equal(t, "example", resources[2].Type)
401+
require.Len(t, resources[2].Agents, 1)
402402
})
403403
}
404404

coderd/workspacebuilds_test.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -416,9 +416,9 @@ func TestWorkspaceBuildResources(t *testing.T) {
416416
require.NoError(t, err)
417417
require.NotNil(t, resources)
418418
require.Len(t, resources, 2)
419-
require.Equal(t, "some", resources[0].Name)
420-
require.Equal(t, "example", resources[0].Type)
421-
require.Len(t, resources[0].Agents, 1)
419+
require.Equal(t, "some", resources[1].Name)
420+
require.Equal(t, "example", resources[1].Type)
421+
require.Len(t, resources[1].Agents, 1)
422422
})
423423
}
424424

coderd/workspaceresources_test.go

+8-2
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ func TestWorkspaceResource(t *testing.T) {
2525
Type: &proto.Provision_Response_Complete{
2626
Complete: &proto.Provision_Complete{
2727
Resources: []*proto.Resource{{
28-
Name: "some",
28+
Name: "beta",
2929
Type: "example",
3030
Agents: []*proto.Agent{{
3131
Id: "something",
@@ -36,6 +36,9 @@ func TestWorkspaceResource(t *testing.T) {
3636
Name: "a",
3737
Auth: &proto.Agent_Token{},
3838
}},
39+
}, {
40+
Name: "alpha",
41+
Type: "example",
3942
}},
4043
},
4144
},
@@ -51,7 +54,10 @@ func TestWorkspaceResource(t *testing.T) {
5154

5255
resources, err := client.WorkspaceResourcesByBuild(ctx, workspace.LatestBuild.ID)
5356
require.NoError(t, err)
54-
resource, err := client.WorkspaceResource(ctx, resources[0].ID)
57+
// Ensure it's sorted alphabetically!
58+
require.Equal(t, "alpha", resources[0].Name)
59+
require.Equal(t, "beta", resources[1].Name)
60+
resource, err := client.WorkspaceResource(ctx, resources[1].ID)
5561
require.NoError(t, err)
5662
require.Len(t, resource.Agents, 2)
5763
// Ensure it's sorted alphabetically!

0 commit comments

Comments
 (0)