Appearance
Análise de Peformance
Para analisar a performance da aplicação usaremos a gem derailed_benchmarks, para configurar siga os seguintes passos:
1 Configure o ambiente de production em develop:
- Crie um arquivo
config/crendentials/production.key
e coloque a master key de produção (Peça a chave para o João) - Utilize o comando
EDITOR="nano" bin/rails credentials:edit --environment production
e edite as configurações do banco de dados (Cuidado para não mandar essas mudanças no git) - É interessante utilizar um backup de produção para ter um teste mais realista
- Crie um arquivo
2 Configure a autenticação com o doorkeeper:
- Troque o
before_action :require_login
pelo seguinte trecho de código, no controller que você deseja testar:
rubybefore_action :doorkeeper_authorize! def current_user User.find(doorkeeper_token.resource_owner_id) if doorkeeper_token end
- Consiga a chave de autenticação do usuário que você quer utilizar para fazer o teste utilizando o comando
RAILS_ENV=production rails c
, crie uma applicação doorkeeper utilizandoDoorkeeper::Application.create(name: 'TestApp', uid: "AnOOk0XSPxcmvDXZDTxNFE12yptzXnH2KwAIBIFafCE", redirect_uri: '', confidential: false)
e faça um request para obter o access_token que pode ser pelo HTTParty no próprio terminal:
rubyHTTParty.post("http://localhost:3000/api/oauth/token", body: { "grant_type": "password", "email": "user_email", "password": "user_password", "client_id": "AnOOk0XSPxcmvDXZDTxNFE12yptzXnH2KwAIBIFafCE" } )
- Troque o
Por fim realize os testes utilizando o derailed:
HTTP_AUTHORIZATION='Bearer {access_token}' PATH_TO_HIT='/library/library/livros' IPS_TIME=10 derailed exec perf:ips