Testing
Pre-requisites
Install project with test dependencies
pip install .[test]
Unit tests
Run test suite located in /tests/unit_tests folder.
pytest tests/unit_tests -v
Integration tests
Integration tests verify the communication with the real instances of the external services.
Run test suite located in /tests/unit_tests folder.
pytest tests/unit_tests -v
Environment variables
In order to run integration tests, you need to provide the following environment variables:
# Cmd API
IT_CMD_API_URL=https://remotemonitoring.drives.abb.com
IT_CMD_TOKEN_URL=https://api.accessmanagement.motion.abb.com/polaris/oidc/token
IT_CMD_CLIENT_ID=***
IT_CMD_CLIENT_SECRET=***
# MCCU API
IT_MCCU_API_URL=https://pitsku.westeurope.cloudapp.azure.com/
IT_MCCU_API_KEY=***
# ConditionIndex API
IT_CI_API_URL=https://smartsensor-index-test.azurewebsites.net
IT_CI_ACCESS_CODE=***
# SmarSensor API
IT_SMARTSENSOR_API_URL=https://api.smartsensor.abb.com/
IT_SMARTSENSOR_API_KEY=***
IT_SMARTSENSOR_ENVIRONMENT=prod
# Storage
IT_STORAGE_AZURE_CONNECTION_STRING=***
# Powertrain APIs
IT_POWERTRAIN_TOKEN_URL=https://api.accessmanagement.motion.abb.com/polaris/oidc/token
IT_POWERTRAIN_USERNAME=momg.analytics@pl.abb.com
IT_POWERTRAIN_CLIENT_SECRET=***
IT_POWERTRAIN_CLIENT_ID=***
IT_POWERTRAIN_PASSWORD=***
IT_POWERTRAIN_CIAM_URL=https://api.accessmanagement.motion.abb.com/
IT_POWERTRAIN_ANALYTICS_API_URL=https://motion-pt-prd-we-analytics-api.azurewebsites.net
IT_POWERTRAIN_ANALYTICS_ASSET_IDS=[674,675]
IT_POWERTRAIN_ANALYTICS_END_DATE=2024-09-03
IT_POWERTRAIN_ANALYTICS_START_DATE=2024-09-01
IT_POWERTRAIN_ASSET_API_URL=https://motion-pt-prd-we-asset-api.azurewebsites.net
IT_POWERTRAIN_ASSET_IDS=[674,675]
IT_POWERTRAIN_END_DATE=2024-09-03
IT_POWERTRAIN_EVENT_SERVICE_API_URL=https://motion-pt-prd-we-eventservice-api.azurewebsites.net
IT_POWERTRAIN_EVENT_SERVICE_ASSET_IDS=[674,675]
IT_POWERTRAIN_EVENT_SERVICE_END_DATE=2024-09-30
IT_POWERTRAIN_EVENT_SERVICE_EVENT_IDS=[1422,1423]
IT_POWERTRAIN_EVENT_SERVICE_START_DATE=2024-09-01
IT_POWERTRAIN_FILE_SERVICE_API_URL=https://motion-pt-prd-we-fileservice-api.azurewebsites.net
IT_POWERTRAIN_FILE_SERVICE_ASSET_IDS=[55733,55738]
IT_POWERTRAIN_FILE_SERVICE_END_DATE=2024-10-01
IT_POWERTRAIN_FILE_SERVICE_START_DATE=2024-09-01
IT_POWERTRAIN_ORGANIZATION_API_URL=https://motion-pt-prd-we-organization-api.azurewebsites.net
IT_POWERTRAIN_ORGANIZATION_GUID=9AAV100389
IT_POWERTRAIN_ORGANIZATION_IDS=[341687]
IT_POWERTRAIN_ORGANIZATION_NAME=ABB
IT_POWERTRAIN_ORGANIZATION_POWERTRAIN_ID=18705
IT_POWERTRAIN_ORGANIZATION_SITE_ID=198556
IT_POWERTRAIN_ORGANIZATION_SS_ASSET_ID=78142
IT_POWERTRAIN_START_DATE=2024-09-01
IT_POWERTRAIN_TIMESERIES_API_URL=https://motion-pt-prd-we-timeseries-api.azurewebsites.net
IT_POWERTRAIN_TIMESERIES_ASSET_IDS=[54952,93361]
IT_POWERTRAIN_TIMESERIES_END_DATE=2024-11-08
IT_POWERTRAIN_TIMESERIES_START_DATE=2024-11-01
IT_POWERTRAIN_TIMESERIES_TIMESERIES_KEYS=["Acc_x","Speed","BearingCondition"]
IT_POWERTRAIN_TYPE_CONFIG_API_URL=https://motion-pt-prd-we-type-config-api.azurewebsites.net
IT_POWERTRAIN_REPORTS_API_URL=https://api.powertrain.abb.com/
# Asset Lifecycle Management API
IT_ALM_API_URL=https://alm.motion.abb.com
IT_ALM_CIAM_URL=https://api.accessmanagement.motion.abb.com/
IT_ALM_TOKEN_URL=https://api.accessmanagement.motion.abb.com/polaris/oidc/token
IT_ALM_CLIENT_ID=***
IT_ALM_USERNAME=***
IT_ALM_CLIENT_SECRET=***
IT_ALM_PASSWORD=***
IT_ALM_ASSET_IDS=["4MBA049434629","4MBA052467483"]
IT_ALM_SERIAL_NUMBERS=["9155201670","1111500058"]
# Drive DB - Cosmos DB
IT_COSMOS_DB_URL=https://analytics-cosmos-dev.documents.azure.com:443/
IT_COSMOS_DB_TOKEN=***