diff --git a/.github/workflows/testing.yml b/.github/workflows/testing.yml index a761c21..9438f1c 100644 --- a/.github/workflows/testing.yml +++ b/.github/workflows/testing.yml @@ -43,7 +43,11 @@ jobs: go-version: ^1.17 - name: Check out code uses: actions/checkout@v2 - - name: Run tests - run: go test -cover ./... -coverprofile=coverage.txt -covermode=atomic + - name: Run unit tests + run: make test-unit + - name: Run examples tests + run: make test-examples + - name: Run integration tests + run: make test-integration env: POSTGRES_DSN: postgres://goengine:goengine@localhost:${{ job.services.postgres.ports[5432] }}/goengine?sslmode=disable diff --git a/docker-compose.yml b/docker-compose.yml index 5e97108..789b2d2 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,12 +1,19 @@ -version: '2' +version: '3' services: postgres: image: postgres:10.3 ports: - - '8043:5432' + - '8043:5432' + tmpfs: + - /var/lib/postgresql environment: LC_ALL: C.UTF-8 POSTGRES_DB: goengine POSTGRES_USER: goengine POSTGRES_PASSWORD: goengine + healthcheck: + test: [ "CMD", "pg_isready" ] + interval: 10s + timeout: 5s + retries: 5 diff --git a/extension/amqp/listener_test.go b/extension/amqp/listener_test.go index 3a6536a..9b8496e 100644 --- a/extension/amqp/listener_test.go +++ b/extension/amqp/listener_test.go @@ -108,7 +108,7 @@ func TestListener_Listen(t *testing.T) { interval := consumeCalls[i].Sub(consumeCalls[i-1]) if expectedInterval > interval || interval > (expectedInterval+time.Millisecond*2) { - assert.Fail(t, fmt.Sprintf("Invalid interval after consume %d (got %s expected between %s and %s)", i, interval, expectedInterval, (expectedInterval+time.Millisecond))) + assert.Fail(t, fmt.Sprintf("Invalid interval after consume %d (got %s expected between %s and %s)", i, interval, expectedInterval, expectedInterval+time.Millisecond)) } } diff --git a/test/internal/postgres.go b/test/internal/postgres.go index 984e392..a2e56fc 100644 --- a/test/internal/postgres.go +++ b/test/internal/postgres.go @@ -214,7 +214,7 @@ func postgresDSN(t *testing.T) string { parsedDSN += " application_name=" + postgressAppName } - parsedDSN = regexp.MustCompile(`dbname=((?:(\\ )|[^ ])+)`). + parsedDSN = regexp.MustCompile(`dbname='((?:(\\ )|[^ ])+)'`). ReplaceAllString(parsedDSN, fmt.Sprintf("dbname=${1}-%d", time.Now().UnixNano())) return parsedDSN