Skip to content

reinaldorossetti/ruby-api-httparty

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Foi criado esse projeto com intuito de mostrar o ServeRest (https://serverest.dev/), que permite o estudo de:

  • Verbos GET, POST, PUT e DELETE com persistência de dados
  • Autenticação no header
  • Query string
  • Teste de schema json

1. Para subir o servido localmente com NPM

Execute o seguinte comando no terminal:

npx serverest@latest

Para baixar o projeto:

git clone https://github.com/reinaldorossetti/ruby-api-httparty.git

Caminho do arquivo de configuração do servidor no projeto:
ruby-api-httparty / spec / support / data / homolog.yml

url_padrao: 'http://localhost:3000'
  • Se precisar mudar a porta do servidor mudar também nesse arquivo.

Utilizamos as seguintes bibliotecas:

gem 'rspec'
gem 'faker', '~> 2.18.0'
gem 'httparty', '~> 0.18.1'
gem 'pact', '~> 1.57'
gem 'json-schema', '~> 2.8.1'

Primeiro precisa baixar o gerenciado de dependencias que é o bundle

gem install bundle
  • Como é um projeto de testes somente fiz os testes da feature de usuários, mas ideia é utilizar todos os verbos GET, POST, PUT e DELETE.

Foi utilizado, o faker para gerar dados do usuário, json-schema para validação do contrato, json para ler os dados em json e ostruct para transformar para objetos.

require 'faker'
require "json-schema"
require 'json'
require 'ostruct'

Comando para instalar as bibliotecas:

bundle install
gem update --system 3.2.6

Comando para rodar os testes da feature de usuários:

bundle exec rspec spec/tests/register_user.rb --format AllureRspecFormatter

Para visualizar o relatório gerado do allure report, segue o link abaixo:

https://reinaldorossetti.github.io/ruby-api-httparty/

Vídeos curtos do nosso projeto, somente pra explicar a lógica e execução: https://www.loom.com/share/0124b9b21086495f84c560a25a83debd https://www.loom.com/share/dcba13d058b74fd5926f42201b26016d

Para conhecer a API pública de estudos ServeRest que utilizei para os testes clique aqui.

Para criar o json schema copie o body da requisição para dentro da tools de jsonschema clique aqui

Referências:
https://github.com/serverest/serverest
https://github.com/ruby-json-schema/json-schema/tree/master
https://github.com/jnunemaker/httparty

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages