Commit fac03d7b authored by Yakubov, Sergey's avatar Yakubov, Sergey
Browse files

add integration tests

parent 05c0dce5
Loading
Loading
Loading
Loading
+28 −2
Original line number Diff line number Diff line
@@ -3,6 +3,7 @@ stages:
  - build
  - unit-tests
  - build-prod
  - integration-tests

variables:
  GIT_STRATEGY: clone
@@ -27,7 +28,7 @@ lint:
  script:
    - >
      docker build
      -f dockerfiles/dev.Dockerfile
      -f dockerfiles/Dockerfile
      -t remote-data-manager .
    - docker run --rm remote-data-manager bash -c "set -e; poetry run isort --filter-files --check-only . ; poetry run black --check --diff .; poetry run flake8 ."
    - docker tag remote-data-manager $CONTAINER_RDM_URL/$CI_COMMIT_REF_NAME:$CI_COMMIT_SHORT_SHA
@@ -54,7 +55,7 @@ services-build:
  script:
    - >    
      docker build
      -f dockerfiles/prod.Dockerfile
      -f dockerfiles/Dockerfile --target production
      -t remote-data-manager .
    - docker tag remote-data-manager $CONTAINER_RDM_URL_PROD/$CI_COMMIT_REF_NAME:$CI_COMMIT_SHORT_SHA
    - docker tag $CONTAINER_RDM_URL_PROD/$CI_COMMIT_REF_NAME:$CI_COMMIT_SHORT_SHA $CONTAINER_RDM_URL_PROD/$CI_COMMIT_REF_NAME:latest
@@ -63,3 +64,28 @@ services-build:
  tags:
    - rse-multi-builder



services-integration-tests:
  stage: integration-tests
  variables:
    LOCALHOST: "172.17.0.1"
  script:
    - > 
      docker run --rm -d
      --name remote-data-manager
      -p 8090:8000
      $CONTAINER_RDM_URL_PROD/$CI_COMMIT_REF_NAME:$CI_COMMIT_SHORT_SHA
    - sleep 2
    - >
      docker run --rm
      -e LOCALHOST
      -v $PWD:/reports
      $CONTAINER_RDM_URL/$CI_COMMIT_REF_NAME:$CI_COMMIT_SHORT_SHA bash -c "poetry run pytest tests/integration --junitxml=/reports/report_int.xml"
    - docker rm -f remote-data-manager
  artifacts:
    when: always
    reports:
      junit: report_int.xml
  tags:
    - rse-multi-builder
+1 −1
Original line number Diff line number Diff line
@@ -12,6 +12,6 @@ router = APIRouter(
)


@router.get("/")
@router.get("")
async def download_items():
    return Response(msg="download")
+1 −1
Original line number Diff line number Diff line
@@ -11,6 +11,6 @@ router = APIRouter(
)


@router.get("/", response_model=Response)
@router.get("", response_model=Response)
async def upload_items():
    return Response(msg="upload")
+7 −1
Original line number Diff line number Diff line
FROM code.ornl.gov:4567/rse/images/python-pyenv-tox:0.0.1
FROM code.ornl.gov:4567/rse/images/python-pyenv-tox:0.0.1 as production

ENV PYTHONFAULTHANDLER=1 \
  PYTHONUNBUFFERED=1 \
@@ -12,3 +12,9 @@ COPY . /code

RUN poetry config virtualenvs.create false \
  && poetry install --no-dev

CMD ["bash","-c","poetry run uvicorn --host 0.0.0.0 app.main:app"]

FROM production as dev

RUN poetry install
 No newline at end of file

dockerfiles/dev.Dockerfile

deleted100644 → 0
+0 −14
Original line number Diff line number Diff line
FROM code.ornl.gov:4567/rse/images/python-pyenv-tox:0.0.1

ENV PYTHONFAULTHANDLER=1 \
  PYTHONUNBUFFERED=1 \
  PYTHONHASHSEED=random \
  PIP_NO_CACHE_DIR=off \
  PIP_DISABLE_PIP_VERSION_CHECK=on \
  PIP_DEFAULT_TIMEOUT=100

WORKDIR /code
COPY . /code

RUN poetry config virtualenvs.create false \
  && poetry install
Loading