Skip to content

Commit 0a5c604

Browse files
committed
✨ Use ErrorIfCRDPathMissing in EnvTest
The error message if the path to CRDs is missing is misleading. envtest.Environment has an option to throw a sensible error here if the path is wrong and for kubebuilder it would be likely we always want to upload our CRDs.
1 parent 21de760 commit 0a5c604

File tree

17 files changed

+37
-17
lines changed

17 files changed

+37
-17
lines changed

pkg/plugins/golang/v3/scaffolds/internal/templates/api/webhook_suitetest.go

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,9 @@ type WebhookSuite struct {
1717
file.BoilerplateMixin
1818
file.ResourceMixin
1919

20+
// todo: currently is not possible to know if an API was or not scaffolded. We can fix it when #1826 be addressed
21+
WireResource bool
22+
2023
// BaseDirectoryRelativePath define the Path for the base directory when it is multigroup
2124
BaseDirectoryRelativePath string
2225
}
@@ -163,7 +166,8 @@ var _ = BeforeSuite(func() {
163166
164167
By("bootstrapping test environment")
165168
testEnv = &envtest.Environment{
166-
CRDDirectoryPaths: []string{filepath.Join({{ .BaseDirectoryRelativePath }}, "config", "crd", "bases")},
169+
CRDDirectoryPaths: []string{filepath.Join({{ .BaseDirectoryRelativePath }}, "config", "crd", "bases")},
170+
ErrorIfCRDPathMissing: {{ .WireResource }},
167171
WebhookInstallOptions: envtest.WebhookInstallOptions{
168172
Paths: []string{filepath.Join({{ .BaseDirectoryRelativePath }}, "config", "webhook")},
169173
},

pkg/plugins/golang/v3/scaffolds/internal/templates/controllers/controller_suitetest.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,8 @@ var _ = BeforeSuite(func() {
159159
160160
By("bootstrapping test environment")
161161
testEnv = &envtest.Environment{
162-
CRDDirectoryPaths: []string{filepath.Join({{ .CRDDirectoryRelativePath }}, "config", "crd", "bases")},
162+
CRDDirectoryPaths: []string{filepath.Join({{ .CRDDirectoryRelativePath }}, "config", "crd", "bases")},
163+
ErrorIfCRDPathMissing: {{ .WireResource }},
163164
}
164165
165166
cfg, err := testEnv.Start()

testdata/project-v3-addon/controllers/suite_test.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,8 @@ var _ = BeforeSuite(func() {
5454

5555
By("bootstrapping test environment")
5656
testEnv = &envtest.Environment{
57-
CRDDirectoryPaths: []string{filepath.Join("..", "config", "crd", "bases")},
57+
CRDDirectoryPaths: []string{filepath.Join("..", "config", "crd", "bases")},
58+
ErrorIfCRDPathMissing: true,
5859
}
5960

6061
cfg, err := testEnv.Start()

testdata/project-v3-config/api/v1/webhook_suite_test.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,8 @@ var _ = BeforeSuite(func() {
6464

6565
By("bootstrapping test environment")
6666
testEnv = &envtest.Environment{
67-
CRDDirectoryPaths: []string{filepath.Join("..", "..", "config", "crd", "bases")},
67+
CRDDirectoryPaths: []string{filepath.Join("..", "..", "config", "crd", "bases")},
68+
ErrorIfCRDPathMissing: false,
6869
WebhookInstallOptions: envtest.WebhookInstallOptions{
6970
Paths: []string{filepath.Join("..", "..", "config", "webhook")},
7071
},

testdata/project-v3-config/controllers/suite_test.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,8 @@ var _ = BeforeSuite(func() {
5454

5555
By("bootstrapping test environment")
5656
testEnv = &envtest.Environment{
57-
CRDDirectoryPaths: []string{filepath.Join("..", "config", "crd", "bases")},
57+
CRDDirectoryPaths: []string{filepath.Join("..", "config", "crd", "bases")},
58+
ErrorIfCRDPathMissing: true,
5859
}
5960

6061
cfg, err := testEnv.Start()

testdata/project-v3-multigroup/apis/crew/v1/webhook_suite_test.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,8 @@ var _ = BeforeSuite(func() {
6464

6565
By("bootstrapping test environment")
6666
testEnv = &envtest.Environment{
67-
CRDDirectoryPaths: []string{filepath.Join("..", "..", "..", "config", "crd", "bases")},
67+
CRDDirectoryPaths: []string{filepath.Join("..", "..", "..", "config", "crd", "bases")},
68+
ErrorIfCRDPathMissing: false,
6869
WebhookInstallOptions: envtest.WebhookInstallOptions{
6970
Paths: []string{filepath.Join("..", "..", "..", "config", "webhook")},
7071
},

testdata/project-v3-multigroup/apis/ship/v1/webhook_suite_test.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,8 @@ var _ = BeforeSuite(func() {
6464

6565
By("bootstrapping test environment")
6666
testEnv = &envtest.Environment{
67-
CRDDirectoryPaths: []string{filepath.Join("..", "..", "..", "config", "crd", "bases")},
67+
CRDDirectoryPaths: []string{filepath.Join("..", "..", "..", "config", "crd", "bases")},
68+
ErrorIfCRDPathMissing: false,
6869
WebhookInstallOptions: envtest.WebhookInstallOptions{
6970
Paths: []string{filepath.Join("..", "..", "..", "config", "webhook")},
7071
},

testdata/project-v3-multigroup/apis/ship/v2alpha1/webhook_suite_test.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,8 @@ var _ = BeforeSuite(func() {
6464

6565
By("bootstrapping test environment")
6666
testEnv = &envtest.Environment{
67-
CRDDirectoryPaths: []string{filepath.Join("..", "..", "..", "config", "crd", "bases")},
67+
CRDDirectoryPaths: []string{filepath.Join("..", "..", "..", "config", "crd", "bases")},
68+
ErrorIfCRDPathMissing: false,
6869
WebhookInstallOptions: envtest.WebhookInstallOptions{
6970
Paths: []string{filepath.Join("..", "..", "..", "config", "webhook")},
7071
},

testdata/project-v3-multigroup/apis/v1/webhook_suite_test.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,8 @@ var _ = BeforeSuite(func() {
6464

6565
By("bootstrapping test environment")
6666
testEnv = &envtest.Environment{
67-
CRDDirectoryPaths: []string{filepath.Join("..", "..", "config", "crd", "bases")},
67+
CRDDirectoryPaths: []string{filepath.Join("..", "..", "config", "crd", "bases")},
68+
ErrorIfCRDPathMissing: false,
6869
WebhookInstallOptions: envtest.WebhookInstallOptions{
6970
Paths: []string{filepath.Join("..", "..", "config", "webhook")},
7071
},

testdata/project-v3-multigroup/controllers/apps/suite_test.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,8 @@ var _ = BeforeSuite(func() {
5252

5353
By("bootstrapping test environment")
5454
testEnv = &envtest.Environment{
55-
CRDDirectoryPaths: []string{filepath.Join("..", "..", "config", "crd", "bases")},
55+
CRDDirectoryPaths: []string{filepath.Join("..", "..", "config", "crd", "bases")},
56+
ErrorIfCRDPathMissing: false,
5657
}
5758

5859
cfg, err := testEnv.Start()

0 commit comments

Comments
 (0)