como testo (rspec) uma solicitação http que leva muito tempo?
Como testar o comportamento se uma solicitação demorar muito com o rspe
Estou pensando em usar thread para zombar disso:
describe "Test" do
it "should timeout if the request takes too long" do
lambda {
thread1 = Thread.new { #net::http request to google.com }
thread2 = Thread.new { sleep(xx seconds) }
thread1.join
thread2.join
}.should raise_error
end
end
Eu quero ter certeza de que, depois que a solicitação for feita pela primeira vez, outro encadeamento "entre em ação", que neste caso é apenas um sono por xx segundos. Então, devo esperar que a solicitação atinja o tempo limite, pois leva muito tempo para executar
Acho que existem maneiras melhores de fazer isso. Dado o fato de que o URL que estou solicitando não é relevante. Eu só quero testar se o tempo limite será excedido se demorar muito para ser executad
Posso usar stub (), expect () ou qualquer recurso rspec para simular iss
Existe alguma maneira de eu passar um 'bloco' para o método stub
http_request_to_google.stub(:connection).executethisblock(sleep for xx seconds)
.and_throw error ?
qualquer ajuda é apreciada