185efb15529d45e32fea8de03c38a968c157c8262chrismair/* 285efb15529d45e32fea8de03c38a968c157c8262chrismair * Copyright 2007 the original author or authors. 385efb15529d45e32fea8de03c38a968c157c8262chrismair * 485efb15529d45e32fea8de03c38a968c157c8262chrismair * Licensed under the Apache License, Version 2.0 (the "License"); 585efb15529d45e32fea8de03c38a968c157c8262chrismair * you may not use this file except in compliance with the License. 685efb15529d45e32fea8de03c38a968c157c8262chrismair * You may obtain a copy of the License at 785efb15529d45e32fea8de03c38a968c157c8262chrismair * 885efb15529d45e32fea8de03c38a968c157c8262chrismair * http://www.apache.org/licenses/LICENSE-2.0 985efb15529d45e32fea8de03c38a968c157c8262chrismair * 1085efb15529d45e32fea8de03c38a968c157c8262chrismair * Unless required by applicable law or agreed to in writing, software 1185efb15529d45e32fea8de03c38a968c157c8262chrismair * distributed under the License is distributed on an "AS IS" BASIS, 1285efb15529d45e32fea8de03c38a968c157c8262chrismair * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1385efb15529d45e32fea8de03c38a968c157c8262chrismair * See the License for the specific language governing permissions and 1485efb15529d45e32fea8de03c38a968c157c8262chrismair * limitations under the License. 1585efb15529d45e32fea8de03c38a968c157c8262chrismair */ 1685efb15529d45e32fea8de03c38a968c157c8262chrismairpackage org.mockftpserver.core.command; 1785efb15529d45e32fea8de03c38a968c157c8262chrismair 1885efb15529d45e32fea8de03c38a968c157c8262chrismairimport java.util.ListResourceBundle; 1985efb15529d45e32fea8de03c38a968c157c8262chrismairimport java.util.ResourceBundle; 2085efb15529d45e32fea8de03c38a968c157c8262chrismair 2185efb15529d45e32fea8de03c38a968c157c8262chrismairimport org.apache.log4j.Logger; 2285efb15529d45e32fea8de03c38a968c157c8262chrismairimport org.easymock.MockControl; 2385efb15529d45e32fea8de03c38a968c157c8262chrismairimport org.mockftpserver.core.session.Session; 2485efb15529d45e32fea8de03c38a968c157c8262chrismairimport org.mockftpserver.core.util.AssertFailedException; 2585efb15529d45e32fea8de03c38a968c157c8262chrismairimport org.mockftpserver.stub.command.AbstractStubCommandHandler; 2685efb15529d45e32fea8de03c38a968c157c8262chrismairimport org.mockftpserver.test.AbstractTest; 2785efb15529d45e32fea8de03c38a968c157c8262chrismair 2885efb15529d45e32fea8de03c38a968c157c8262chrismair/** 2985efb15529d45e32fea8de03c38a968c157c8262chrismair * Tests for the AbstractCommandHandler class. The class name is prefixed with an underscore 3085efb15529d45e32fea8de03c38a968c157c8262chrismair * so that it is not filtered out by Maven's Surefire test plugin. 3185efb15529d45e32fea8de03c38a968c157c8262chrismair * 3285efb15529d45e32fea8de03c38a968c157c8262chrismair * @version $Revision$ - $Date$ 3385efb15529d45e32fea8de03c38a968c157c8262chrismair * 3485efb15529d45e32fea8de03c38a968c157c8262chrismair * @author Chris Mair 3585efb15529d45e32fea8de03c38a968c157c8262chrismair */ 3685efb15529d45e32fea8de03c38a968c157c8262chrismairpublic final class _AbstractCommandHandlerTest extends AbstractTest { 3785efb15529d45e32fea8de03c38a968c157c8262chrismair 3885efb15529d45e32fea8de03c38a968c157c8262chrismair private static final Logger LOG = Logger.getLogger(_AbstractCommandHandlerTest.class); 3985efb15529d45e32fea8de03c38a968c157c8262chrismair private static final String COMMAND_NAME = "abc"; 4085efb15529d45e32fea8de03c38a968c157c8262chrismair private static final Object ARG = "123"; 4185efb15529d45e32fea8de03c38a968c157c8262chrismair private static final Object[] ARGS = { ARG }; 4285efb15529d45e32fea8de03c38a968c157c8262chrismair private static final Command COMMAND = new Command(COMMAND_NAME, EMPTY); 4385efb15529d45e32fea8de03c38a968c157c8262chrismair private static final Command COMMAND_WITH_ARGS = new Command(COMMAND_NAME, EMPTY); 4485efb15529d45e32fea8de03c38a968c157c8262chrismair private static final int REPLY_CODE1 = 777; 4585efb15529d45e32fea8de03c38a968c157c8262chrismair private static final int REPLY_CODE2 = 888; 4685efb15529d45e32fea8de03c38a968c157c8262chrismair private static final int REPLY_CODE3 = 999; 4785efb15529d45e32fea8de03c38a968c157c8262chrismair private static final String REPLY_TEXT1 = "reply1 ... abcdef"; 4885efb15529d45e32fea8de03c38a968c157c8262chrismair private static final String REPLY_TEXT2 = "abc {0} def"; 4985efb15529d45e32fea8de03c38a968c157c8262chrismair private static final String REPLY_TEXT2_FORMATTED = "abc 123 def"; 5085efb15529d45e32fea8de03c38a968c157c8262chrismair private static final String OVERRIDE_REPLY_TEXT = "overridden reply ... abcdef"; 5185efb15529d45e32fea8de03c38a968c157c8262chrismair private static final String MESSAGE_KEY = "key.123"; 5285efb15529d45e32fea8de03c38a968c157c8262chrismair private static final String MESSAGE_TEXT = "message.123"; 5385efb15529d45e32fea8de03c38a968c157c8262chrismair 5485efb15529d45e32fea8de03c38a968c157c8262chrismair private AbstractCommandHandler commandHandler; 5585efb15529d45e32fea8de03c38a968c157c8262chrismair private Session session; 5685efb15529d45e32fea8de03c38a968c157c8262chrismair private ResourceBundle replyTextBundle; 5785efb15529d45e32fea8de03c38a968c157c8262chrismair 5885efb15529d45e32fea8de03c38a968c157c8262chrismair /** 5985efb15529d45e32fea8de03c38a968c157c8262chrismair * Test the handleCommand(Command,Session) method 6085efb15529d45e32fea8de03c38a968c157c8262chrismair */ 6185efb15529d45e32fea8de03c38a968c157c8262chrismair public void testHandleCommand() throws Exception { 6285efb15529d45e32fea8de03c38a968c157c8262chrismair assertEquals("before", 0, commandHandler.numberOfInvocations()); 6385efb15529d45e32fea8de03c38a968c157c8262chrismair commandHandler.handleCommand(COMMAND, session); 6485efb15529d45e32fea8de03c38a968c157c8262chrismair assertEquals("after", 1, commandHandler.numberOfInvocations()); 6585efb15529d45e32fea8de03c38a968c157c8262chrismair assertTrue("locked", commandHandler.getInvocation(0).isLocked()); 6685efb15529d45e32fea8de03c38a968c157c8262chrismair } 6785efb15529d45e32fea8de03c38a968c157c8262chrismair 6885efb15529d45e32fea8de03c38a968c157c8262chrismair /** 6985efb15529d45e32fea8de03c38a968c157c8262chrismair * Test the handleCommand(Command,Session) method, passing in a null Command 7085efb15529d45e32fea8de03c38a968c157c8262chrismair */ 7185efb15529d45e32fea8de03c38a968c157c8262chrismair public void testHandleCommand_NullCommand() throws Exception { 7285efb15529d45e32fea8de03c38a968c157c8262chrismair try { 7385efb15529d45e32fea8de03c38a968c157c8262chrismair commandHandler.handleCommand(null, session); 7485efb15529d45e32fea8de03c38a968c157c8262chrismair fail("Expected AssertFailedException"); 7585efb15529d45e32fea8de03c38a968c157c8262chrismair } 7685efb15529d45e32fea8de03c38a968c157c8262chrismair catch (AssertFailedException expected) { 7785efb15529d45e32fea8de03c38a968c157c8262chrismair LOG.info("Expected: " + expected); 7885efb15529d45e32fea8de03c38a968c157c8262chrismair } 7985efb15529d45e32fea8de03c38a968c157c8262chrismair } 8085efb15529d45e32fea8de03c38a968c157c8262chrismair 8185efb15529d45e32fea8de03c38a968c157c8262chrismair /** 8285efb15529d45e32fea8de03c38a968c157c8262chrismair * Test the handleCommand(Command,Session) method, passing in a null Session 8385efb15529d45e32fea8de03c38a968c157c8262chrismair */ 8485efb15529d45e32fea8de03c38a968c157c8262chrismair public void testHandleCommand_NullSession() throws Exception { 8585efb15529d45e32fea8de03c38a968c157c8262chrismair try { 8685efb15529d45e32fea8de03c38a968c157c8262chrismair commandHandler.handleCommand(COMMAND, null); 8785efb15529d45e32fea8de03c38a968c157c8262chrismair fail("Expected AssertFailedException"); 8885efb15529d45e32fea8de03c38a968c157c8262chrismair } 8985efb15529d45e32fea8de03c38a968c157c8262chrismair catch (AssertFailedException expected) { 9085efb15529d45e32fea8de03c38a968c157c8262chrismair LOG.info("Expected: " + expected); 9185efb15529d45e32fea8de03c38a968c157c8262chrismair } 9285efb15529d45e32fea8de03c38a968c157c8262chrismair } 9385efb15529d45e32fea8de03c38a968c157c8262chrismair 9485efb15529d45e32fea8de03c38a968c157c8262chrismair /** 9585efb15529d45e32fea8de03c38a968c157c8262chrismair * Test the numberOfInvocations(), addInvocationRecord() and clearInvocationRecord() methods 9685efb15529d45e32fea8de03c38a968c157c8262chrismair */ 9785efb15529d45e32fea8de03c38a968c157c8262chrismair public void testInvocationHistory() throws Exception { 9885efb15529d45e32fea8de03c38a968c157c8262chrismair control(session).expectAndDefaultReturn(session.getClientHost(), DEFAULT_HOST); 9985efb15529d45e32fea8de03c38a968c157c8262chrismair replay(session); 10085efb15529d45e32fea8de03c38a968c157c8262chrismair 10185efb15529d45e32fea8de03c38a968c157c8262chrismair assertEquals("none", 0, commandHandler.numberOfInvocations()); 10285efb15529d45e32fea8de03c38a968c157c8262chrismair commandHandler.handleCommand(COMMAND, session); 10385efb15529d45e32fea8de03c38a968c157c8262chrismair assertEquals("1", 1, commandHandler.numberOfInvocations()); 10485efb15529d45e32fea8de03c38a968c157c8262chrismair commandHandler.handleCommand(COMMAND, session); 10585efb15529d45e32fea8de03c38a968c157c8262chrismair assertEquals("2", 2, commandHandler.numberOfInvocations()); 10685efb15529d45e32fea8de03c38a968c157c8262chrismair commandHandler.clearInvocations(); 10785efb15529d45e32fea8de03c38a968c157c8262chrismair assertEquals("cleared", 0, commandHandler.numberOfInvocations()); 10885efb15529d45e32fea8de03c38a968c157c8262chrismair } 10985efb15529d45e32fea8de03c38a968c157c8262chrismair 11085efb15529d45e32fea8de03c38a968c157c8262chrismair /** 11185efb15529d45e32fea8de03c38a968c157c8262chrismair * Test the getInvocation() method 11285efb15529d45e32fea8de03c38a968c157c8262chrismair * @throws Exception 11385efb15529d45e32fea8de03c38a968c157c8262chrismair */ 11485efb15529d45e32fea8de03c38a968c157c8262chrismair public void testGetInvocation() throws Exception { 11585efb15529d45e32fea8de03c38a968c157c8262chrismair control(session).expectAndDefaultReturn(session.getClientHost(), DEFAULT_HOST); 11685efb15529d45e32fea8de03c38a968c157c8262chrismair replay(session); 11785efb15529d45e32fea8de03c38a968c157c8262chrismair 11885efb15529d45e32fea8de03c38a968c157c8262chrismair commandHandler.handleCommand(COMMAND, session); 11985efb15529d45e32fea8de03c38a968c157c8262chrismair commandHandler.handleCommand(COMMAND_WITH_ARGS, session); 12085efb15529d45e32fea8de03c38a968c157c8262chrismair assertSame("1", COMMAND, commandHandler.getInvocation(0).getCommand()); 12185efb15529d45e32fea8de03c38a968c157c8262chrismair assertSame("2", COMMAND_WITH_ARGS, commandHandler.getInvocation(1).getCommand()); 12285efb15529d45e32fea8de03c38a968c157c8262chrismair } 12385efb15529d45e32fea8de03c38a968c157c8262chrismair 12485efb15529d45e32fea8de03c38a968c157c8262chrismair /** 12585efb15529d45e32fea8de03c38a968c157c8262chrismair * Test the getInvocation() method, passing in an invalid index 12685efb15529d45e32fea8de03c38a968c157c8262chrismair */ 12785efb15529d45e32fea8de03c38a968c157c8262chrismair public void testGetInvocation_IndexOutOfBounds() throws Exception { 12885efb15529d45e32fea8de03c38a968c157c8262chrismair commandHandler.handleCommand(COMMAND, session); 12985efb15529d45e32fea8de03c38a968c157c8262chrismair try { 13085efb15529d45e32fea8de03c38a968c157c8262chrismair commandHandler.getInvocation(2); 13185efb15529d45e32fea8de03c38a968c157c8262chrismair fail("Expected IndexOutOfBoundsException"); 13285efb15529d45e32fea8de03c38a968c157c8262chrismair } 13385efb15529d45e32fea8de03c38a968c157c8262chrismair catch (IndexOutOfBoundsException expected) { 13485efb15529d45e32fea8de03c38a968c157c8262chrismair LOG.info("Expected: " + expected); 13585efb15529d45e32fea8de03c38a968c157c8262chrismair } 13685efb15529d45e32fea8de03c38a968c157c8262chrismair } 13785efb15529d45e32fea8de03c38a968c157c8262chrismair 13885efb15529d45e32fea8de03c38a968c157c8262chrismair /** 13985efb15529d45e32fea8de03c38a968c157c8262chrismair * Test the quotes utility method 14085efb15529d45e32fea8de03c38a968c157c8262chrismair */ 14185efb15529d45e32fea8de03c38a968c157c8262chrismair public void testQuotes() { 14285efb15529d45e32fea8de03c38a968c157c8262chrismair assertEquals("abc", "\"abc\"", AbstractStubCommandHandler.quotes("abc")); 14385efb15529d45e32fea8de03c38a968c157c8262chrismair assertEquals("<empty>", "\"\"", AbstractStubCommandHandler.quotes("")); 14485efb15529d45e32fea8de03c38a968c157c8262chrismair } 14585efb15529d45e32fea8de03c38a968c157c8262chrismair 14685efb15529d45e32fea8de03c38a968c157c8262chrismair /** 14785efb15529d45e32fea8de03c38a968c157c8262chrismair * Test the quotes utility method, passing in a null 14885efb15529d45e32fea8de03c38a968c157c8262chrismair */ 14985efb15529d45e32fea8de03c38a968c157c8262chrismair public void testQuotes_Null() { 15085efb15529d45e32fea8de03c38a968c157c8262chrismair try { 15185efb15529d45e32fea8de03c38a968c157c8262chrismair AbstractStubCommandHandler.quotes(null); 15285efb15529d45e32fea8de03c38a968c157c8262chrismair fail("Expected AssertFailedException"); 15385efb15529d45e32fea8de03c38a968c157c8262chrismair } 15485efb15529d45e32fea8de03c38a968c157c8262chrismair catch (AssertFailedException expected) { 15585efb15529d45e32fea8de03c38a968c157c8262chrismair LOG.info("Expected: " + expected); 15685efb15529d45e32fea8de03c38a968c157c8262chrismair } 15785efb15529d45e32fea8de03c38a968c157c8262chrismair } 15885efb15529d45e32fea8de03c38a968c157c8262chrismair 15985efb15529d45e32fea8de03c38a968c157c8262chrismair /** 16085efb15529d45e32fea8de03c38a968c157c8262chrismair * Test the assertValidReplyCode() method 16185efb15529d45e32fea8de03c38a968c157c8262chrismair */ 16285efb15529d45e32fea8de03c38a968c157c8262chrismair public void testAssertValidReplyCode() { 16385efb15529d45e32fea8de03c38a968c157c8262chrismair // These are valid, so expect no exceptions 16485efb15529d45e32fea8de03c38a968c157c8262chrismair commandHandler.assertValidReplyCode(1); 16585efb15529d45e32fea8de03c38a968c157c8262chrismair commandHandler.assertValidReplyCode(100); 16685efb15529d45e32fea8de03c38a968c157c8262chrismair 16785efb15529d45e32fea8de03c38a968c157c8262chrismair // These are invalid 16885efb15529d45e32fea8de03c38a968c157c8262chrismair testAssertValidReplyCodeWithInvalid(0); 16985efb15529d45e32fea8de03c38a968c157c8262chrismair testAssertValidReplyCodeWithInvalid(-1); 17085efb15529d45e32fea8de03c38a968c157c8262chrismair } 17185efb15529d45e32fea8de03c38a968c157c8262chrismair 17285efb15529d45e32fea8de03c38a968c157c8262chrismair /** 17385efb15529d45e32fea8de03c38a968c157c8262chrismair * Test the assertValidReplyCode() method , passing in an invalid replyCode value 17485efb15529d45e32fea8de03c38a968c157c8262chrismair */ 17585efb15529d45e32fea8de03c38a968c157c8262chrismair private void testAssertValidReplyCodeWithInvalid(int invalidReplyCode) { 17685efb15529d45e32fea8de03c38a968c157c8262chrismair try { 17785efb15529d45e32fea8de03c38a968c157c8262chrismair commandHandler.assertValidReplyCode(invalidReplyCode); 17885efb15529d45e32fea8de03c38a968c157c8262chrismair fail("Expected AssertFailedException"); 17985efb15529d45e32fea8de03c38a968c157c8262chrismair } 18085efb15529d45e32fea8de03c38a968c157c8262chrismair catch (AssertFailedException expected) { 18185efb15529d45e32fea8de03c38a968c157c8262chrismair LOG.info("Expected: " + expected); 18285efb15529d45e32fea8de03c38a968c157c8262chrismair } 18385efb15529d45e32fea8de03c38a968c157c8262chrismair } 18485efb15529d45e32fea8de03c38a968c157c8262chrismair 18585efb15529d45e32fea8de03c38a968c157c8262chrismair /** 18685efb15529d45e32fea8de03c38a968c157c8262chrismair * Test the sendReply() method, when no message arguments are specified 18785efb15529d45e32fea8de03c38a968c157c8262chrismair */ 18885efb15529d45e32fea8de03c38a968c157c8262chrismair public void testSendReply() { 18985efb15529d45e32fea8de03c38a968c157c8262chrismair session.sendReply(REPLY_CODE1, REPLY_TEXT1); 19085efb15529d45e32fea8de03c38a968c157c8262chrismair session.sendReply(REPLY_CODE1, MESSAGE_TEXT); 19185efb15529d45e32fea8de03c38a968c157c8262chrismair session.sendReply(REPLY_CODE1, OVERRIDE_REPLY_TEXT); 19285efb15529d45e32fea8de03c38a968c157c8262chrismair session.sendReply(REPLY_CODE3, null); 19385efb15529d45e32fea8de03c38a968c157c8262chrismair replay(session); 19485efb15529d45e32fea8de03c38a968c157c8262chrismair 19585efb15529d45e32fea8de03c38a968c157c8262chrismair commandHandler.sendReply(session, REPLY_CODE1, null, null, null); 19685efb15529d45e32fea8de03c38a968c157c8262chrismair commandHandler.sendReply(session, REPLY_CODE1, MESSAGE_KEY, null, null); 19785efb15529d45e32fea8de03c38a968c157c8262chrismair commandHandler.sendReply(session, REPLY_CODE1, MESSAGE_KEY, OVERRIDE_REPLY_TEXT, null); 19885efb15529d45e32fea8de03c38a968c157c8262chrismair commandHandler.sendReply(session, REPLY_CODE3, null, null, null); 19985efb15529d45e32fea8de03c38a968c157c8262chrismair 20085efb15529d45e32fea8de03c38a968c157c8262chrismair verify(session); 20185efb15529d45e32fea8de03c38a968c157c8262chrismair } 20285efb15529d45e32fea8de03c38a968c157c8262chrismair 20385efb15529d45e32fea8de03c38a968c157c8262chrismair /** 20485efb15529d45e32fea8de03c38a968c157c8262chrismair * Test the sendReply() method, passing in message arguments 20585efb15529d45e32fea8de03c38a968c157c8262chrismair */ 20685efb15529d45e32fea8de03c38a968c157c8262chrismair public void testSendReply_WithMessageArguments() { 20785efb15529d45e32fea8de03c38a968c157c8262chrismair session.sendReply(REPLY_CODE1, REPLY_TEXT2_FORMATTED); 20885efb15529d45e32fea8de03c38a968c157c8262chrismair replay(session); 20985efb15529d45e32fea8de03c38a968c157c8262chrismair 21085efb15529d45e32fea8de03c38a968c157c8262chrismair commandHandler.sendReply(session, REPLY_CODE1, null, REPLY_TEXT2, ARGS); 21185efb15529d45e32fea8de03c38a968c157c8262chrismair 21285efb15529d45e32fea8de03c38a968c157c8262chrismair verify(session); 21385efb15529d45e32fea8de03c38a968c157c8262chrismair } 21485efb15529d45e32fea8de03c38a968c157c8262chrismair 21585efb15529d45e32fea8de03c38a968c157c8262chrismair /** 21685efb15529d45e32fea8de03c38a968c157c8262chrismair * Test the sendReply() method, passing in a null Session 21785efb15529d45e32fea8de03c38a968c157c8262chrismair */ 21885efb15529d45e32fea8de03c38a968c157c8262chrismair public void testSendReply_NullSession() { 21985efb15529d45e32fea8de03c38a968c157c8262chrismair try { 22085efb15529d45e32fea8de03c38a968c157c8262chrismair commandHandler.sendReply(null, REPLY_CODE1, REPLY_TEXT1, null, null); 22185efb15529d45e32fea8de03c38a968c157c8262chrismair fail("Expected AssertFailedException"); 22285efb15529d45e32fea8de03c38a968c157c8262chrismair } 22385efb15529d45e32fea8de03c38a968c157c8262chrismair catch (AssertFailedException expected) { 22485efb15529d45e32fea8de03c38a968c157c8262chrismair LOG.info("Expected: " + expected); 22585efb15529d45e32fea8de03c38a968c157c8262chrismair } 22685efb15529d45e32fea8de03c38a968c157c8262chrismair } 22785efb15529d45e32fea8de03c38a968c157c8262chrismair 22885efb15529d45e32fea8de03c38a968c157c8262chrismair /** 22985efb15529d45e32fea8de03c38a968c157c8262chrismair * Test the sendReply() method, passing in an invalid replyCode 23085efb15529d45e32fea8de03c38a968c157c8262chrismair */ 23185efb15529d45e32fea8de03c38a968c157c8262chrismair public void testSendReply_InvalidReplyCode() { 23285efb15529d45e32fea8de03c38a968c157c8262chrismair try { 23385efb15529d45e32fea8de03c38a968c157c8262chrismair commandHandler.sendReply(session, 0, REPLY_TEXT1, null, null); 23485efb15529d45e32fea8de03c38a968c157c8262chrismair fail("Expected AssertFailedException"); 23585efb15529d45e32fea8de03c38a968c157c8262chrismair } 23685efb15529d45e32fea8de03c38a968c157c8262chrismair catch (AssertFailedException expected) { 23785efb15529d45e32fea8de03c38a968c157c8262chrismair LOG.info("Expected: " + expected); 23885efb15529d45e32fea8de03c38a968c157c8262chrismair } 23985efb15529d45e32fea8de03c38a968c157c8262chrismair } 24085efb15529d45e32fea8de03c38a968c157c8262chrismair 24185efb15529d45e32fea8de03c38a968c157c8262chrismair //------------------------------------------------------------------------- 24285efb15529d45e32fea8de03c38a968c157c8262chrismair // Test setup 24385efb15529d45e32fea8de03c38a968c157c8262chrismair //------------------------------------------------------------------------- 24485efb15529d45e32fea8de03c38a968c157c8262chrismair 24585efb15529d45e32fea8de03c38a968c157c8262chrismair /** 24685efb15529d45e32fea8de03c38a968c157c8262chrismair * Perform initialization before each test 24785efb15529d45e32fea8de03c38a968c157c8262chrismair * @see org.mockftpserver.test.AbstractTest#setUp() 24885efb15529d45e32fea8de03c38a968c157c8262chrismair */ 24985efb15529d45e32fea8de03c38a968c157c8262chrismair protected void setUp() throws Exception { 25085efb15529d45e32fea8de03c38a968c157c8262chrismair super.setUp(); 25185efb15529d45e32fea8de03c38a968c157c8262chrismair session = (Session) createMock(Session.class); 25285efb15529d45e32fea8de03c38a968c157c8262chrismair control(session).setDefaultMatcher(MockControl.ARRAY_MATCHER); 25385efb15529d45e32fea8de03c38a968c157c8262chrismair commandHandler = new AbstractCommandHandler() { 25485efb15529d45e32fea8de03c38a968c157c8262chrismair public void handleCommand(Command command, Session session, InvocationRecord invocationRecord) throws Exception { 25585efb15529d45e32fea8de03c38a968c157c8262chrismair } 25685efb15529d45e32fea8de03c38a968c157c8262chrismair }; 25785efb15529d45e32fea8de03c38a968c157c8262chrismair replyTextBundle = new ListResourceBundle() { 25885efb15529d45e32fea8de03c38a968c157c8262chrismair protected Object[][] getContents() { 25985efb15529d45e32fea8de03c38a968c157c8262chrismair return new Object[][] { 26085efb15529d45e32fea8de03c38a968c157c8262chrismair { Integer.toString(REPLY_CODE1), REPLY_TEXT1 }, 26185efb15529d45e32fea8de03c38a968c157c8262chrismair { Integer.toString(REPLY_CODE2), REPLY_TEXT2 }, 26285efb15529d45e32fea8de03c38a968c157c8262chrismair { MESSAGE_KEY, MESSAGE_TEXT } 26385efb15529d45e32fea8de03c38a968c157c8262chrismair }; 26485efb15529d45e32fea8de03c38a968c157c8262chrismair } 26585efb15529d45e32fea8de03c38a968c157c8262chrismair }; 26685efb15529d45e32fea8de03c38a968c157c8262chrismair commandHandler.setReplyTextBundle(replyTextBundle); 26785efb15529d45e32fea8de03c38a968c157c8262chrismair } 26885efb15529d45e32fea8de03c38a968c157c8262chrismair 26985efb15529d45e32fea8de03c38a968c157c8262chrismair} 270