Skip to content
This repository was archived by the owner on Aug 30, 2024. It is now read-only.

Commit dabd178

Browse files
committed
fixup! internal/cmd/update_test.go: test for windows
1 parent 5bf7f56 commit dabd178

File tree

2 files changed

+18
-17
lines changed

2 files changed

+18
-17
lines changed

internal/cmd/update.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ func (u *updater) Run(ctx context.Context, force bool, coderURLString string) er
130130
}
131131
}
132132

133-
downloadURL := makeDownloadURL(desiredVersion.FinalizeVersion(), runtime.GOOS, runtime.GOARCH)
133+
downloadURL := makeDownloadURL(desiredVersion, u.osF(), runtime.GOARCH)
134134

135135
var downloadBuf bytes.Buffer
136136
memWriter := bufio.NewWriter(&downloadBuf)
@@ -197,14 +197,14 @@ func defaultConfirm(label string) (string, error) {
197197
return p.Run()
198198
}
199199

200-
func makeDownloadURL(version, ostype, archetype string) string {
200+
func makeDownloadURL(version *semver.Version, ostype, archtype string) string {
201201
const template = "https://github.com/cdr/coder-cli/releases/download/v%s/coder-cli-%s-%s.%s"
202202
var ext string
203203
switch ostype {
204204
case "linux":
205205
ext = "tar.gz"
206206
default:
207-
ext = ".zip"
207+
ext = "zip"
208208
}
209209
return fmt.Sprintf(template, version, ostype, archetype, ext)
210210
}

internal/cmd/update_test.go

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,13 @@ import (
1919
)
2020

2121
const (
22-
fakeExePathLinux = "/home/user/bin/coder"
23-
fakeExePathWindows = `C:\Users\user\bin\coder.exe`
24-
fakeCoderURL = "https://my.cdr.dev"
25-
fakeNewVersion = "1.23.4-rc.5+678-gabcdef-12345678"
26-
fakeOldVersion = "1.22.4-rc.5+678-gabcdef-12345678"
27-
fakeReleaseURL = "https://github.com/cdr/coder-cli/releases/download/v1.23.4/coder-cli-linux-amd64.tar.gz"
22+
fakeExePathLinux = "/home/user/bin/coder"
23+
fakeExePathWindows = `C:\Users\user\bin\coder.exe`
24+
fakeCoderURL = "https://my.cdr.dev"
25+
fakeNewVersion = "1.23.4-rc.5+678-gabcdef-12345678"
26+
fakeOldVersion = "1.22.4-rc.5+678-gabcdef-12345678"
27+
fakeReleaseURLLinux = "https://github.com/cdr/coder-cli/releases/download/v1.23.4/coder-cli-linux-amd64.tar.gz"
28+
fakeReleaseURLWindows = "https://github.com/cdr/coder-cli/releases/download/v1.23.4/coder-cli-windows-amd64.zip"
2829
)
2930

3031
func Test_updater_run(t *testing.T) {
@@ -95,7 +96,7 @@ func Test_updater_run(t *testing.T) {
9596
run(t, "update coder - old to new", func(t *testing.T, p *params) {
9697
fakeFile(t, p.Fakefs, fakeExePathLinux, 0755, fakeOldVersion)
9798
p.HttpClient.M[fakeCoderURL+"/api"] = newFakeGetterResponse([]byte{}, 401, variadicS("coder-version: "+fakeNewVersion), nil)
98-
p.HttpClient.M[fakeReleaseURL] = newFakeGetterResponse(fakeValidTgzBytes, 200, variadicS(), nil)
99+
p.HttpClient.M[fakeReleaseURLLinux] = newFakeGetterResponse(fakeValidTgzBytes, 200, variadicS(), nil)
99100
p.VersionF = func() string { return fakeOldVersion }
100101
p.ConfirmF = fakeConfirmYes
101102
u := fromParams(p)
@@ -109,7 +110,7 @@ func Test_updater_run(t *testing.T) {
109110
p.ExecutablePath = "/home/user/bin/coder-cli"
110111
fakeFile(t, p.Fakefs, p.ExecutablePath, 0755, fakeOldVersion)
111112
p.HttpClient.M[fakeCoderURL+"/api"] = newFakeGetterResponse([]byte{}, 401, variadicS("coder-version: "+fakeNewVersion), nil)
112-
p.HttpClient.M[fakeReleaseURL] = newFakeGetterResponse(fakeValidTgzBytes, 200, variadicS(), nil)
113+
p.HttpClient.M[fakeReleaseURLLinux] = newFakeGetterResponse(fakeValidTgzBytes, 200, variadicS(), nil)
113114
p.VersionF = func() string { return fakeOldVersion }
114115
p.ConfirmF = fakeConfirmYes
115116
u := fromParams(p)
@@ -124,7 +125,7 @@ func Test_updater_run(t *testing.T) {
124125
p.ExecutablePath = fakeExePathWindows
125126
fakeFile(t, p.Fakefs, fakeExePathWindows, 0755, fakeOldVersion)
126127
p.HttpClient.M[fakeCoderURL+"/api"] = newFakeGetterResponse([]byte{}, 401, variadicS("coder-version: "+fakeNewVersion), nil)
127-
p.HttpClient.M[fakeReleaseURL] = newFakeGetterResponse(fakeValidZipBytes, 200, variadicS(), nil)
128+
p.HttpClient.M[fakeReleaseURLWindows] = newFakeGetterResponse(fakeValidZipBytes, 200, variadicS(), nil)
128129
p.VersionF = func() string { return fakeOldVersion }
129130
p.ConfirmF = fakeConfirmYes
130131
u := fromParams(p)
@@ -137,7 +138,7 @@ func Test_updater_run(t *testing.T) {
137138
run(t, "update coder - old to new forced", func(t *testing.T, p *params) {
138139
fakeFile(t, p.Fakefs, fakeExePathLinux, 0755, fakeOldVersion)
139140
p.HttpClient.M[fakeCoderURL+"/api"] = newFakeGetterResponse([]byte{}, 401, variadicS("coder-version: "+fakeNewVersion), nil)
140-
p.HttpClient.M[fakeReleaseURL] = newFakeGetterResponse(fakeValidTgzBytes, 200, variadicS(), nil)
141+
p.HttpClient.M[fakeReleaseURLLinux] = newFakeGetterResponse(fakeValidTgzBytes, 200, variadicS(), nil)
141142
p.VersionF = func() string { return fakeOldVersion }
142143
u := fromParams(p)
143144
assertFileContent(t, p.Fakefs, fakeExePathLinux, fakeOldVersion)
@@ -197,7 +198,7 @@ func Test_updater_run(t *testing.T) {
197198
run(t, "update coder - failed to fetch URL", func(t *testing.T, p *params) {
198199
fakeFile(t, p.Fakefs, fakeExePathLinux, 0755, fakeOldVersion)
199200
p.HttpClient.M[fakeCoderURL+"/api"] = newFakeGetterResponse([]byte{}, 401, variadicS("coder-version: "+fakeNewVersion), nil)
200-
p.HttpClient.M[fakeReleaseURL] = newFakeGetterResponse([]byte{}, 0, variadicS(), net.ErrClosed)
201+
p.HttpClient.M[fakeReleaseURLLinux] = newFakeGetterResponse([]byte{}, 0, variadicS(), net.ErrClosed)
201202
p.VersionF = func() string { return fakeOldVersion }
202203
p.ConfirmF = fakeConfirmYes
203204
u := fromParams(p)
@@ -210,7 +211,7 @@ func Test_updater_run(t *testing.T) {
210211
run(t, "update coder - release URL 404", func(t *testing.T, p *params) {
211212
fakeFile(t, p.Fakefs, fakeExePathLinux, 0755, fakeOldVersion)
212213
p.HttpClient.M[fakeCoderURL+"/api"] = newFakeGetterResponse([]byte{}, 401, variadicS("coder-version: "+fakeNewVersion), nil)
213-
p.HttpClient.M[fakeReleaseURL] = newFakeGetterResponse([]byte{}, 404, variadicS(), nil)
214+
p.HttpClient.M[fakeReleaseURLLinux] = newFakeGetterResponse([]byte{}, 404, variadicS(), nil)
214215
p.VersionF = func() string { return fakeOldVersion }
215216
p.ConfirmF = fakeConfirmYes
216217
u := fromParams(p)
@@ -223,7 +224,7 @@ func Test_updater_run(t *testing.T) {
223224
run(t, "update coder - invalid archive", func(t *testing.T, p *params) {
224225
fakeFile(t, p.Fakefs, fakeExePathLinux, 0755, fakeOldVersion)
225226
p.HttpClient.M[fakeCoderURL+"/api"] = newFakeGetterResponse([]byte{}, 401, variadicS("coder-version: "+fakeNewVersion), nil)
226-
p.HttpClient.M[fakeReleaseURL] = newFakeGetterResponse([]byte{}, 200, variadicS(), nil)
227+
p.HttpClient.M[fakeReleaseURLLinux] = newFakeGetterResponse([]byte{}, 200, variadicS(), nil)
227228
p.VersionF = func() string { return fakeOldVersion }
228229
p.ConfirmF = fakeConfirmYes
229230
u := fromParams(p)
@@ -238,7 +239,7 @@ func Test_updater_run(t *testing.T) {
238239
p.Fakefs = afero.NewReadOnlyFs(rwfs)
239240
fakeFile(t, rwfs, fakeExePathLinux, 0755, fakeOldVersion)
240241
p.HttpClient.M[fakeCoderURL+"/api"] = newFakeGetterResponse([]byte{}, 401, variadicS("coder-version: "+fakeNewVersion), nil)
241-
p.HttpClient.M[fakeReleaseURL] = newFakeGetterResponse(fakeValidTgzBytes, 200, variadicS(), nil)
242+
p.HttpClient.M[fakeReleaseURLLinux] = newFakeGetterResponse(fakeValidTgzBytes, 200, variadicS(), nil)
242243
p.VersionF = func() string { return fakeOldVersion }
243244
p.ConfirmF = fakeConfirmYes
244245
u := fromParams(p)

0 commit comments

Comments
 (0)