[USS Qualifier] Teste automatizado de Provedor
US: https://pista.decea.mil.br/project/br-utm-tecnologia/us/41?milestone=309
Introdução
A InterUSS disponibiliza um conjunto de testes suites automatizados (USS QUALIFIER) para validar os conformidade na implementação de UAS Service Suppliers (USS).
Validação dos seguintes critérios de conforme:
- Remote ID (ASTM F3411-19/22);
- Strategic Conflict Detection (ASTM F3548-21);
- UAS Traffic Management (UTM) UAS Service Supplier (USS) Interoperability Specification.
Como a implementação do DSS feita pelo time de pesquisa do ICEA foi feita a partir da solução da InterUSS, para um provedor se integrar ao nosso ecossistema, sua implementação deve estar em concordância com as normas utilizadas em sua implementação.
O objetivo dessa US é implementar a configuração de um ambiente de testes automatizada a partir de um arquivo .env
Solução
Para utilizar USS locais em seus testes, deve-se subir um container contendo a aplicação e sua configuração de ambiente, a qual deve conter as seguintes variáveis:
environment:
- MOCK_USS_AUTH_SPEC=DummyOAuth(http://oauth.authority.localutm:8085/token,uss1)
- MOCK_USS_DSS_URL=http://dss.uss1.localutm
- MOCK_USS_PUBLIC_KEY=/var/test-certs/auth2.pem
- MOCK_USS_TOKEN_AUDIENCE=scdsc.uss1.localutm,localhost,host.docker.internal
- MOCK_USS_BASE_URL=http://scdsc.uss1.localutm
- MOCK_USS_SERVICES=scdsc,versioning,interaction_logging,flight_planning
- MOCK_USS_INTERACTIONS_LOG_DIR=output/scdsc_a_interaction_logs
- MOCK_USS_PORT=80
- MOCK_USS_PROXY_VALUES=x_for=1,x_proto=1,x_host=1,x_prefix=1,x_port=1
Após configurar e implantar o USS, pode-se configurar o test suite que deseja executar. Como existem perfis diferentes de USS, foram disponibilizados arquivos de configuração visando validar conformes mais específicos dos seus respectivos tipos, estes podem ser encontrados no diretório monitoring/monitoring/uss_qualifier/configurations/dev/
Caso seja necessário criar um novo arquivo de teste, é necessário implementá-lo através de um arquivo .yaml ou JSON seguindo as guidelines definidas nesse README
How to
git clone https://github.com/interuss/monitoring.git
cd monitoring
#deploys local infrastructure containing DSS, database and Auth Server
make start-locally
COMPOSE_PROFILES='' make start-uss-mocks
cd /monitoring/uss_qualifier
./run_locally.sh