github.com/ouraigua/jenkins-library@v0.0.0-20231028010029-fbeaf2f3aa9b/integration/integration_gitops_test.go (about) 1 //go:build integration 2 // +build integration 3 4 // can be executed with 5 // go test -v -tags integration -run TestGitOpsIntegration ./integration/... 6 7 package main 8 9 import ( 10 "testing" 11 ) 12 13 func TestGitOpsIntegrationUpdateDeployment(t *testing.T) { 14 container := givenThisContainer(t, IntegrationTestDockerExecRunnerBundle{ 15 Image: "nekottyo/kustomize-kubeval:kustomizev4", 16 TestDir: []string{"testdata", "TestGitopsUpdateIntegration", "kustomize", "workdir"}, 17 Mounts: map[string]string{"./testdata/TestGitopsUpdateIntegration/kustomize/gitopsRepo": "/gitopsRepo-source"}, 18 Setup: []string{"cp -r /gitopsRepo-source /gitopsRepo"}, 19 }) 20 defer container.terminate(t) 21 22 err := container.whenRunningPiperCommand("gitopsUpdateDeployment", "--containerImageNameTag=image:456") 23 if err != nil { 24 t.Fatalf("Calling piper command failed %s\n", err) 25 } 26 err = container.Runner.RunExecutable("docker", "exec", container.ContainerName, "git", "clone", "/gitopsRepo", "/tmp/repo") 27 if err != nil { 28 t.Fatalf("Cloing of bare repo failed") 29 } 30 31 container.assertHasOutput(t, "SUCCESS", "[kustomize] updating") 32 container.assertFileContentEquals(t, "/tmp/repo/kustomization.yaml", `images: 33 - name: test-project 34 newName: image 35 newTag: "456" 36 apiVersion: kustomize.config.k8s.io/v1beta1 37 kind: Kustomization 38 `) 39 }