diff --git a/.github/workflows/.go.yml b/.github/workflows/.go.yml index 4611250..fce06f0 100644 --- a/.github/workflows/.go.yml +++ b/.github/workflows/.go.yml @@ -2,9 +2,9 @@ name: Go on: push: - branches: [ main ] + branches: [main, v5] pull_request: - branches: [ main ] + branches: [main, v5] jobs: test: @@ -16,19 +16,19 @@ jobs: go-version: 1.23 - name: "Setup Passbolt" run: | - git clone https://github.com/passbolt/passbolt_docker.git ../passbolt_docker - cd ../passbolt_docker - docker compose -f docker-compose/docker-compose-ce.yaml up -d - docker ps -a + git clone https://github.com/passbolt/passbolt_docker.git ../passbolt_docker + cd ../passbolt_docker + docker compose -f docker-compose/docker-compose-ce.yaml up -d + docker ps -a - name: "Test" run: | - docker exec docker-compose-passbolt-1 sh -c '/usr/bin/wait-for.sh -t 30 localhost:443' - output=$(docker exec docker-compose-passbolt-1 sh -c 'su -m -c "/usr/share/php/passbolt/bin/cake \ - passbolt register_user \ - -u your@email.com \ - -f yourname \ - -l surname \ - -r admin" -s /bin/sh www-data') - export REG_URL=$(echo ${output##* your mailbox or here: } | tr -d '\n') - echo "Register with $REG_URL" - go test -v ./... + docker exec docker-compose-passbolt-1 sh -c '/usr/bin/wait-for.sh -t 30 localhost:443' + output=$(docker exec docker-compose-passbolt-1 sh -c 'su -m -c "/usr/share/php/passbolt/bin/cake \ + passbolt register_user \ + -u your@email.com \ + -f yourname \ + -l surname \ + -r admin" -s /bin/sh www-data') + export REG_URL=$(echo ${output##* your mailbox or here: } | tr -d '\n') + echo "Register with $REG_URL" + go test -v ./... diff --git a/helper/resource_test.go b/helper/resource_test.go index 10a9619..b25903d 100644 --- a/helper/resource_test.go +++ b/helper/resource_test.go @@ -6,6 +6,10 @@ import ( ) func TestResourceCreate(t *testing.T) { + // Skip integration tests if no client is available + if client == nil { + t.SkipNow() + } id, err := CreateResource(context.TODO(), client, "", "name", "username", "https://url.lan", "password123", "a password description") if err != nil { t.Fatalf("Creating Resource %v", err) diff --git a/helper/setup_test.go b/helper/setup_test.go index 1d99e2f..4b5285c 100644 --- a/helper/setup_test.go +++ b/helper/setup_test.go @@ -15,6 +15,13 @@ var client *api.Client func TestMain(m *testing.M) { url := os.Getenv("REG_URL") + + // If we don't have a URL for Creating a user, Skip all integration tests by not Providing a client + if url == "" { + fmt.Println("REG_URL Env Variable Empty, Skipping integration tests") + os.Exit(m.Run()) + } + fmt.Printf("Registering with url: %v\n", url) userID, token, err := ParseInviteUrl(url) if err != nil {