//go:build integration // +build integration // can be executed with // go test -v -tags integration -run TestAPICLIIntegration ./integration/... package main import ( "context" "os" "path/filepath" "testing" "github.com/stretchr/testify/assert" "github.com/testcontainers/testcontainers-go" ) func TestDummyIntegration(t *testing.T) { t.Skip("Skipping testing - this is just to show how it can be done") ctx := context.Background() dir, err := os.Getwd() assert.NoError(t, err, "Getting current working directory failed.") dir = filepath.Dir(dir) req := testcontainers.ContainerRequest{ Image: "node:lts-buster", Cmd: []string{"tail", "-f"}, BindMounts: map[string]string{dir: "/data"}, //ToDo: we may set up a tmp directory and mount it in addition, e.g. for runtime artifacts ... } testContainer, err := testcontainers.GenericContainer(ctx, testcontainers.GenericContainerRequest{ ContainerRequest: req, Started: true, }) assert.NoError(t, err) piperOptions := []string{ "", "-- ", "", "...", "--noTelemetry", } code, err := testContainer.Exec(ctx, append([]string{"/data/piper"}, piperOptions...)) assert.NoError(t, err) assert.Equal(t, 0, code) }