Compare commits

...

8 Commits

Author SHA1 Message Date
hasslesstech 99be9e40c2 [P] Update diagram to reflect projet usecase
Component testing / Hub testing (push) Successful in 22s
Component testing / Store testing (push) Successful in 47s
Component testing / Integration smoke testing (push) Successful in 2m54s
2026-03-29 12:41:29 +03:00
hasslesstech c1d11bc53a [P] Add primary use-case activity diagram 2026-03-29 12:39:16 +03:00
hasslesstech e515cd3b6b [P] Simplify general sequence diagram 2026-03-29 12:39:16 +03:00
hasslesstech 502226a2c9 [P] Move diagrams into a dedicated directory 2026-03-29 12:39:16 +03:00
hasslesstech 070e0c2b00 [P] Convert use case diagram files to PlantUML format 2026-03-29 12:39:16 +03:00
hasslesstech 14c5c35787 [P] Convert sequence diagram files to PlantUML format 2026-03-29 12:39:16 +03:00
bacant150 98e0512fbe Add use-case and sequence diagrams 2026-03-29 12:39:16 +03:00
hasslesstech 2164003482 [P] Integrate additional store testing into CI pipeline
Component testing / Hub testing (push) Successful in 25s
Component testing / Store testing (push) Successful in 45s
Component testing / Integration smoke testing (push) Failing after 11m40s
2026-03-27 20:19:34 +02:00
6 changed files with 72 additions and 1 deletions
+10 -1
View File
@@ -28,18 +28,27 @@ jobs:
- name: Clone repository
run: git clone --revision ${{ gitea.sha }} --depth 1 ${{ gitea.server_url }}/${{ gitea.repository }}
- name: Start postgres_db container for testing
working-directory: IoT-Systems
run: docker-compose up -d postgres_db
- name: Build Store testing container
working-directory: IoT-Systems
run: docker build -t local/store/${{gitea.sha}} -f store/Dockerfile-test .
- name: Run Store tests
working-directory: IoT-Systems
run: docker run --rm -it local/store/${{gitea.sha}}
run: docker run --network host --rm -it local/store/${{gitea.sha}}
- name: Clean up containers
if: ${{always()}}
run: docker image rm local/store/${{gitea.sha}}
- name: Clean up docker-compose
if: ${{always()}}
working-directory: IoT-Systems
run: docker-compose down -v --remove-orphans
integration-smoke-test:
name: Integration smoke testing
runs-on: host-arch-x86_64
+22
View File
@@ -0,0 +1,22 @@
@startuml
actor Worker as worker
participant Agent as agent
participant "Edge" as edge
participant "Hub" as hub
participant "Store" as store
participant "MapView" as mapview
actor Spectator as spectator
worker -> agent : Start agent
agent -> edge : Send sensor data
edge -> edge : Classify road state
edge -> hub : Send processed data
hub -> hub : Save processed data
hub -> store : Send processed data batch
store -> store : Save processed data batch
store -> mapview : Send new rows
mapview -> spectator : Show updated paths and markers
spectator -> mapview : Click on markers
mapview -> spectator : Hide clicked markers
mapview -> store : Save display preference
@enduml
+15
View File
@@ -0,0 +1,15 @@
@startuml
|Користувач|
start
:Натискає на іконку ями;
|Система|
:Запитує підтвердження видалення ями;
|Користувач|
:Підтверджує видалення ями;
|Система|
:Модифікує запис про яму;
note right #ff9999: Можлива виключна ситуація 1
:Видаляє яму;
|Користувач|
stop
@enduml
+23
View File
@@ -0,0 +1,23 @@
@startuml
rectangle IoT-Systems {
usecase "Collect telemetry (accelerometer + GPS)" as uc1
usecase "Send telemetry" as uc2
usecase "Process telemetry" as uc3
usecase "Determine road condition (pothole / bump /\nnormal)" as uc4
usecase "View road defect marks" as uc5
usecase "View route on map" as uc6
}
rectangle "The user is the card operator" as uc10
rectangle "Sensor Agent\n(Device/STM32/Emulator)" as uc11
uc11 - uc1
uc11 - uc2
uc10 - uc5
uc10 - uc6
uc2 -.|> uc3 : <<include>>
uc3 -.|> uc4 : <<include>>
@enduml
+1
View File
@@ -6,6 +6,7 @@ WORKDIR /app
COPY store/requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
RUN pip install --root-user-action ignore --no-cache-dir pytest httpx
# Copy the entire application into the container
COPY store/. .
# Run the main.py script inside the container when it starts
+1
View File
@@ -1,3 +1,4 @@
#!/bin/sh
PYTHONPATH=$PWD python3 test/main_test.py
PYTHONPATH=$PWD python3 -m pytest test_db.py