blob: 3a1e0f23634a5567e8522b20d2187fcc6ff599cc [file] [log] [blame]
chrismair00dc7bd2014-05-11 21:21:28 +00001/*
2 * Copyright 2007 the original author or authors.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16package org.mockftpserver.stub.command;
17
18import org.mockftpserver.core.command.AbstractCommandHandlerTestCase;
19import org.mockftpserver.core.command.Command;
20import org.mockftpserver.core.command.CommandNames;
21import org.mockftpserver.core.command.ReplyCodes;
22
23/**
24 * Tests for the TypeCommandHandler class
25 *
26 * @version $Revision$ - $Date$
27 *
28 * @author Chris Mair
29 */
30public final class TypeCommandHandlerTest extends AbstractCommandHandlerTestCase {
31
32 private TypeCommandHandler commandHandler;
33
34 /**
35 * Test the handleCommand() method
36 */
37 public void testHandleCommand() throws Exception {
38 final Command COMMAND1 = new Command("TYPE", array("A"));
39 final Command COMMAND2 = new Command("TYPE", array("B"));
40 final Command COMMAND3 = new Command("TYPE", array("L", "8"));
41
42 session.sendReply(ReplyCodes.TYPE_OK, replyTextFor(ReplyCodes.TYPE_OK));
43 session.sendReply(ReplyCodes.TYPE_OK, replyTextFor(ReplyCodes.TYPE_OK));
44 session.sendReply(ReplyCodes.TYPE_OK, replyTextFor(ReplyCodes.TYPE_OK));
45 replay(session);
46
47 commandHandler.handleCommand(COMMAND1, session);
48 commandHandler.handleCommand(COMMAND2, session);
49 commandHandler.handleCommand(COMMAND3, session);
50 verify(session);
51
52 verifyNumberOfInvocations(commandHandler, 3);
53 verifyOneDataElement(commandHandler.getInvocation(0), TypeCommandHandler.TYPE_INFO_KEY, new String[] {"A", null});
54 verifyOneDataElement(commandHandler.getInvocation(1), TypeCommandHandler.TYPE_INFO_KEY, new String[] {"B", null});
55 verifyOneDataElement(commandHandler.getInvocation(2), TypeCommandHandler.TYPE_INFO_KEY, new String[] {"L", "8"});
56 }
57
58 /**
59 * Test the handleCommand() method, when no type parameter has been specified
60 */
61 public void testHandleCommand_MissingTypeParameter() throws Exception {
62 testHandleCommand_InvalidParameters(commandHandler, CommandNames.TYPE, EMPTY);
63 }
64
65 /**
66 * Perform initialization before each test
67 * @see org.mockftpserver.core.command.AbstractCommandHandlerTestCase#setUp()
68 */
69 protected void setUp() throws Exception {
70 super.setUp();
71 commandHandler = new TypeCommandHandler();
72 commandHandler.setReplyTextBundle(replyTextBundle);
73 }
74
75}