From 4b64491ab9628eb7e47469be0cbd295b44a5a0d3 Mon Sep 17 00:00:00 2001
From: Robbie Luijben <luijben@astron.nl>
Date: Tue, 21 Nov 2023 10:22:40 +0100
Subject: [PATCH] Add settings, docker compose and gitlab config for running
 tests

---
 .gitlab-ci.yml                    | 17 +++++++++++++++++
 atdb/atdb/settings/ci.py          | 13 +++++++++++++
 atdb/docker/docker-compose-ci.yml | 15 +++++++++++++++
 atdb/test.bat                     |  1 +
 4 files changed, 46 insertions(+)
 create mode 100644 atdb/atdb/settings/ci.py
 create mode 100644 atdb/docker/docker-compose-ci.yml
 create mode 100644 atdb/test.bat

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 053c0292..f90aff83 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,4 +1,5 @@
 stages:
+  - test
   - build
   - deploy_to_test
   - deploy_to_production
@@ -18,6 +19,22 @@ docker-build:
 #    - master
 
 
+test-code:
+  image: python:3.10
+  stage: test
+  services:
+    - postgres:14.0
+  variables:
+    POSTGRES_DB: atdb_ldv_ci
+    POSTGRES_USER: atdb_admin_ci
+    POSTGRES_PASSWORD: "atdb123_ci"
+  script:
+    - cd atdb
+    - pip install -r requirements/dev.txt
+    - python manage.py migrate --settings atdb.settings.ci
+    - python manage.py test --settings atdb.settings.ci
+
+
 # deploy to 'sdc-dev.astron.nl'
 docker-deploy-to-test:
   image: docker:latest
diff --git a/atdb/atdb/settings/ci.py b/atdb/atdb/settings/ci.py
new file mode 100644
index 00000000..db745938
--- /dev/null
+++ b/atdb/atdb/settings/ci.py
@@ -0,0 +1,13 @@
+from atdb.settings.base import *
+import os
+
+DATABASES = {
+    'default': {
+         'ENGINE': 'django.db.backends.postgresql_psycopg2',
+         'USER': 'atdb_admin_ci',
+         'PASSWORD': 'atdb123_ci',
+         'NAME': 'atdb_ldv_ci',
+         'HOST': 'localhost',
+         'PORT': '5555',
+    },
+}
\ No newline at end of file
diff --git a/atdb/docker/docker-compose-ci.yml b/atdb/docker/docker-compose-ci.yml
new file mode 100644
index 00000000..8e1e6925
--- /dev/null
+++ b/atdb/docker/docker-compose-ci.yml
@@ -0,0 +1,15 @@
+version: '3.4'
+
+services:
+  atdb-ldv-db:
+    image: postgres:14
+    container_name: atdb-ldv-ci
+    expose:
+      - "5432"
+    ports:
+      - "5555:5432"
+    environment:
+      POSTGRES_PASSWORD: atdb123_ci
+      POSTGRES_USER: atdb_admin_ci
+      POSTGRES_DB: atdb_ldv_ci
+
diff --git a/atdb/test.bat b/atdb/test.bat
new file mode 100644
index 00000000..76519837
--- /dev/null
+++ b/atdb/test.bat
@@ -0,0 +1 @@
+python manage.py test --settings atdb.settings.ci
-- 
GitLab