[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

Mocha test retry to connect up to 10 times

Raymond O'connor

2/23/2007 5:58:00 AM

I'm writing a script to connect to an external server. The problem is
that the server can be flaky and respond with an error code on some
requests. When the response I get is an error I would like to retry
connecting. If I retry 10 times and fail to connect, I just abort.

With mocha I can test the case where each of the 10 attempts receives an
error code, but I can't figure out a way to stub HTTP so that it will
return an error only 1 or 2 times, and then return a success. Anyone
know a good way to test receiving an error a few times and then
receiving a success?

Any help would be greatly appreciated, thanks!

--
Posted via http://www.ruby-....

2 Answers

hemant

2/23/2007 6:31:00 AM

0

On Fri, 2007-02-23 at 14:57 +0900, Raymond O'connor wrote:
> I'm writing a script to connect to an external server. The problem is
> that the server can be flaky and respond with an error code on some
> requests. When the response I get is an error I would like to retry
> connecting. If I retry 10 times and fail to connect, I just abort.
>
> With mocha I can test the case where each of the 10 attempts receives an
> error code, but I can't figure out a way to stub HTTP so that it will
> return an error only 1 or 2 times, and then return a success. Anyone
> know a good way to test receiving an error a few times and then
> receiving a success?
>
> Any help would be greatly appreciated, thanks!
>

With latest version of Mocha, you can actually do something like this:


TCPSocket.stubs(:open).returns(data1,data2,data3)

where first call would return data1, second call data2 so on and so
forth. I hope, you can use this to your advantage.


--
gnufied


Raymond O'connor

2/23/2007 8:21:00 AM

0

Hemant Kumar wrote:
> On Fri, 2007-02-23 at 14:57 +0900, Raymond O'connor wrote:
>>
>> Any help would be greatly appreciated, thanks!
>>
>
> With latest version of Mocha, you can actually do something like this:
>
>
> TCPSocket.stubs(:open).returns(data1,data2,data3)
>
> where first call would return data1, second call data2 so on and so
> forth. I hope, you can use this to your advantage.

That worked perfectly! Thanks a ton!

--
Posted via http://www.ruby-....