Skip to content

Commit d177b65

Browse files
authored
Merge pull request #4708 from kersten/chore/refactor-beforeeach-for-isolation
🌱 (chore): refactor shared setup logic in plugins into BeforeEach to isolate test state
2 parents f92cf12 + 7709cbc commit d177b65

File tree

3 files changed

+37
-14
lines changed

3 files changed

+37
-14
lines changed

pkg/plugins/external/external_test.go

Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -287,10 +287,11 @@ var _ = Describe("Run external plugin using Scaffold", func() {
287287
flagset *pflag.FlagSet
288288

289289
// Make an array of flags to represent the ones that should be returned in these tests
290-
flags = getFlags()
290+
flags []external.Flag
291291

292292
checkFlagset func()
293293
)
294+
294295
BeforeEach(func() {
295296
outputGetter = &mockValidFlagOutputGetter{}
296297
currentDirGetter = &mockValidOsWdGetter{}
@@ -299,6 +300,8 @@ var _ = Describe("Run external plugin using Scaffold", func() {
299300
args = []string{"--captain", "black-beard", "--sail"}
300301
flagset = pflag.NewFlagSet("test", pflag.ContinueOnError)
301302

303+
flags = getFlags()
304+
302305
checkFlagset = func() {
303306
Expect(flagset.HasFlags()).To(BeTrue())
304307

@@ -369,6 +372,7 @@ var _ = Describe("Run external plugin using Scaffold", func() {
369372
usage string
370373
checkFlagset func()
371374
)
375+
372376
BeforeEach(func() {
373377
outputGetter = &mockInValidOutputGetter{}
374378
currentDirGetter = &mockValidOsWdGetter{}
@@ -463,7 +467,15 @@ var _ = Describe("Run external plugin using Scaffold", func() {
463467

464468
Context("Flag Parsing Helper Functions", func() {
465469
var (
466-
fs *pflag.FlagSet
470+
fs *pflag.FlagSet
471+
args []string
472+
forbidden []string
473+
flags []external.Flag
474+
argFilters []argFilterFunc
475+
externalFlagFilters []externalFlagFilterFunc
476+
)
477+
478+
BeforeEach(func() {
467479
args = []string{
468480
"--domain", "something.com",
469481
"--boolean",
@@ -476,12 +488,7 @@ var _ = Describe("Run external plugin using Scaffold", func() {
476488
forbidden = []string{
477489
"help", "group", "kind", "version",
478490
}
479-
flags []external.Flag
480-
argFilters []argFilterFunc
481-
externalFlagFilters []externalFlagFilterFunc
482-
)
483491

484-
BeforeEach(func() {
485492
fs = pflag.NewFlagSet("test", pflag.ContinueOnError)
486493

487494
flagsToAppend := getFlags()
@@ -559,6 +566,7 @@ var _ = Describe("Run external plugin using Scaffold", func() {
559566
metadata *plugin.SubcommandMetadata
560567
checkMetadata func()
561568
)
569+
562570
BeforeEach(func() {
563571
outputGetter = &mockValidMEOutputGetter{}
564572
currentDirGetter = &mockValidOsWdGetter{}
@@ -623,6 +631,7 @@ var _ = Describe("Run external plugin using Scaffold", func() {
623631
metadata *plugin.SubcommandMetadata
624632
checkMetadata func()
625633
)
634+
626635
BeforeEach(func() {
627636
outputGetter = &mockInValidOutputGetter{}
628637
currentDirGetter = &mockValidOsWdGetter{}

pkg/plugins/golang/go_version_test.go

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,11 @@ var _ = Describe("GoVersion", func() {
8080
Context("Compare", func() {
8181
// Test Compare() by sorting a list.
8282
var (
83+
versions []GoVersion
84+
sortedVersions []GoVersion
85+
)
86+
87+
BeforeEach(func() {
8388
versions = []GoVersion{
8489
{major: 1, minor: 15, prerelease: "rc2"},
8590
{major: 1, minor: 15, patch: 1},
@@ -113,7 +118,7 @@ var _ = Describe("GoVersion", func() {
113118
{major: 1, minor: 16},
114119
{major: 2, minor: 0},
115120
}
116-
)
121+
})
117122

118123
It("sorts a valid list of versions correctly", func() {
119124
sort.Slice(versions, func(i int, j int) bool {
@@ -125,8 +130,15 @@ var _ = Describe("GoVersion", func() {
125130
})
126131

127132
var _ = Describe("checkGoVersion", func() {
128-
goVerMin := MustParse("go1.13")
129-
goVerMax := MustParse("go2.0alpha1")
133+
var (
134+
goVerMin GoVersion
135+
goVerMax GoVersion
136+
)
137+
138+
BeforeEach(func() {
139+
goVerMin = MustParse("go1.13")
140+
goVerMax = MustParse("go2.0alpha1")
141+
})
130142

131143
DescribeTable("should return no error for supported go versions",
132144
func(version string) { Expect(checkGoVersion(version, goVerMin, goVerMax)).To(Succeed()) },

pkg/plugins/golang/options_test.go

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,18 +35,20 @@ var _ = Describe("Options", func() {
3535
version = "v1"
3636
kind = "FirstMate"
3737
)
38+
3839
var (
40+
gvk resource.GVK
41+
cfg config.Config
42+
)
43+
44+
BeforeEach(func() {
3945
gvk = resource.GVK{
4046
Group: group,
4147
Domain: domain,
4248
Version: version,
4349
Kind: kind,
4450
}
4551

46-
cfg config.Config
47-
)
48-
49-
BeforeEach(func() {
5052
cfg = cfgv3.New()
5153
_ = cfg.SetRepository("test")
5254
})

0 commit comments

Comments
 (0)