From aa8c84c179771584890f25c25c5303a8c3788a99 Mon Sep 17 00:00:00 2001 From: Mark <mark@openappstack.net> Date: Tue, 6 Aug 2019 14:59:34 +0200 Subject: [PATCH] Add gitlab CI application test --- .gitlab-ci.yml | 35 ++++++++++++++++++++++++++++++++++ login_provider/test/Dockerfile | 11 +++++++++++ 2 files changed, 46 insertions(+) create mode 100644 login_provider/test/Dockerfile diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 96028e1..92f20eb 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,5 +1,6 @@ stages: - build + - application-test consentProvider_image: stage: build @@ -34,3 +35,37 @@ loginProvider_image: only: changes: - login_provider/* + +loginProviderCiTest_image: + stage: build + DOCKER_DRIVER: overlay2 + image: docker:stable + services: + - docker:18-dind # FIXME This is an older version of DIND. Update when gitlab-runner fixes https://gitlab.com/gitlab-org/gitlab-runner/issues/4501 + before_script: + - docker info + script: + - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY + - docker build -t ${CI_REGISTRY_IMAGE}/login_provider_ci_test:${CI_COMMIT_REF_NAME} login_provider/test/ + - docker push ${CI_REGISTRY_IMAGE}/login_provider_ci_test:${CI_COMMIT_REF_NAME} + only: + changes: + - login_provider/* + +behave-login: + stage: application-test + services: + - name: ${CI_REGISTRY_IMAGE}/login_provider:${CI_COMMIT_REF_NAME} + alias: login_provider + image: ${CI_REGISTRY_IMAGE}/login_provider_ci_test:${CI_COMMIT_REF_NAME} + script: + - cd login_provider/test/behave/ + - python -m behave -D url=http://login_provider -D email=example@oas.example.net -D password=password + artifacts: + paths: + - login_provider/test/behave/screenshots/ + expire_in: 1 month + when: on_failure + only: + changes: + - login_provider/* diff --git a/login_provider/test/Dockerfile b/login_provider/test/Dockerfile new file mode 100644 index 0000000..628e03d --- /dev/null +++ b/login_provider/test/Dockerfile @@ -0,0 +1,11 @@ +FROM alpine:3.9 + +LABEL name="Login_provider CI test image" + +RUN apk --no-cache add \ + chromium \ + chromium-chromedriver \ + python3-dev \ + python3-pip + +RUN pip3 install behave behave_webdriver -- GitLab