Skip to main content

[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/

image.png

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

Quick start guide


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