An open API service indexing awesome lists of open source software.

https://github.com/cristianosfmothe/burger-eats

Teste de API com o Robot Framework usando o MongoDB, RabbitMQ e Mailtrap
https://github.com/cristianosfmothe/burger-eats

api-rest insomina python robotframework

Last synced: 8 months ago
JSON representation

Teste de API com o Robot Framework usando o MongoDB, RabbitMQ e Mailtrap

Awesome Lists containing this project

README

          

# burger-eats

## Pré-requisitos

Para o correto funcionamento, é necessário seguir algumas configurações.

* Criar conta no CloudAMQP
* Criar conta no MongoDB
* Criar um conta no Mailtrap

### Variáveis

No arquiv `.env` da pasta `api`, inserir as informações de conexão obtidas no cadastro, substituindo onde tem `???` pelo respectivo dado.

```bash
MONGO_URI=???
AMQP_URL=???
QUEUE_NAME=email
SEND_EMAIL=1
RECONNECT_TIMEOUT=600
```

Do `MongoDB` e do `CloudAMQP`.

No arquiv `.env` da pasta `mailer`, inserir as informações de conexão obtidas no cadastro, substituindo onde tem `???` pelo respectivo dado.

```bash
AMQP_URL=???
QUEUE_NAME=email

#SMTP
HOST=smtp.mailtrap.io
PORT=2525
USER=???
PASS=???
```

# Configurando o ambiente

Acessando o site do Robot Framework e dentro dele no menu de *Resources*, temos acessos a todas a Libraries para realizanção do download.
Clicando a Library HTTP RequestsLibrary (Python), irá direcionar para a página do GitHub para download.

* Instalação

```bash
pip install robotframework-requests
```

Caso ter algum problema executar o comando.

```bash
python.exe -m pip install --upgrade pip
```

* Correção na massa de teste

A aplicação tem uma regra de negocio que não permite cadastrar mais de um parceiro com o mesmo nome, para corrigir isso vamos usar a library robot-mongodb-library

```bash
pip install robot-mongodb-library
```

* Modulo Service Mongo

```bash
pip install "pymongo[srv]"
```

## Status Code

Por padrão a library HTTP Requests, só aceita *status code* da família *200*, iy seja sucesso. Para implementar outros tipos de status, é necessário investigar na documentação oficial da HTTP Requests Library