Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Como testar e manter APIs de qualidade - Codecon Digital 2023

Como testar e manter APIs de qualidade - Codecon Digital 2023

Camila Maia

June 23, 2023
Tweet

More Decks by Camila Maia

Other Decks in Technology

Transcript

  1. # scanapi.yaml endpoints: - name: pokeapi path: https://pokeapi.co/api/v2/ endpoints: -

    name: pokemon path: pokemon requests: - name: list_all method: get path: / path: https://pokeapi.co/api/v2/ pokemon / name: pokeapi :: pokemon :: list_all
  2. ... requests: - name: list_all method: get path: / tests:

    - name: status_code_is_200 assert: ${{ response.status_code == 200 }} - name: response_time_is_under_half_second assert: ${{ response.elapsed.total_seconds() < 0.5 }} - name: results_length_is_20 assert: ${{ len(response.json()["results"]) == 20 }} - name: count_is_gte_1281 assert: ${{ response.json()["count"] >= 1281 }} https://requests.readthedocs.io
  3. ... endpoints: - name: pokemon path: pokemon requests: - name:

    list_all method: get path: / vars: pokemon_name: ${{ response.json()["results"][0]["name"] }} tests: ... - name: details method: get path: ${pokemon_name} pokemon/${pokemon_name}
  4. 1. Funciona para qualquer API REST 2. Excelente para testar

    e documentar APIs próprias e de terceiros 3. É possível encadear requests, o que é essencial para testar cenários complexos 4. A documentação é gerada automaticamente, ela nunca fica desatualizada 5. É simples. A sintaxe é simples e não requer quase nenhum conhecimento específico da linguagem 6. É extremamente flexível 7. É seguro