Skip to content

Commit 7c2fe77

Browse files
committed
Trying out junit
1 parent a82f18c commit 7c2fe77

File tree

4 files changed

+68
-1
lines changed

4 files changed

+68
-1
lines changed

.github/workflows/docker-push.yml .github/workflows/main.yml

+35
Original file line numberDiff line numberDiff line change
@@ -33,3 +33,38 @@ jobs:
3333
password: ${{ secrets.GITHUB_TOKEN }}
3434
tags: latest,${{ steps.tag.outputs.POST_TAG }}
3535
repository: monetr/pgtest
36+
pg-test:
37+
needs:
38+
- docker
39+
name: Test
40+
runs-on: ubuntu-latest
41+
container: ghcr.io/monetr/pgtest:latest
42+
env:
43+
POSTGRES_HOST: postgres
44+
POSTGRES_PASSWORD: ""
45+
POSTGRES_USER: postgres
46+
POSTGRES_DB: test-db
47+
POSTGRES_HOST_AUTH_METHOD: trust
48+
services:
49+
postgres:
50+
image: ghcr.io/monetr/pgtest:latest
51+
env:
52+
POSTGRES_HOST: postgres
53+
POSTGRES_PASSWORD: ""
54+
POSTGRES_USER: postgres
55+
POSTGRES_DB: test-db
56+
POSTGRES_HOST_AUTH_METHOD: trust
57+
options: >-
58+
--health-cmd pg_isready
59+
--health-interval 10s
60+
--health-timeout 5s
61+
--health-retries 5
62+
steps:
63+
- uses: actions/checkout@v2
64+
- name: Test
65+
run: make test
66+
- name: Publish Test Report
67+
uses: mikepenz/action-junit-report@v2
68+
if: always() # always run even if the previous step fails
69+
with:
70+
report_paths: '/junit.xml'

Makefile

+16-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,18 @@
11

22
docker:
3-
docker build -f $(PWD)/Dockerfile .
3+
docker build -f $(PWD)/Dockerfile .
4+
5+
ifdef CI
6+
PG_TEST_EXTENSION_QUERY = "CREATE EXTENSION pgtap;"
7+
JUNIT_OUTPUT_FILE=/junit.xml
8+
test:
9+
@for FILE in $(PWD)/tests/schema/*.up.sql; do \
10+
echo "Applying $$FILE"; \
11+
psql -q -d $(POSTGRES_DB) -U $(POSTGRES_USER) -h $(POSTGRES_HOST) -f $$FILE || exit 1; \
12+
done;
13+
psql -q -d $(POSTGRES_DB) -U $(POSTGRES_USER) -h $(POSTGRES_HOST) -c $(PG_TEST_EXTENSION_QUERY)
14+
JUNIT_OUTPUT_FILE=$(JUNIT_OUTPUT_FILE) pg_prove -h $(POSTGRES_HOST) -U $(POSTGRES_USER) -d $(POSTGRES_DB) -f -c $(PWD)/tests/pg/*.sql --verbose --harness TAP::Harness::JUnit
15+
else
16+
test:
17+
$(error test is not available outside of CI)
18+
endif

tests/pg/tables.sql

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
BEGIN;
2+
SELECT plan(1);
3+
4+
SELECT has_table('users');
5+
6+
SELECT *
7+
FROM finish();
8+
ROLLBACK;
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
CREATE TABLE users
2+
(
3+
user_id BIGINT NOT NULL,
4+
email TEXT NOT NULL,
5+
name TEXT NOT NULL,
6+
phone_number TEXT NULL,
7+
CONSTRAINT pk_users PRIMARY KEY (user_id),
8+
CONSTRAINT uq_users_email UNIQUE (email)
9+
);

0 commit comments

Comments
 (0)