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  }