REPOSITORY OVERVIEWLive repository statistics
★ 7Stars
⑂ 2Forks
◯ 0Open issues
◉ 7Watchers
42/100
OPENREPOHUB HEALTH SIGNALLimited signals
A transparent discovery signal based on current public GitHub metadata.
Recent activity35% weight
30 Community adoption25% weight
15 Maintenance state20% weight
100 License clarity10% weight
0 Project information10% weight
75 This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
README preview

Pytest API Study
Repositório utilizado como estudo de automação de testes de REST API utilizando Pytest
Servidor REST API
Como neste projeto foi utilizado como estudo o servidor ServeRest, o mesmo é necessário para que os testes automatizados sejam executados.
Para as instruções de como iniciar o servidor REST, siga a documentação do projeto ServeRest
Instalação e execução
Pré requisitos
Clonando reposiótorio
git clone https://github.com/ltsuda/pytest-serverest-study.git
Instalando dependências Python
> cd pytest-serverest-study
> poetry install # aguarde enquanto são instaladas as dependências
> poetry shell # ativando ambiente virtual
pytest-serverest-study > poetry run pytest --variables config/config.json
Se tudo der certo, o resultado será apresentado conforme imagem abaixo:

Estrutura de diretórios
.
├── __init__.py
├── config
│ └── config.json
├── fixtures
│ ├── __init__.py
│ └── rotas*/
│ ├── __init__.py
│ └── *.py
├── model
│ ├── __init__.py
│ └── modelos*/
│ ├── __init__.py
│ └── *.py
├── poetry.lock
├── pyproject.toml
├── pytest.ini
├── tests
│ ├── __init__.py
│ ├── rota*/
│ │ ├── __init__.py
│ │ ├── test_delete_rota*.py
│ │ ├── test_get_rota*.py
│ │ ├── test_post_rota*.py
│ │ └── test_put_rota*.py
│ └── conftest.py
└── utils
├── __init__.py
└── localizador_url
├── __init__.py
└── localizador_url.py
- config/: diretório com variáveis de ambiente. Exemplo: ip do servidor, email e senha do usuário padrão já existente no ServeRest
- fixtures/*: diretórios com métodos compartilhados (Fixtures) que podem ser facilmente acessados pelos testes, evitando duplicação de código
- carrinhos/carrinhos.py: diretório e arquivo com fixtures relacionados ao endpoint de carrinhos
- model/*: diretório com as classes modelo representando cada tipo objeto a ser enviado para o servidor
- usuario/usuario.py: diretório e arquivo do modelo de usuário com nome, email, senha e propriedade administrador para indicar se o mesmo tem privilégios de administração
- utils/: diretório com módulo auxiliar com metódos de contrução dos endpoints a serem testados
- tests/*: diretório com os testes das rotas e arquivo de configuração pytest para descoberta de fixtures
- produtos/: diretório com testes da rota de produtos
- test_delete_produtos.py Arquivo de teste do método DELETE
- test_get_produtos.py Arquivo de teste do método GET
- test_post_produtos.py Arquivo de teste do método POST
- test_put_produtos.py Arquivo de teste do método PUT
- conftest.py Arquivo para importação e descoberta das fixtures
- poetry.lock [doc]: Arquivo com as informações das dependências do projeto
- pyproject.toml [doc]: Arquivo com os requisitos, requisitos de desenvolvimento e metadata do projeto
- pytest.ini : Arquivo de configuração do pytest, utilizado para criação de marcadores que podem ser utilizados ou não pelos testes, assim podendo indicar se o teste deve ter alguma configuração específica