Skip to main content

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 o schemaobjeto `CreateTestParameters`CreateTestParameters (uma lista de voos 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): Oe ID 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 é o momento atual.agora.

  • **Respostas:**
    *Respostas `Esperadas:

    • 200 OK`:OK: Notificações recuperadas.recuperadas Retornacom `QueryUserNotificationsResponse`.
      *sucesso.

      `
    • 400 Bad Request`:Request: Faltando o parâmetro `after`'after' ou requisição inválida.
      *

      `
    • 401 Unauthorized`:Unauthorized: Token ausenteausente, 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

Principais
(Referência)

Para

JSON facilitar
a
integração,
aqui
está
o
{
  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
  }
  }
  ]
}

] }