Skip to content

Project maintenance

Project maintenance #4

name: Integration tests
on:
push:
branches: [ "*" ]
pull_request:
branches: [ "main" ]
jobs:
integration-tests:
env:
POSTGRES_HOST: localhost
POSTGRES_PORT: 5432
POSTGRES_USER: ${{ secrets.POSTGRES_USER }}
POSTGRES_PASSWORD: ${{ secrets.POSTGRES_PASSWORD }}
POSTGRES_DB: routing
runs-on: ubuntu-latest
services:
postgres:
image: postgis/postgis:13-master
env:
POSTGRES_USER: ${{ secrets.POSTGRES_USER }}
POSTGRES_PASSWORD: ${{ secrets.POSTGRES_PASSWORD }}
POSTGRES_DB: routing
ports:
- 5432:5432
options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5
rabbitmq:
image: rabbitmq:3.9-alpine
env:
RABBITMQ_USERNAME: ${{ secrets.RABBITMQ_USERNAME }}
RABBITMQ_PASSWORD: ${{ secrets.RABBITMQ_PASSWORD }}
RABBITMQ_HOST: localhost
RABBITMQ_VHOST: /
ports:
- 5672:5672
steps:
- name: Checkout code
uses: actions/checkout@v3
with:
lfs: true
- name: Checkout LFS objects (map files)
run: git lfs checkout
- name: Set up Python 3.9.16
uses: actions/setup-python@v3
with:
python-version: 3.9.16
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -e ./routing
pip install -r requirements.txt
- name: Run migration
run: |
cd Routing_Api
python manage.py migrate
python manage.py migrate Mobis
- name: Run integration tests
run: |
cd Routing_Api
python manage.py test -v 2 --keepdb --noinput
env:
SECRET_KEY: ${{ secrets.DJANGO_SECRET_KEY }}
REST_THROTTLINGRATE_ANON: 300
REST_THROTTLINGRATE_USER: 100