Remote ID Test Data Injection (v0.5.1)
# Remote ID Test Data Injection (v0.5.1)
Esta interface é fornecida por cada Provedor de Serviço (Service Provider) que deseja ser testado pelo framework de testes automatizados. A suíte de testes chama esta interface para injetar dados de voo no sistema sob teste.
---
##
Segurança (Autenticação)
**
-
Tipo:
**OAuth2 (`clientCredentials`)**ScopeClient Credentials) -
Escopo Necessário:
**`rid.inject_test_data`
inject_test_data -
Descrição: Acesso concedido para injetar dados de teste em um Provedor de Serviços.
---
##
Endpoints
###
1. Criar Teste
`
Rota: PUT /tests/{test_id}`
Solicita a criação de um ou mais voos lógicos baseados na injeção dos dados fornecidos. O ID de injeção (`injection_id`)injection_id) não pode ser modificado pelo provedor.
-
**Parâmetros de Rota:***`test_id`test_id (string,obrigatório):- O ID do teste.Ex:Exemplo:`2979bd18-7f06-441c-bda6-e82c841c35d6`e82c841c35d6 -
**Corpo da Requisiçãoo:(JSON):**
Requer oschemaobjeto`CreateTestParameters`CreateTestParameters (uma lista devoos solicitados `requested_flights`)voos). -
**Respostas:***Respostas`Esperadas:-
200
OK`:OK: Teste criado com sucesso. Retorna`ChangeTestResponse`.*ChangeTestResponse.` -
409
Conflict`:Conflict: O teste já existe.---
### -
2. Deletar Teste
`
Rota: DELETE /tests/{test_id}/{version}`
Remove todos os dados de teste associados a este teste do injetor do Provedor de Serviços.
-
**Parâmetros de Rota:***`test_id`test_id (string,obrigatório):OeID do teste.* `version`version (string,obrigatório): A versão atual do teste.. -
**Respostas:***Respostas`Esperadas:-
200
OK`:OK: Teste deletado com sucesso. Retorna`DeleteTestResponse`.DeleteTestResponse.---
### -
3. Consultar Notificações de Usuário
`
Rota: GET /user_notifications`user_notifications
Retorna a lista de notificações observadas pelo usuário virtual. As notificações devem estar disponíveis em até 5 segundos após a observação.
-
**Parâmetros de Query:**
*`after`after (date-time,obrigatório): Não incluir notificações observadas antes deste horário.*`before`-
before (
date-time,opcional): Não incluir notificações após este horário.PadrãO padrão é omomento atual.agora.
-
-
**Respostas:***Respostas`Esperadas:-
200
OK`:OK: Notificaçõesrecuperadas.recuperadasRetornacom`QueryUserNotificationsResponse`.*sucesso.` -
400 Bad
Request`:Request: Faltando o parâmetro`after`'after' ou requisição inválida.*` -
401
Unauthorized`:Unauthorized: Tokenausenteausente, não pôde ser decodificado ou é inválido.*` -
403
Forbidden`:Forbidden:EscopoToken decodificado, mas sem o escopo apropriado.
-
Payload de Exemplo (JSON)
Formato esperado para o envio das informações do token incorreto.voo:
---
##
Schemas
Para
{
formato"requested_flights": do[
payload principal de injeção de dados de voo (`TestFlight`):
```json
{
"injection_id": "edb7695f-8737-4b9f-91f8-e2afbb333f41",
"aircraft_type": "string"Aeroplane",
"telemetry": [
{
"timestamp": "2024-04-22T16:36:50.52Z",
"position": {
"lat": 0,
-23.1791,
"lng": 0,
-45.8872,
"alt": 100.0
}
// ... RIDAircraftState details
}
],
"details_responses": [
{
"effective_after": "2024-04-22T16:36:50.52Z",
"details": {
"id": "a3423b-213401-0023"
// ... RIDFlightDetails
}
}
]
}
]
}