orthanc 0.8.0

Client for Orthanc REST API
Documentation
SHELL := /usr/bin/env bash

export ORC_MAIN_PORT ?= 8028
export ORC_PEER_PORT ?= 8029
export ORC_MODALITY_ONE_PORT ?= 8021
export ORC_MODALITY_TWO_PORT ?= 8022

export ORC_MAIN_ADDRESS ?= http://localhost:${ORC_MAIN_PORT}
export ORC_PEER_ADDRESS ?= http://localhost:${ORC_PEER_PORT}
export ORC_MODALITY_ONE_ADDRESS ?= http://localhost:${ORC_MODALITY_ONE_PORT}
export ORC_MODALITY_TWO_ADDRESS ?= http://localhost:${ORC_MODALITY_TWO_PORT}

export ORC_ORTHANC_USERNAME ?= orthanc
export ORC_ORTHANC_PASSWORD ?= orthanc
export ORC_DATAFILES_PATH ?= ./tests/data/dicom

export DINO_SCP_HOST ?= 0.0.0.0
export DINO_SCP_PORT ?= 5252
export DINO_SCP_AET ?= DINO


build:
	cargo build

doc:
	cargo doc --no-deps

serve_doc: doc
	python -m http.server -b 127.0.0.1 -d target/doc 9001

clean: cleanup_orthanc stop_services
	cargo clean

test: unit_test integration_test e2e_test

unit_test:
	cargo test --lib -- --show-output ${TEST}

integration_test:
	cargo test --test client -- --show-output ${TEST}

e2e_test: reset_orthanc
	cargo test --test e2e -- --test-threads=1 --show-output ${TEST}

unit_test_coverage: install_tarpaulin_HEAD
	cargo tarpaulin --lib --verbose --ignore-tests --all-features --workspace --timeout 120 --out Xml

integration_test_coverage: install_tarpaulin_HEAD
	cargo tarpaulin --test client --verbose --ignore-tests --all-features --workspace --timeout 120 --out Xml

e2e_test_coverage: install_tarpaulin_HEAD reset_orthanc
	cargo tarpaulin --test e2e --verbose --ignore-tests --all-features --workspace --timeout 120 --out Xml -- --test-threads=1

install_tarpaulin:
	cargo install --version 0.16.0 cargo-tarpaulin

install_tarpaulin_HEAD:
	cargo install --git https://github.com/xd009642/tarpaulin.git --branch develop cargo-tarpaulin

cleanup_orthanc:
	./scripts/cleanup_orthanc.sh

populate_orthanc:
	./scripts/populate_orthanc.sh

reset_orthanc: cleanup_orthanc populate_orthanc

start_services:
	docker-compose pull
	docker-compose up -d

stop_services:
	docker-compose down

release:
	cargo release ${VERSION}