1
1
INFRA_FOLDER ="$(shell pwd) /infra/configurations/"
2
2
HOST_MIGRATIONS_FOLDER =$(shell pwd) /backend/src/main/resources/db/migration
3
+ DATA_WAREHOUSE_INPUT_DATA_FOLDER =$(shell pwd) /datascience/tests/test_data/clickhouse_user_files
4
+ EXTERNAL_DATA_FOLDER =$(shell pwd) /datascience/tests/test_data/external
3
5
4
6
SHELL := /bin/bash
5
7
.SHELLFLAGS = -ec
@@ -270,8 +272,8 @@ docker-compose-puppeteer-up: docker-env
270
272
271
273
docker-build-pipeline :
272
274
docker build -f ./infra/docker/datapipeline/Dockerfile . -t monitorfish-pipeline:$(VERSION )
273
- docker-test-pipeline :
274
- docker run --network host -v / var/run/docker.sock:/var/run/docker.sock -u monitorfish-pipeline:$(DOCKER_GROUP ) --env-file datascience/.env.test --env HOST_MIGRATIONS_FOLDER=$(HOST_MIGRATIONS_FOLDER ) monitorfish-pipeline:$(VERSION ) coverage run -m pytest --pdb tests
275
+ docker-test-pipeline : fetch-external-data run-data-warehouse
276
+ docker run --network host -v $( EXTERNAL_DATA_FOLDER ) :/home/monitorfish-pipeline/datascience/tests/test_data/external -v / var/run/docker.sock:/var/run/docker.sock -u monitorfish-pipeline:$(DOCKER_GROUP ) --env-file datascience/.env.test --env HOST_MIGRATIONS_FOLDER=$(HOST_MIGRATIONS_FOLDER ) monitorfish-pipeline:$(VERSION ) coverage run -m pytest --pdb --ignore=tests/test_data/external tests
275
277
docker-tag-pipeline :
276
278
docker tag monitorfish-pipeline:$(VERSION ) docker.pkg.github.com/mtes-mct/monitorfish/monitorfish-pipeline:$(VERSION )
277
279
docker-push-pipeline :
@@ -284,8 +286,29 @@ docker-push-pipeline:
284
286
285
287
install-pipeline :
286
288
cd datascience && poetry install
289
+
290
+ stop-data-warehouse :
291
+ export DATA_WAREHOUSE_PASSWORD=password && \
292
+ export DATA_WAREHOUSE_USER=clickhouse_user && \
293
+ export DATA_WAREHOUSE_INPUT_DATA_FOLDER=$(DATA_WAREHOUSE_INPUT_DATA_FOLDER ) && \
294
+ docker compose -f ./datascience/tests/docker-compose.yml down -v
295
+
296
+ fetch-external-data :
297
+ git clone --depth=1 --branch=main https://github.com/MTES-MCT/fisheries-and-environment-data-warehouse.git ./datascience/tests/test_data/external/data_warehouse || echo " Data Warehouse repository already present - skipping git clone"
298
+
299
+ erase-external-data :
300
+ rm -rf datascience/tests/test_data/external/data_warehouse
301
+
302
+ run-data-warehouse :
303
+ export DATA_WAREHOUSE_PASSWORD=password && \
304
+ export DATA_WAREHOUSE_USER=clickhouse_user && \
305
+ export DATA_WAREHOUSE_INPUT_DATA_FOLDER=$(DATA_WAREHOUSE_INPUT_DATA_FOLDER ) && \
306
+ docker compose -f ./datascience/tests/docker-compose.yml up -d --remove-orphans
307
+
287
308
test-pipeline :
288
- cd datascience && export TEST_LOCAL=True && poetry run coverage run -m pytest --pdb tests/ && poetry run coverage report && poetry run coverage html
309
+ cd datascience && export TEST_LOCAL=True && poetry run coverage run -m pytest --pdb --ignore=tests/test_data/external tests/ && poetry run coverage report && poetry run coverage html
310
+
311
+ test-pipeline-with-data_warehouse : fetch-external-data run-data-warehouse test-pipeline stop-data-warehouse
289
312
290
313
# ----------------------------------------------------------
291
314
# Remote: Database commands
0 commit comments