Skip to content

Commit fab5d8c

Browse files
committed
Maintain old behavior
1 parent 9a1b182 commit fab5d8c

File tree

3 files changed

+14
-13
lines changed

3 files changed

+14
-13
lines changed

coderd/httpapi/queryparams.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ func (p *QueryParamParser) ParseString(r *http.Request, def string, queryParam s
101101
}
102102

103103
func parse[T any](r *http.Request, parse func(v string) (T, error), def T, queryParam string) (T, error) {
104-
if !r.URL.Query().Has(queryParam) {
104+
if !r.URL.Query().Has(queryParam) || r.URL.Query().Get(queryParam) == "" {
105105
return def, nil
106106
}
107107
str := r.URL.Query().Get(queryParam)

coderd/httpapi/queryparams_test.go

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -57,9 +57,9 @@ func TestParseQueryParams(t *testing.T) {
5757
Expected: uuid.MustParse("11111111-1111-1111-1111-111111111111"),
5858
},
5959
{
60-
QueryParam: "empty",
61-
Value: "",
62-
ExpectedErrorContains: "must be a valid uuid",
60+
QueryParam: "empty",
61+
Value: "",
62+
Expected: uuid.Nil,
6363
},
6464
}
6565

@@ -103,10 +103,9 @@ func TestParseQueryParams(t *testing.T) {
103103
Expected: 100,
104104
},
105105
{
106-
QueryParam: "empty",
107-
Value: "",
108-
Expected: 0,
109-
ExpectedErrorContains: "must be a valid integer",
106+
QueryParam: "empty",
107+
Value: "",
108+
Expected: 0,
110109
},
111110
{
112111
QueryParam: "no_value",
@@ -147,6 +146,7 @@ func TestParseQueryParams(t *testing.T) {
147146
{
148147
QueryParam: "empty",
149148
Value: "",
149+
Default: []uuid.UUID{},
150150
Expected: []uuid.UUID{},
151151
},
152152
{

coderd/pagination_internal_test.go

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import (
1414

1515
func TestPagination(t *testing.T) {
1616
t.Parallel()
17+
const invalidValues = "Query parameters have invalid values"
1718
testCases := []struct {
1819
Name string
1920

@@ -27,27 +28,27 @@ func TestPagination(t *testing.T) {
2728
{
2829
Name: "BadAfterID",
2930
AfterID: "bogus",
30-
ExpectedError: "Query param 'after_id' must be a valid UUID",
31+
ExpectedError: invalidValues,
3132
},
3233
{
3334
Name: "ShortAfterID",
3435
AfterID: "ff22a7b-bb6f-43d8-83e1-eefe0a1f5197",
35-
ExpectedError: "Query param 'after_id' must be a valid UUID",
36+
ExpectedError: invalidValues,
3637
},
3738
{
3839
Name: "LongAfterID",
3940
AfterID: "cff22a7b-bb6f-43d8-83e1-eefe0a1f51972",
40-
ExpectedError: "Query param 'after_id' must be a valid UUID",
41+
ExpectedError: invalidValues,
4142
},
4243
{
4344
Name: "BadLimit",
4445
Limit: "bogus",
45-
ExpectedError: "Query param 'limit' must be a valid integer",
46+
ExpectedError: invalidValues,
4647
},
4748
{
4849
Name: "BadOffset",
4950
Offset: "bogus",
50-
ExpectedError: "Query param 'offset' must be a valid integer",
51+
ExpectedError: invalidValues,
5152
},
5253

5354
// Valid values

0 commit comments

Comments
 (0)