Skip to content

Commit 109dab8

Browse files
authored
Add test helpers to create temp files (#74)
Signed-off-by: Lam Tran <[email protected]>
1 parent 070f9e0 commit 109dab8

File tree

14 files changed

+142
-178
lines changed

14 files changed

+142
-178
lines changed

cmd/default_hub_test.go

+2-8
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,6 @@
1515
package cmd
1616

1717
import (
18-
"io/ioutil"
19-
"os"
2018
"testing"
2119

2220
"github.com/stretchr/testify/require"
@@ -53,9 +51,7 @@ func Test_defaultHubCheckFlags(t *testing.T) {
5351
func Test_defaultHubHandleSet(t *testing.T) {
5452
getmesh.GlobalConfigMux.Lock()
5553
defer getmesh.GlobalConfigMux.Unlock()
56-
home, err := ioutil.TempDir("", "")
57-
require.NoError(t, err)
58-
defer os.RemoveAll(home)
54+
home := t.TempDir()
5955

6056
value := "myhub.com"
6157
buf := logger.ExecuteWithLock(func() {
@@ -85,9 +81,7 @@ func Test_defaultHubHandleShow(t *testing.T) {
8581
func Test_defaultHubHandleRemove(t *testing.T) {
8682
getmesh.GlobalConfigMux.Lock()
8783
defer getmesh.GlobalConfigMux.Unlock()
88-
home, err := ioutil.TempDir("", "")
89-
require.NoError(t, err)
90-
defer os.RemoveAll(home)
84+
home := t.TempDir()
9185

9286
value := "myhub.com"
9387
require.NoError(t, defaultHubHandleSet(home, value))

cmd/gen_ca_test.go

+7-14
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ package cmd
1616

1717
import (
1818
"context"
19-
"io/ioutil"
2019
"os"
2120
"path"
2221
"path/filepath"
@@ -29,25 +28,22 @@ import (
2928
"k8s.io/client-go/kubernetes/fake"
3029

3130
"github.com/tetratelabs/getmesh/internal/cacerts/providers/config"
31+
"github.com/tetratelabs/getmesh/internal/test"
3232
)
3333

3434
func TestPreFlightChecks(t *testing.T) {
3535
t.Run("Secret File Path", func(t *testing.T) {
3636
cfg := &config.Config{}
3737
cfg.SetDefaultValues()
3838

39-
d, err := ioutil.TempDir("", "")
40-
require.NoError(t, err)
41-
defer os.RemoveAll(d)
39+
d := t.TempDir()
4240

4341
cfg.CertParameters.SecretFilePath = filepath.Join(d, "non-exist")
4442

4543
require.NoError(t, genCAPreFlightChecks(cfg, nil))
46-
file, err := ioutil.TempFile(d, "")
47-
require.NoError(t, err)
48-
defer file.Close()
44+
f := test.TempFile(t, d, "")
4945

50-
cfg.CertParameters.SecretFilePath = path.Join(d, file.Name())
46+
cfg.CertParameters.SecretFilePath = path.Join(d, f.Name())
5147
require.Error(t, genCAPreFlightChecks(cfg, nil))
5248
})
5349

@@ -68,9 +64,7 @@ func TestPreFlightChecks(t *testing.T) {
6864
})
6965

7066
t.Run("genCAValidateSecretFilePath", func(t *testing.T) {
71-
d, err := ioutil.TempDir("", "")
72-
require.NoError(t, err)
73-
defer os.RemoveAll(d)
67+
d := t.TempDir()
7468

7569
cs := fake.NewSimpleClientset()
7670
cfg := &config.Config{}
@@ -81,12 +75,11 @@ func TestPreFlightChecks(t *testing.T) {
8175
ro := filepath.Join(d, "readonly")
8276
require.NoError(t, os.Mkdir(ro, 0400))
8377
cfg.CertParameters.SecretFilePath = filepath.Join(ro, "test.yaml")
84-
err = genCAPreFlightChecks(cfg, cs)
78+
err := genCAPreFlightChecks(cfg, cs)
8579
require.Contains(t, err.Error(), "unable to write on secret file path:")
8680

8781
// ok
88-
f, err := ioutil.TempFile(d, "")
89-
require.NoError(t, err)
82+
f := test.TempFile(t, d, "")
9083
cfg.CertParameters.SecretFilePath = f.Name()
9184
err = genCAPreFlightChecks(cfg, cs)
9285
require.Contains(t, err.Error(), f.Name()+"` already exist, please change the file path before proceeding")

cmd/istioctl_test.go

+2-9
Original file line numberDiff line numberDiff line change
@@ -16,22 +16,17 @@ package cmd
1616

1717
import (
1818
"encoding/json"
19-
"io/ioutil"
20-
"os"
2119
"testing"
2220

2321
"github.com/stretchr/testify/require"
2422

2523
"github.com/tetratelabs/getmesh/internal/manifest"
24+
"github.com/tetratelabs/getmesh/internal/test"
2625
"github.com/tetratelabs/getmesh/internal/util"
2726
"github.com/tetratelabs/getmesh/internal/util/logger"
2827
)
2928

3029
func TestIstioctl_istioctlArgChecks(t *testing.T) {
31-
home, err := ioutil.TempDir("", "")
32-
require.NoError(t, err)
33-
defer os.RemoveAll(home)
34-
3530
manifest.GlobalManifestURLMux.Lock()
3631
defer manifest.GlobalManifestURLMux.Unlock()
3732

@@ -53,9 +48,7 @@ func TestIstioctl_istioctlArgChecks(t *testing.T) {
5348
raw, err := json.Marshal(m)
5449
require.NoError(t, err)
5550

56-
f, err := ioutil.TempFile("", "")
57-
require.NoError(t, err)
58-
defer f.Close()
51+
f := test.TempFile(t, "", "")
5952

6053
_, err = f.Write(raw)
6154
require.NoError(t, err)

cmd/switch_test.go

+3-7
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ package cmd
1616

1717
import (
1818
"encoding/json"
19-
"io/ioutil"
2019
"os"
2120
"strings"
2221
"testing"
@@ -26,12 +25,11 @@ import (
2625
"github.com/tetratelabs/getmesh/internal/getmesh"
2726
"github.com/tetratelabs/getmesh/internal/istioctl"
2827
"github.com/tetratelabs/getmesh/internal/manifest"
28+
"github.com/tetratelabs/getmesh/internal/test"
2929
)
3030

3131
func Test_switchParse(t *testing.T) {
32-
home, err := ioutil.TempDir("", "")
33-
require.NoError(t, err)
34-
defer os.RemoveAll(home)
32+
home := t.TempDir()
3533

3634
manifest.GlobalManifestURLMux.Lock()
3735
defer manifest.GlobalManifestURLMux.Unlock()
@@ -54,9 +52,7 @@ func Test_switchParse(t *testing.T) {
5452
raw, err := json.Marshal(m)
5553
require.NoError(t, err)
5654

57-
f, err := ioutil.TempFile("", "")
58-
require.NoError(t, err)
59-
defer f.Close()
55+
f := test.TempFile(t, "", "")
6056

6157
_, err = f.Write(raw)
6258
require.NoError(t, err)

e2e/e2e_test.go

+16-26
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@ package e2e
1717
import (
1818
"bytes"
1919
"fmt"
20-
"io/ioutil"
2120
"log"
2221
"os"
2322
"os/exec"
@@ -27,6 +26,7 @@ import (
2726
"time"
2827

2928
"github.com/stretchr/testify/require"
29+
"github.com/tetratelabs/getmesh/internal/test"
3030
)
3131

3232
func TestMain(m *testing.M) {
@@ -71,9 +71,7 @@ func getmeshListRequireNot(t *testing.T, version, flavor, flavorVersion string)
7171
}
7272

7373
func TestFetch(t *testing.T) {
74-
home, err := ioutil.TempDir("", "")
75-
require.NoError(t, err)
76-
defer os.RemoveAll(home)
74+
home := t.TempDir()
7775
t.Setenv("GETMESH_HOME", home)
7876

7977
cmd := exec.Command("./getmesh", "fetch", "--version=1.8.6", "--flavor=tetrate", "--flavor-version=0")
@@ -130,15 +128,13 @@ istioctl switched to 1.8.6-tetrate-v0 now
130128
}
131129

132130
func TestPrune(t *testing.T) {
133-
home, err := ioutil.TempDir("", "")
134-
require.NoError(t, err)
135-
defer os.RemoveAll(home)
131+
home := t.TempDir()
136132
t.Setenv("GETMESH_HOME", home)
137133

138134
t.Run("specific", func(t *testing.T) {
139135
var version = "1.7.8"
140136
var flavor = "tetrate"
141-
var flavorVersion = strconv.Itoa(int(0))
137+
var flavorVersion = strconv.Itoa(0)
142138

143139
// fetch the target.
144140
getmeshFetchRequire(t, version, flavor, flavorVersion)
@@ -164,17 +160,17 @@ func TestPrune(t *testing.T) {
164160
{
165161
version: "1.7.8",
166162
flavor: "tetrate",
167-
flavorVersion: strconv.Itoa(int(0)),
163+
flavorVersion: strconv.Itoa(0),
168164
},
169165
{
170166
version: "1.8.6",
171167
flavor: "tetrate",
172-
flavorVersion: strconv.Itoa(int(0)),
168+
flavorVersion: strconv.Itoa(0),
173169
},
174170
{
175171
version: "1.11.3",
176172
flavor: "tetrate",
177-
flavorVersion: strconv.Itoa(int(0)),
173+
flavorVersion: strconv.Itoa(0),
178174
},
179175
}
180176
for _, d := range distros {
@@ -200,26 +196,24 @@ func TestPrune(t *testing.T) {
200196
}
201197

202198
func TestShow(t *testing.T) {
203-
home, err := ioutil.TempDir("", "")
204-
require.NoError(t, err)
205-
defer os.RemoveAll(home)
199+
home := t.TempDir()
206200
t.Setenv("GETMESH_HOME", home)
207201

208202
distros := []struct{ version, flavor, flavorVersion string }{
209203
{
210204
version: "1.7.8",
211205
flavor: "tetrate",
212-
flavorVersion: strconv.Itoa(int(0)),
206+
flavorVersion: strconv.Itoa(0),
213207
},
214208
{
215209
version: "1.8.6",
216210
flavor: "tetrate",
217-
flavorVersion: strconv.Itoa(int(0)),
211+
flavorVersion: strconv.Itoa(0),
218212
},
219213
{
220214
version: "1.11.3",
221215
flavor: "tetrate",
222-
flavorVersion: strconv.Itoa(int(0)),
216+
flavorVersion: strconv.Itoa(0),
223217
},
224218
}
225219
for _, d := range distros {
@@ -239,26 +233,24 @@ func TestShow(t *testing.T) {
239233
}
240234

241235
func TestSwitch(t *testing.T) {
242-
home, err := ioutil.TempDir("", "")
243-
require.NoError(t, err)
244-
defer os.RemoveAll(home)
236+
home := t.TempDir()
245237
t.Setenv("GETMESH_HOME", home)
246238

247239
distros := []struct{ version, flavor, flavorVersion string }{
248240
{
249241
version: "1.7.8",
250242
flavor: "tetrate",
251-
flavorVersion: strconv.Itoa(int(0)),
243+
flavorVersion: strconv.Itoa(0),
252244
},
253245
{
254246
version: "1.8.6",
255247
flavor: "tetrate",
256-
flavorVersion: strconv.Itoa(int(0)),
248+
flavorVersion: strconv.Itoa(0),
257249
},
258250
{
259251
version: "1.11.3",
260252
flavor: "tetrate",
261-
flavorVersion: strconv.Itoa(int(0)),
253+
flavorVersion: strconv.Itoa(0),
262254
},
263255
}
264256
for _, d := range distros {
@@ -498,9 +490,7 @@ func configValidate(t *testing.T) {
498490
t.Parallel()
499491
// make a new location for config
500492
// TODO: misconfigured kubeconfig, i,e: unauthorized kubeconfig file
501-
f, err := ioutil.TempFile("", "")
502-
require.NoError(t, err)
503-
defer f.Close()
493+
f := test.TempFile(t, "", "")
504494
cmd := exec.Command("./getmesh", "config-validate", "--kubeconfig", f.Name())
505495
bufErr := new(bytes.Buffer)
506496
cmd.Stderr = bufErr

0 commit comments

Comments
 (0)