Skip to content

Commit 7cfeb77

Browse files
committed
commands/.../build.go: split some test stuff into new function
1 parent 923505c commit 7cfeb77

File tree

1 file changed

+47
-42
lines changed

1 file changed

+47
-42
lines changed

commands/operator-sdk/cmd/build.go

Lines changed: 47 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,52 @@ func verifyDeploymentImage(yamlFile []byte, imageName string) string {
124124
return warningMessages
125125
}
126126

127+
func renderTestManifests(image string) string {
128+
namespacedRolesBytes := make([]byte, 0)
129+
if namespacedManBuild == "" {
130+
os.Mkdir("deploy/test", os.FileMode(int(0775)))
131+
namespacedManBuild = "deploy/test/namespace-manifests.yaml"
132+
rbac, err := ioutil.ReadFile("deploy/rbac.yaml")
133+
if err != nil {
134+
log.Fatalf("could not find rbac manifest: %v", err)
135+
}
136+
operator, err := ioutil.ReadFile("deploy/operator.yaml")
137+
if err != nil {
138+
log.Fatalf("could not find operator manifest: %v", err)
139+
}
140+
combined := append(rbac, []byte("\n---\n")...)
141+
combined = append(combined, operator...)
142+
err = ioutil.WriteFile(namespacedManBuild, combined, os.FileMode(int(0664)))
143+
if err != nil {
144+
log.Fatalf("could not create temporary namespaced manifest file: %v", err)
145+
}
146+
defer func() {
147+
err := os.Remove(namespacedManBuild)
148+
if err != nil {
149+
log.Fatalf("could not delete temporary namespace manifest file")
150+
}
151+
}()
152+
}
153+
namespacedBytes, err := ioutil.ReadFile(namespacedManBuild)
154+
if err != nil {
155+
log.Fatalf("could not read rbac manifest: %v", err)
156+
}
157+
namespacedRolesBytes, err = parseRoles(namespacedBytes)
158+
if err != nil {
159+
log.Fatalf("could not parse namespaced manifest file for rbac roles: %v", err)
160+
}
161+
genWarning := verifyDeploymentImage(namespacedBytes, image)
162+
global, err := ioutil.ReadFile(globalManBuild)
163+
if err != nil {
164+
cmdError.ExitWithError(cmdError.ExitError, fmt.Errorf("failed to read global manifest: (%v)", err))
165+
}
166+
c := cmdutil.GetConfig()
167+
if err = generator.RenderTestYaml(c, string(global), string(namespacedRolesBytes), image); err != nil {
168+
cmdError.ExitWithError(cmdError.ExitError, fmt.Errorf("failed to generate deploy/test-gen.yaml: (%v)", err))
169+
}
170+
return genWarning
171+
}
172+
127173
const (
128174
build = "./tmp/build/build.sh"
129175
configYaml = "./config/config.yaml"
@@ -143,52 +189,11 @@ func buildFunc(cmd *cobra.Command, args []string) {
143189
}
144190
fmt.Fprintln(os.Stdout, string(o))
145191

146-
namespacedRolesBytes := make([]byte, 0)
147192
genWarning := ""
148193
image := args[0]
149194
intermediateImageName := image
150195
if enableTests {
151-
if namespacedManBuild == "" {
152-
os.Mkdir("deploy/test", os.FileMode(int(0775)))
153-
namespacedManBuild = "deploy/test/namespace-manifests.yaml"
154-
rbac, err := ioutil.ReadFile("deploy/rbac.yaml")
155-
if err != nil {
156-
log.Fatalf("could not find rbac manifest: %v", err)
157-
}
158-
operator, err := ioutil.ReadFile("deploy/operator.yaml")
159-
if err != nil {
160-
log.Fatalf("could not find operator manifest: %v", err)
161-
}
162-
combined := append(rbac, []byte("\n---\n")...)
163-
combined = append(combined, operator...)
164-
err = ioutil.WriteFile(namespacedManBuild, combined, os.FileMode(int(0664)))
165-
if err != nil {
166-
log.Fatalf("could not create temporary namespaced manifest file: %v", err)
167-
}
168-
defer func() {
169-
err := os.Remove(namespacedManBuild)
170-
if err != nil {
171-
log.Fatalf("could not delete temporary namespace manifest file")
172-
}
173-
}()
174-
}
175-
namespacedBytes, err := ioutil.ReadFile(namespacedManBuild)
176-
if err != nil {
177-
log.Fatalf("could not read rbac manifest: %v", err)
178-
}
179-
namespacedRolesBytes, err = parseRoles(namespacedBytes)
180-
if err != nil {
181-
log.Fatalf("could not parse namespaced manifest file for rbac roles: %v", err)
182-
}
183-
genWarning = verifyDeploymentImage(namespacedBytes, image)
184-
global, err := ioutil.ReadFile(globalManBuild)
185-
if err != nil {
186-
cmdError.ExitWithError(cmdError.ExitError, fmt.Errorf("failed to read global manifest: (%v)", err))
187-
}
188-
c := cmdutil.GetConfig()
189-
if err = generator.RenderTestYaml(c, string(global), string(namespacedRolesBytes), image); err != nil {
190-
cmdError.ExitWithError(cmdError.ExitError, fmt.Errorf("failed to generate deploy/test-gen.yaml: (%v)", err))
191-
}
196+
genWarning = renderTestManifests(image)
192197
intermediateImageName += "-intermediate"
193198
}
194199
dbcmd := exec.Command("docker", "build", ".", "-f", "tmp/build/Dockerfile", "-t", intermediateImageName)

0 commit comments

Comments
 (0)