Geo-Awareness Automated Test Interfaces (v0.2.2)
Esta interface é implementada por cada USS (UAS Service Supplier) que deseja ser testado pelo framework de testes automatizados. A suíte de testes chama esta interface para carregar dados de teste no sistema do USS sob teste e ler informações de Geo-Awareness (Consciência Geográfica) para avaliar seu processamento e interpretação.
Segurança (Autenticação)
-
Tipo: OAuth2 (Client Credentials)
-
Escopo Necessário:
geo-awareness.test -
Descrição: Permite que o cliente instrua o USS sob teste a carregar dados de Geozone e ler informações de Geo-Awareness. O token JWT deve ser enviado no header
Authorization: Bearer <token>.
Endpoints
1. Consultar Status da Interface
Rota: GET /status
Obtém o status atual da interface de testes automatizados do USS.
-
Escopo Exigido:
geo-awareness.test -
Respostas Esperadas:
-
200 OK: Interface ativada. Retorna se está
Starting(iniciando) ouReady(pronta para receber testes). -
404 Not Found: A interface de testes não está ativada.
-
2. Importar e Ativar Fonte de Geozone
Rota: PUT /geozone_sources/{geozone_source_id}
Instrui o USS a importar e ativar dados de Geozone a partir de uma fonte especificada (como um link HTTPS para um JSON).
-
Parâmetros de Rota:
geozone_source_id(obrigatório) - Um UUID v4 que identifica a fonte de dados. -
Corpo da Requisição: Requer o objeto
CreateGeozoneSourceRequest. -
Respostas Esperadas:
-
200 OK: A requisição foi processada e o USS foi instruído a importar os dados. Retorna o schema
GeozoneSourceResponse.
-
3. Consultar Status da Fonte de Geozone
Rota: GET /geozone_sources/{geozone_source_id}
Obtém o status de processamento da fonte de Geozone e de seus dados dentro do USS.
-
Respostas Esperadas:
-
200 OK: A fonte existe. Retorna o status atual (
Activating,Ready,Deactivating,Unsupported,Rejected,Error). Em caso de erro, uma mensagem de debug é incluída. -
404 Not Found: A fonte de Geozone não existe ou já foi desativada com sucesso.
-
4. Desativar Fonte de Geozone
Rota: DELETE /geozone_sources/{geozone_source_id}
Instrui o USS a desativar e excluir a fonte de Geozone e todos os seus dados.
-
Respostas Esperadas:
-
200 OK: Requisição processada e os dados serão deletados. O status da deleção deve ser verificado usando o método GET até que ele retorne 404.
-
5. Checar Geozones Aplicáveis (Check)
Rota: POST /geozones/check
Verifica se uma ou múltiplas Geozones são aplicáveis a uma posição de interesse, para um período de tempo e condições operacionais especificadas.
-
Corpo da Requisição:
GeozonesCheckRequest(lista de checagens contendo conjuntos de filtros). -
Respostas Esperadas:
-
200 OK: A checagem foi realizada com sucesso. Retorna
GeozonesCheckReply, indicando se a Geozone estáPresent,Absent,UnsupportedFilterouErrorpara cada filtro solicitado.
-
Payloads de Exemplo (JSON)
Exemplo de Importação de Fonte (PUT)
{
"https_source": {
"url": "https://caa.example.com/geozones.json",
"format": "ED-269"
}
}
Exemplo de Resposta de Status (GET /geozone_sources/...)
{
"result": "Ready"
}
Exemplo de Checagem de Geozones (POST /geozones/check)
Formato esperado para simular a validação de uma posição contra o banco de dados de zonas:
{
"checks": [
{
"filterSets": [
{
"position": {
"uomDimensions": "M",
"verticalReferenceType": "AGL",
"height": 120.0,
"longitude": -45.8872,
"latitude": -23.1791
},
"after": "2024-04-22T16:30:00Z",
"before": "2024-04-22T18:30:00Z",
"ed269": {
"uSpaceClass": "EUROCONTROL",
"acceptableRestrictions": ["PROHIBITED", "REQ_AUTHORISATION"]
}
}
]
}
]
}