From 15efc241c45912baa34102163fcea8e780e4c290 Mon Sep 17 00:00:00 2001 From: ymoch Date: Wed, 8 Feb 2017 21:47:17 +0900 Subject: [PATCH 1/6] Add CI testing for DB. --- .travis.yml | 9 ++++++--- docker-compose.yml | 20 ++++++++++++++++++++ dockerfiles/psql_client/Dockerfile | 8 ++++++++ 3 files changed, 34 insertions(+), 3 deletions(-) create mode 100644 docker-compose.yml create mode 100644 dockerfiles/psql_client/Dockerfile diff --git a/.travis.yml b/.travis.yml index c166afc..9bd2324 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,3 +1,6 @@ +sudo: required +services: + - docker language: python python: - 2.7 @@ -11,9 +14,9 @@ script: # Unit testing. - coverage run --source=csv2sql setup.py test # Integrated testing. - - coverage run -a --source=csv2sql -m csv2sql all -r tbl < data/test-input.csv - - coverage run -a --source=csv2sql -m csv2sql schema -r tbl < data/test-input.csv - - coverage run -a --source=csv2sql -m csv2sql data tbl < data/test-input.csv + - coverage run -a --source=csv2sql -m csv2sql all tbl < data/test-input.csv | docker-compose run psql_client + - coverage run -a --source=csv2sql -m csv2sql schema -r tbl < data/test-input.csv | docker-compose run psql_client + - coverage run -a --source=csv2sql -m csv2sql data tbl < data/test-input.csv | docker-compose run psql_client - coverage run -a --source=csv2sql -m csv2sql pattern after_success: - coveralls diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..57076b6 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,20 @@ +version: '2' + +services: + psql_server: + image: "postgres:9.5" + ports: + - "5432:5432" + environment: + POSTGRES_USER: docker + POSTGRES_PASSWORD: docker + + psql_client: + build: + context: ./dockerfiles/psql_client + links: + - psql_server + environment: + PGHOST: psql_server + PGUSER: docker + PGPASSWORD: docker diff --git a/dockerfiles/psql_client/Dockerfile b/dockerfiles/psql_client/Dockerfile new file mode 100644 index 0000000..af206ce --- /dev/null +++ b/dockerfiles/psql_client/Dockerfile @@ -0,0 +1,8 @@ +FROM postgres:9.5 + +RUN apt-get update && apt-get install -y curl +RUN curl -o /usr/local/bin/wait-for-it.sh \ + https://raw.githubusercontent.com/vishnubob/wait-for-it/master/wait-for-it.sh +RUN chmod 755 /usr/local/bin/wait-for-it.sh + +ENTRYPOINT ["wait-for-it.sh", "psql_server:5432", "--", "psql", "--set", "STOP_ON_ERROR=on"] From 0182130dc8bb3cd1a9b746bc852da3dae1b5b4ad Mon Sep 17 00:00:00 2001 From: ymoch Date: Wed, 8 Feb 2017 21:55:43 +0900 Subject: [PATCH 2/6] Fix bugs. --- docker-compose.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 57076b6..a11b98b 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,8 +3,6 @@ version: '2' services: psql_server: image: "postgres:9.5" - ports: - - "5432:5432" environment: POSTGRES_USER: docker POSTGRES_PASSWORD: docker @@ -12,7 +10,7 @@ services: psql_client: build: context: ./dockerfiles/psql_client - links: + depends_on: - psql_server environment: PGHOST: psql_server From 786183174c7d2781e8c2e7a507a57bd6056f768a Mon Sep 17 00:00:00 2001 From: ymoch Date: Wed, 8 Feb 2017 22:01:04 +0900 Subject: [PATCH 3/6] Improve test coverage. --- .travis.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 9bd2324..4352113 100644 --- a/.travis.yml +++ b/.travis.yml @@ -15,9 +15,9 @@ script: - coverage run --source=csv2sql setup.py test # Integrated testing. - coverage run -a --source=csv2sql -m csv2sql all tbl < data/test-input.csv | docker-compose run psql_client - - coverage run -a --source=csv2sql -m csv2sql schema -r tbl < data/test-input.csv | docker-compose run psql_client + - coverage run -a --source=csv2sql -m csv2sql pattern > pattern.yml + - coverage run -a --source=csv2sql -m csv2sql schema -r -p pattern.yml tbl < data/test-input.csv | docker-compose run psql_client - coverage run -a --source=csv2sql -m csv2sql data tbl < data/test-input.csv | docker-compose run psql_client - - coverage run -a --source=csv2sql -m csv2sql pattern after_success: - coveralls notifications: From 657a7bd0b8d95ce8de502a4dbbcf714e260e2702 Mon Sep 17 00:00:00 2001 From: ymoch Date: Wed, 8 Feb 2017 22:11:17 +0900 Subject: [PATCH 4/6] Improve test coverage. --- .travis.yml | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/.travis.yml b/.travis.yml index 4352113..c61e184 100644 --- a/.travis.yml +++ b/.travis.yml @@ -13,11 +13,19 @@ install: script: # Unit testing. - coverage run --source=csv2sql setup.py test + # Integrated testing. - - coverage run -a --source=csv2sql -m csv2sql all tbl < data/test-input.csv | docker-compose run psql_client - - coverage run -a --source=csv2sql -m csv2sql pattern > pattern.yml - - coverage run -a --source=csv2sql -m csv2sql schema -r -p pattern.yml tbl < data/test-input.csv | docker-compose run psql_client - - coverage run -a --source=csv2sql -m csv2sql data tbl < data/test-input.csv | docker-compose run psql_client + - coverage run + -a --source=csv2sql -m csv2sql all tbl --lines-for-inference 10 < data/test-input.csv + | docker-compose run psql_client + - coverage run + -a --source=csv2sql -m csv2sql pattern > pattern.yml + - coverage run + -a --source=csv2sql -m csv2sql schema -r -p pattern.yml tbl < data/test-input.csv + | docker-compose run psql_client + - coverage run + -a --source=csv2sql -m csv2sql data tbl < data/test-input.csv + | docker-compose run psql_client after_success: - coveralls notifications: From 42ef25682022a6960565ec06e33f21e37a583223 Mon Sep 17 00:00:00 2001 From: ymoch Date: Wed, 8 Feb 2017 22:12:55 +0900 Subject: [PATCH 5/6] Refactor. --- .travis.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index c61e184..0293824 100644 --- a/.travis.yml +++ b/.travis.yml @@ -16,12 +16,14 @@ script: # Integrated testing. - coverage run - -a --source=csv2sql -m csv2sql all tbl --lines-for-inference 10 < data/test-input.csv + -a --source=csv2sql -m csv2sql all tbl --lines-for-inference 10 + < data/test-input.csv | docker-compose run psql_client - coverage run -a --source=csv2sql -m csv2sql pattern > pattern.yml - coverage run - -a --source=csv2sql -m csv2sql schema -r -p pattern.yml tbl < data/test-input.csv + -a --source=csv2sql -m csv2sql schema -r -p pattern.yml tbl + < data/test-input.csv | docker-compose run psql_client - coverage run -a --source=csv2sql -m csv2sql data tbl < data/test-input.csv From 25f228fccb76b3c5169f6ee5700e524a17e2d95b Mon Sep 17 00:00:00 2001 From: ymoch Date: Wed, 8 Feb 2017 22:15:25 +0900 Subject: [PATCH 6/6] Fix a bug. --- dockerfiles/psql_client/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dockerfiles/psql_client/Dockerfile b/dockerfiles/psql_client/Dockerfile index af206ce..f0e92a5 100644 --- a/dockerfiles/psql_client/Dockerfile +++ b/dockerfiles/psql_client/Dockerfile @@ -5,4 +5,4 @@ RUN curl -o /usr/local/bin/wait-for-it.sh \ https://raw.githubusercontent.com/vishnubob/wait-for-it/master/wait-for-it.sh RUN chmod 755 /usr/local/bin/wait-for-it.sh -ENTRYPOINT ["wait-for-it.sh", "psql_server:5432", "--", "psql", "--set", "STOP_ON_ERROR=on"] +ENTRYPOINT ["wait-for-it.sh", "psql_server:5432", "--", "psql", "--set", "ON_ERROR_STOP=on"]