github.com/ouraigua/jenkins-library@v0.0.0-20231028010029-fbeaf2f3aa9b/integration/integration_maven_test.go (about)

     1  //go:build integration
     2  // +build integration
     3  
     4  // can be executed with
     5  // go test -v -tags integration -run TestMavenIntegration ./integration/...
     6  
     7  package main
     8  
     9  import (
    10  	"testing"
    11  )
    12  
    13  func TestMavenIntegrationBuildCloudSdkSpringProject(t *testing.T) {
    14  	t.Parallel()
    15  	container := givenThisContainer(t, IntegrationTestDockerExecRunnerBundle{
    16  		Image:   "maven:3-openjdk-8-slim",
    17  		User:    "1000",
    18  		TestDir: []string{"testdata", "TestMavenIntegration", "cloud-sdk-spring-archetype"},
    19  		Mounts:  map[string]string{},
    20  		Setup:   []string{},
    21  	})
    22  	defer container.terminate(t)
    23  
    24  	err := container.whenRunningPiperCommand("mavenBuild", "")
    25  	if err != nil {
    26  		t.Fatalf("Calling piper command failed %s", err)
    27  	}
    28  
    29  	container.assertHasOutput(t, "BUILD SUCCESS")
    30  	container.assertHasFiles(t,
    31  		"/project/application/target/cloud-sdk-spring-archetype-application.jar",
    32  		"/tmp/.m2/repository",
    33  	)
    34  
    35  	err = container.whenRunningPiperCommand("mavenExecuteIntegration", "")
    36  	if err != nil {
    37  		t.Fatalf("Calling piper command failed %s", err)
    38  	}
    39  
    40  	container.assertHasOutput(t,
    41  		"INFO mydemo.HelloWorldControllerTest - Starting HelloWorldControllerTest",
    42  		"Tests run: 1, Failures: 0, Errors: 0, Skipped: 0",
    43  	)
    44  
    45  	container.assertHasFiles(t, "/project/integration-tests/target/coverage-reports/jacoco.exec")
    46  }
    47  
    48  func TestMavenIntegrationBuildCloudSdkTomeeProject(t *testing.T) {
    49  	t.Parallel()
    50  	container := givenThisContainer(t, IntegrationTestDockerExecRunnerBundle{
    51  		Image:   "maven:3-openjdk-8-slim",
    52  		User:    "1000",
    53  		TestDir: []string{"testdata", "TestMavenIntegration", "cloud-sdk-tomee-archetype"},
    54  		Mounts:  map[string]string{},
    55  		Setup:   []string{},
    56  	})
    57  	defer container.terminate(t)
    58  
    59  	err := container.whenRunningPiperCommand("mavenBuild", "")
    60  	if err != nil {
    61  		t.Fatalf("Calling piper command failed %s", err)
    62  	}
    63  
    64  	container.assertHasOutput(t, "BUILD SUCCESS")
    65  	container.assertHasFiles(t,
    66  		"/project/application/target/cloud-sdk-tomee-archetype-application-classes.jar",
    67  		"/project/application/target/cloud-sdk-tomee-archetype-application.war",
    68  		"/tmp/.m2/repository",
    69  	)
    70  
    71  	err = container.whenRunningPiperCommand("mavenExecuteIntegration", "")
    72  	if err != nil {
    73  		t.Fatalf("Calling piper command failed %s", err)
    74  	}
    75  
    76  	container.assertHasOutput(t,
    77  		"(prepare-agent) @ cloud-sdk-tomee-archetype-integration-tests",
    78  		"Tests run: 1, Failures: 0, Errors: 0, Skipped: 0",
    79  	)
    80  
    81  	container.assertHasFiles(t, "/project/integration-tests/target/coverage-reports/jacoco.exec")
    82  }