-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathusuario_api.py
53 lines (43 loc) · 2.04 KB
/
usuario_api.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
##teste unitário de API externo
# 1 - imports
import json
import pytest
import csv
import requests
from requests import HTTPError
teste_dados_novos_usuarios = [
(1, 'Juca', 'Pirama', '[email protected]'), # usuário 1
(2, 'Agatha', 'Christie','[email protected]') # usuario 2
]
teste_dados_usuarios_atuais = [
(1, 'George', 'Bluth', '[email protected]'), # usuário 1
(2, 'Janet', 'Weaver','[email protected]') # usuario 2
]
# CRUD / ICAE
# Aplicações APIs Português
# Create Post Incluir / Publicar
# Reach / Research Get Consultar / Pegar
# Update Put Atualizar
# Delete Delete Excluir
@pytest.mark.parametrize('id,nome,sobrenome,email', teste_dados_usuarios_atuais)
def testar_dados_usuarios(id,nome,sobrenome,email): # função que testa o algo
try:
response = requests.get(f'https://reqres.in/api/users/{id}')
jsonResponse = response.json()
id_obtido = jsonResponse['data']['id']
nome_obtido = jsonResponse['data']['first_name']
sobrenome_obtido = jsonResponse['data']['last_name']
email_obtido = jsonResponse['data']['email']
print(f'id: {id_obtido} \n nome: {nome_obtido} \n sobrenome: {sobrenome_obtido} \n email: {email_obtido}')
print(f'id: {id_obtido} - nome: {nome_obtido} - sobrenome: {sobrenome_obtido} - email: {email_obtido}')
print('id:{} \n nome:{} \n sobrenome:{} \n email:{}'.format(id_obtido, nome_obtido, sobrenome_obtido, email_obtido))
print('###Print Json###')
print(json.dumps(jsonResponse, indent=2, sort_keys=True))
assert id_obtido == id
assert nome_obtido == nome
assert sobrenome_obtido == sobrenome
assert email_obtido == email
except HTTPError as http_fail : # Para o ISTQB, descobriu rodando é falha
print(f'Um erro de HTTP aconteceu: {http_fail}')
except Exception as fail: # Qualquer exceção será tratada a seguir
print(f'Falha inesperada: {fail}')