Skip to content

Commit d257806

Browse files
committed
fix unit tests
1 parent df0015e commit d257806

File tree

9 files changed

+25
-16
lines changed

9 files changed

+25
-16
lines changed

coderd/coderd.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1188,7 +1188,7 @@ func (api *API) CreateInMemoryProvisionerDaemon(ctx context.Context, name string
11881188
Tags: provisionersdk.MutateTags(uuid.Nil, nil),
11891189
LastSeenAt: sql.NullTime{Time: dbtime.Now(), Valid: true},
11901190
Version: buildinfo.Version(),
1191-
APIVersion: provisionersdk.APIVersionCurrent,
1191+
APIVersion: provisionersdk.VersionCurrent.String(),
11921192
})
11931193
if err != nil {
11941194
return nil, xerrors.Errorf("failed to create in-memory provisioner daemon: %w", err)

coderd/database/dbpurge/dbpurge_test.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -218,7 +218,7 @@ func TestDeleteOldProvisionerDaemons(t *testing.T) {
218218
CreatedAt: now.Add(-14 * 24 * time.Hour),
219219
LastSeenAt: sql.NullTime{Valid: true, Time: now.Add(-7 * 24 * time.Hour).Add(time.Minute)},
220220
Version: "1.0.0",
221-
APIVersion: provisionersdk.APIVersionCurrent,
221+
APIVersion: provisionersdk.VersionCurrent.String(),
222222
})
223223
require.NoError(t, err)
224224
_, err = db.UpsertProvisionerDaemon(ctx, database.UpsertProvisionerDaemonParams{
@@ -229,7 +229,7 @@ func TestDeleteOldProvisionerDaemons(t *testing.T) {
229229
CreatedAt: now.Add(-8 * 24 * time.Hour),
230230
LastSeenAt: sql.NullTime{Valid: true, Time: now.Add(-8 * 24 * time.Hour).Add(time.Hour)},
231231
Version: "1.0.0",
232-
APIVersion: provisionersdk.APIVersionCurrent,
232+
APIVersion: provisionersdk.VersionCurrent.String(),
233233
})
234234
require.NoError(t, err)
235235
_, err = db.UpsertProvisionerDaemon(ctx, database.UpsertProvisionerDaemonParams{
@@ -242,7 +242,7 @@ func TestDeleteOldProvisionerDaemons(t *testing.T) {
242242
},
243243
CreatedAt: now.Add(-9 * 24 * time.Hour),
244244
Version: "1.0.0",
245-
APIVersion: provisionersdk.APIVersionCurrent,
245+
APIVersion: provisionersdk.VersionCurrent.String(),
246246
})
247247
require.NoError(t, err)
248248
_, err = db.UpsertProvisionerDaemon(ctx, database.UpsertProvisionerDaemonParams{
@@ -256,7 +256,7 @@ func TestDeleteOldProvisionerDaemons(t *testing.T) {
256256
CreatedAt: now.Add(-6 * 24 * time.Hour),
257257
LastSeenAt: sql.NullTime{Valid: true, Time: now.Add(-6 * 24 * time.Hour)},
258258
Version: "1.0.0",
259-
APIVersion: provisionersdk.APIVersionCurrent,
259+
APIVersion: provisionersdk.VersionCurrent.String(),
260260
})
261261
require.NoError(t, err)
262262

coderd/provisionerdserver/provisionerdserver_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1786,7 +1786,7 @@ func setup(t *testing.T, ignoreLogErrors bool, ov *overrides) (proto.DRPCProvisi
17861786
Tags: database.StringMap{},
17871787
LastSeenAt: sql.NullTime{},
17881788
Version: buildinfo.Version(),
1789-
APIVersion: provisionersdk.APIVersionCurrent,
1789+
APIVersion: provisionersdk.VersionCurrent.String(),
17901790
})
17911791
require.NoError(t, err)
17921792

coderd/util/apiversion/apiversion.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package apiversion
22

33
import (
4+
"fmt"
45
"strconv"
56
"strings"
67

@@ -41,6 +42,10 @@ func (v *APIVersion) WithBackwardCompat(majs ...int) *APIVersion {
4142
// - 1.x is supported,
4243
// - 2.0, 2.1, and 2.2 are supported,
4344
// - 2.3+ is not supported.
45+
func (v *APIVersion) String() string {
46+
return fmt.Sprintf("%d.%d", v.supportedMajor, v.supportedMinor)
47+
}
48+
4449
func (v *APIVersion) Validate(version string) error {
4550
major, minor, err := Parse(version)
4651
if err != nil {

enterprise/cli/provisionerdaemons_test.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ func TestProvisionerDaemon_PSK(t *testing.T) {
5151
require.Equal(t, "matt-daemon", daemons[0].Name)
5252
require.Equal(t, provisionersdk.ScopeOrganization, daemons[0].Tags[provisionersdk.TagScope])
5353
require.Equal(t, buildinfo.Version(), daemons[0].Version)
54-
require.Equal(t, provisionersdk.APIVersionCurrent, daemons[0].APIVersion)
54+
require.Equal(t, provisionersdk.VersionCurrent.String(), daemons[0].APIVersion)
5555
}
5656

5757
func TestProvisionerDaemon_SessionToken(t *testing.T) {
@@ -88,7 +88,7 @@ func TestProvisionerDaemon_SessionToken(t *testing.T) {
8888
assert.Equal(t, provisionersdk.ScopeUser, daemons[0].Tags[provisionersdk.TagScope])
8989
assert.Equal(t, anotherUser.ID.String(), daemons[0].Tags[provisionersdk.TagOwner])
9090
assert.Equal(t, buildinfo.Version(), daemons[0].Version)
91-
assert.Equal(t, provisionersdk.APIVersionCurrent, daemons[0].APIVersion)
91+
assert.Equal(t, provisionersdk.VersionCurrent.String(), daemons[0].APIVersion)
9292
})
9393

9494
t.Run("ScopeAnotherUser", func(t *testing.T) {
@@ -124,7 +124,7 @@ func TestProvisionerDaemon_SessionToken(t *testing.T) {
124124
// This should get clobbered to the user who started the daemon.
125125
assert.Equal(t, anotherUser.ID.String(), daemons[0].Tags[provisionersdk.TagOwner])
126126
assert.Equal(t, buildinfo.Version(), daemons[0].Version)
127-
assert.Equal(t, provisionersdk.APIVersionCurrent, daemons[0].APIVersion)
127+
assert.Equal(t, provisionersdk.VersionCurrent.String(), daemons[0].APIVersion)
128128
})
129129

130130
t.Run("ScopeOrg", func(t *testing.T) {
@@ -158,6 +158,6 @@ func TestProvisionerDaemon_SessionToken(t *testing.T) {
158158
assert.Equal(t, "org-daemon", daemons[0].Name)
159159
assert.Equal(t, provisionersdk.ScopeOrganization, daemons[0].Tags[provisionersdk.TagScope])
160160
assert.Equal(t, buildinfo.Version(), daemons[0].Version)
161-
assert.Equal(t, provisionersdk.APIVersionCurrent, daemons[0].APIVersion)
161+
assert.Equal(t, provisionersdk.VersionCurrent.String(), daemons[0].APIVersion)
162162
})
163163
}

enterprise/coderd/provisionerdaemons.go

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -235,6 +235,11 @@ func (api *API) provisionerDaemonServe(rw http.ResponseWriter, r *http.Request)
235235

236236
versionHdrVal := r.Header.Get(codersdk.BuildVersionHeader)
237237

238+
apiVersion := "1.0"
239+
if qv := r.URL.Query().Get("version"); qv != "" {
240+
apiVersion = qv
241+
}
242+
238243
// Create the daemon in the database.
239244
now := dbtime.Now()
240245
daemon, err := api.Database.UpsertProvisionerDaemon(authCtx, database.UpsertProvisionerDaemonParams{
@@ -244,7 +249,7 @@ func (api *API) provisionerDaemonServe(rw http.ResponseWriter, r *http.Request)
244249
CreatedAt: now,
245250
LastSeenAt: sql.NullTime{Time: now, Valid: true},
246251
Version: versionHdrVal,
247-
APIVersion: provisionersdk.APIVersionCurrent,
252+
APIVersion: apiVersion,
248253
})
249254
if err != nil {
250255
if !xerrors.Is(err, context.Canceled) {

enterprise/coderd/provisionerdaemons_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ func TestProvisionerDaemonServe(t *testing.T) {
5959
if assert.Len(t, daemons, 1) {
6060
assert.Equal(t, daemonName, daemons[0].Name)
6161
assert.Equal(t, buildinfo.Version(), daemons[0].Version)
62-
assert.Equal(t, provisionersdk.APIVersionCurrent, daemons[0].APIVersion)
62+
assert.Equal(t, provisionersdk.VersionCurrent.String(), daemons[0].APIVersion)
6363
}
6464
})
6565

0 Bytes
Binary file not shown.

provisionersdk/serve.go

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ package provisionersdk
33
import (
44
"context"
55
"errors"
6-
"fmt"
76
"io"
87
"net"
98
"os"
@@ -18,6 +17,7 @@ import (
1817
"cdr.dev/slog"
1918

2019
"github.com/coder/coder/v2/coderd/tracing"
20+
"github.com/coder/coder/v2/coderd/util/apiversion"
2121
"github.com/coder/coder/v2/provisionersdk/proto"
2222
)
2323

@@ -27,11 +27,10 @@ const (
2727
)
2828

2929
var (
30-
SupportedMajors = []int{1}
31-
// APIVersionCurrent is the current provisionerd API version.
30+
// VersionCurrent is the current provisionerd API version.
3231
// Breaking changes to the provisionerd API **MUST** increment
3332
// CurrentMajor above.
34-
APIVersionCurrent = fmt.Sprintf("%d.%d", CurrentMajor, CurrentMinor)
33+
VersionCurrent = apiversion.New(CurrentMajor, CurrentMinor)
3534
)
3635

3736
// ServeOptions are configurations to serve a provisioner.

0 commit comments

Comments
 (0)