diff --git a/.travis.yml b/.travis.yml index c166afc..0293824 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,3 +1,6 @@ +sudo: required +services: + - docker language: python python: - 2.7 @@ -10,11 +13,21 @@ install: 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 pattern + - 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: diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..a11b98b --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,18 @@ +version: '2' + +services: + psql_server: + image: "postgres:9.5" + environment: + POSTGRES_USER: docker + POSTGRES_PASSWORD: docker + + psql_client: + build: + context: ./dockerfiles/psql_client + depends_on: + - 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..f0e92a5 --- /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", "ON_ERROR_STOP=on"]