[P] Integrate MapView testing into CI pipeline
Some checks failed
Component testing / Hub testing (push) Successful in 13s
Component testing / Store testing (push) Successful in 35s
Component testing / MapView testing (push) Failing after 2m55s
Component testing / Integration smoke testing (push) Has been skipped

This commit is contained in:
2026-03-31 11:36:28 +03:00
parent 0f053f5c8f
commit 0a37d45eb6
4 changed files with 40 additions and 3 deletions

View File

@@ -49,12 +49,32 @@ jobs:
working-directory: IoT-Systems
run: docker-compose down -v --remove-orphans
mapview-test:
name: MapView testing
runs-on: host-arch-x86_64
steps:
- name: Clone repository
run: git clone --revision ${{ gitea.sha }} --depth 1 ${{ gitea.server_url }}/${{ gitea.repository }}
- name: Build MapView testing container
working-directory: IoT-Systems
run: docker build -t local/mapview/${{gitea.sha}} -f MapView/Dockerfile-test .
- name: Run MapView tests
working-directory: IoT-Systems
run: docker run --rm -it local/mapview/${{gitea.sha}}
- name: Clean up containers
if: ${{always()}}
run: docker image rm local/mapview/${{gitea.sha}}
integration-smoke-test:
name: Integration smoke testing
runs-on: host-arch-x86_64
needs:
- hub-test
- store-test
- mapview-test
steps:
- name: Clone repository
run: git clone --revision ${{ gitea.sha }} --depth 1 ${{ gitea.server_url }}/${{ gitea.repository }}

14
MapView/Dockerfile-test Normal file
View File

@@ -0,0 +1,14 @@
# Use the official Python image as the base image
FROM python:latest
# Set the working directory inside the container
WORKDIR /app
# Copy the requirements.txt file and install dependencies
COPY MapView/requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
RUN pip install --root-user-action ignore --no-cache-dir unittest
# Copy the entire application into the container
COPY MapView/. .
# Run the main.py script inside the container when it starts
#CMD ["uvicorn", "main:app", "--host", "0.0.0.0"]
CMD ["./test-entry.sh"]

3
MapView/test-entry.sh Executable file
View File

@@ -0,0 +1,3 @@
#!/bin/sh
PYTHONPATH=$PWD python3 -m unittest tests.test_mp

View File

@@ -6,8 +6,8 @@ sys.modules['lineMapLayer'] = Mock()
sys.modules['datasource'] = Mock()
sys.modules['config'] = Mock()
from MapView.main import get_lat_lon, MapViewApp
from MapView.datasource import Datasource as DataSourceClass
from main import get_lat_lon, MapViewApp
from datasource import Datasource as DataSourceClass
# -----------------------