01: // Copyright (C) 2003,2004,2005 by Object Mentor, Inc. All rights reserved.
02: // Released under the terms of the GNU General Public License version 2 or later.
03: package fitnesse.responders.run;
04:
05: import fitnesse.testutil.*;
06: import fitnesse.http.*;
07: import fitnesse.FitNesseContext;
08:
09: public class SocketCatchingResponderTest extends RegexTest {
10: private SocketDealer dealer;
11: private SimpleSocketSeeker seeker;
12: private MockResponseSender sender;
13: private SocketCatchingResponder responder;
14: private FitNesseContext context;
15: private MockRequest request;
16:
17: public void setUp() throws Exception {
18: dealer = new SocketDealer();
19: seeker = new SimpleSocketSeeker();
20: sender = new MockResponseSender();
21: responder = new SocketCatchingResponder();
22: context = new FitNesseContext();
23: context.socketDealer = dealer;
24: request = new MockRequest();
25: }
26:
27: public void tearDown() throws Exception {
28: }
29:
30: public void testSuccess() throws Exception {
31: int ticket = dealer.seekingSocket(seeker);
32: request.addInput("ticket", ticket + "");
33: Response response = responder.makeResponse(context, request);
34: response.readyToSend(sender);
35:
36: assertEquals("", sender.sentData());
37: }
38:
39: public void testMissingSeeker() throws Exception {
40: request.addInput("ticket", "123");
41: Response response = responder.makeResponse(context, request);
42: response.readyToSend(sender);
43:
44: assertHasRegexp(
45: "There are no clients waiting for a socket with ticketNumber 123",
46: sender.sentData());
47: assertTrue(sender.isClosed());
48: assertEquals(404, response.getStatus());
49: }
50:
51: }
|