From 9b99685000004094ae28bed960904844f4da349e Mon Sep 17 00:00:00 2001 From: aifrak Date: Fri, 7 Aug 2020 21:53:35 +0200 Subject: [PATCH] Move tests (#16) * move tests ouf of main dockerfile * rename file * up only sut * remove tests related to testinfra and python * copy only necessary folders --- Dockerfile | 21 --------------------- Dockerfile.test | 17 +++++++++++++++++ docker-compose.test.yml | 8 +++++++- test.sh => test-build.sh | 2 +- test/build_test.py | 12 ------------ 5 files changed, 25 insertions(+), 35 deletions(-) create mode 100644 Dockerfile.test rename test.sh => test-build.sh (61%) diff --git a/Dockerfile b/Dockerfile index 964a1f6..059fe05 100644 --- a/Dockerfile +++ b/Dockerfile @@ -84,24 +84,3 @@ COPY --chown=$APP_USER:$APP_USER_GROUP ./config/.zshrc ./config/.p10k.zsh $APP_U COPY --chown=$APP_USER:$APP_USER_GROUP ./config/aliases.zsh $ZSH_CUSTOM CMD ["zsh"] - -# -------------------------- # -# TESTS # -# -------------------------- # - -FROM aifrak/testinfra:5.2.2-python-3.8.5-slim-buster as test-testinfra -FROM base as test-build - -# fix issue "/usr/local/bin/python: error while loading shared libraries: libpython3.8.so.1.0: cannot open shared object file: No such file or directory" -ENV LD_LIBRARY_PATH=/lib:/usr/lib:/usr/local/lib - -ARG DOCKER_TEST_DIR=./docker/test - -RUN mkdir -p $DOCKER_TEST_DIR - -WORKDIR $DOCKER_TEST_DIR - -COPY --from=test-testinfra /usr/local/ /usr/local/ -COPY --chown=$APP_USER:$APP_USER_GROUP ./test . - -ENTRYPOINT ["pytest"] diff --git a/Dockerfile.test b/Dockerfile.test new file mode 100644 index 0000000..bc0fe34 --- /dev/null +++ b/Dockerfile.test @@ -0,0 +1,17 @@ +FROM aifrak/testinfra:5.2.2-python-3.8.5-slim-buster as test-testinfra +FROM aifrak/base-image:sut as test-build + +# fix issue "/usr/local/bin/python: error while loading shared libraries: libpython3.8.so.1.0: cannot open shared object file: No such file or directory" +ENV LD_LIBRARY_PATH=/usr/local/lib + +ARG DOCKER_TEST_DIR=./docker/test + +RUN mkdir -p $DOCKER_TEST_DIR + +WORKDIR $DOCKER_TEST_DIR + +COPY --from=test-testinfra /usr/local/lib /usr/local/lib +COPY --from=test-testinfra /usr/local/bin /usr/local/bin +COPY --chown=$APP_USER:$APP_USER_GROUP ./test . + +ENTRYPOINT ["pytest"] diff --git a/docker-compose.test.yml b/docker-compose.test.yml index 3b306da..f8ae6d3 100644 --- a/docker-compose.test.yml +++ b/docker-compose.test.yml @@ -4,4 +4,10 @@ services: sut: build: context: . - target: test-build + dockerfile: Dockerfile.test + depends_on: + - base-image + # base image to be tested by sut + base-image: + image: aifrak/base-image:sut + build: . diff --git a/test.sh b/test-build.sh similarity index 61% rename from test.sh rename to test-build.sh index f39970c..4d9a20f 100644 --- a/test.sh +++ b/test-build.sh @@ -1,4 +1,4 @@ #!/bin/sh -docker-compose --file docker-compose.test.yml up --build +docker-compose --file docker-compose.test.yml up --build sut docker-compose --file docker-compose.test.yml down --volumes --remove-orphans --rmi all diff --git a/test/build_test.py b/test/build_test.py index ffaa5f2..e2e2ef5 100644 --- a/test/build_test.py +++ b/test/build_test.py @@ -11,18 +11,6 @@ OH_MY_ZSH_PATH = HOME_PATH + '/.oh-my-zsh' -def test_python(): - assert platform.python_version() == '3.8.5' - - -def test_pip_packages(host): - pip_packages = host.pip_package.get_packages - - assert pip_packages()['pip']['version'] == '20.1.1' - assert pip_packages()['pytest']['version'] == '5.4.3' - assert pip_packages()['testinfra']['version'] == '5.2.2' - - @pytest.mark.parametrize('name,version', [ ('git', ''), ('wget', ''),