// Copyright (C) 2003-2009 by Object Mentor, Inc. All rights reserved. // Released under the terms of the CPL Common Public License version 1.0. package fitnesse.responders.run; import util.RegexTestCase; import fitnesse.FitNesseContext; import fitnesse.http.MockRequest; import fitnesse.http.MockResponseSender; import fitnesse.http.Response; import fitnesse.testutil.SimpleSocketSeeker; public class SocketCatchingResponderTest extends RegexTestCase { private SocketDealer dealer; private SimpleSocketSeeker seeker; private MockResponseSender sender; private SocketCatchingResponder responder; private FitNesseContext context; private MockRequest request; public void setUp() throws Exception { dealer = new SocketDealer(); seeker = new SimpleSocketSeeker(); sender = new MockResponseSender(); responder = new SocketCatchingResponder(); context = new FitNesseContext(); context.socketDealer = dealer; request = new MockRequest(); } public void tearDown() throws Exception { } public void testSuccess() throws Exception { int ticket = dealer.seekingSocket(seeker); request.addInput("ticket", ticket + ""); Response response = responder.makeResponse(context, request); response.sendTo(sender); assertEquals("", sender.sentData()); } public void testMissingSeeker() throws Exception { request.addInput("ticket", "123"); Response response = responder.makeResponse(context, request); response.sendTo(sender); assertHasRegexp("There are no clients waiting for a socket with ticketNumber 123", sender.sentData()); assertTrue(sender.isClosed()); assertEquals(404, response.getStatus()); } }