177391c2a01ce1fed085906743cc240a4d58edd92chrismair/*
277391c2a01ce1fed085906743cc240a4d58edd92chrismair * Copyright 2007 the original author or authors.
377391c2a01ce1fed085906743cc240a4d58edd92chrismair *
477391c2a01ce1fed085906743cc240a4d58edd92chrismair * Licensed under the Apache License, Version 2.0 (the "License");
577391c2a01ce1fed085906743cc240a4d58edd92chrismair * you may not use this file except in compliance with the License.
677391c2a01ce1fed085906743cc240a4d58edd92chrismair * You may obtain a copy of the License at
777391c2a01ce1fed085906743cc240a4d58edd92chrismair *
877391c2a01ce1fed085906743cc240a4d58edd92chrismair *      http://www.apache.org/licenses/LICENSE-2.0
977391c2a01ce1fed085906743cc240a4d58edd92chrismair *
1077391c2a01ce1fed085906743cc240a4d58edd92chrismair * Unless required by applicable law or agreed to in writing, software
1177391c2a01ce1fed085906743cc240a4d58edd92chrismair * distributed under the License is distributed on an "AS IS" BASIS,
1277391c2a01ce1fed085906743cc240a4d58edd92chrismair * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1377391c2a01ce1fed085906743cc240a4d58edd92chrismair * See the License for the specific language governing permissions and
1477391c2a01ce1fed085906743cc240a4d58edd92chrismair * limitations under the License.
1577391c2a01ce1fed085906743cc240a4d58edd92chrismair */
1677391c2a01ce1fed085906743cc240a4d58edd92chrismairpackage org.mockftpserver.stub.command;
1777391c2a01ce1fed085906743cc240a4d58edd92chrismair
1877391c2a01ce1fed085906743cc240a4d58edd92chrismairimport org.mockftpserver.core.command.Command;
1977391c2a01ce1fed085906743cc240a4d58edd92chrismairimport org.mockftpserver.core.command.CommandNames;
2077391c2a01ce1fed085906743cc240a4d58edd92chrismairimport org.mockftpserver.core.command.ReplyCodes;
2177391c2a01ce1fed085906743cc240a4d58edd92chrismairimport org.mockftpserver.stub.command.CdupCommandHandler;
2277391c2a01ce1fed085906743cc240a4d58edd92chrismair
2377391c2a01ce1fed085906743cc240a4d58edd92chrismair/**
2477391c2a01ce1fed085906743cc240a4d58edd92chrismair * Tests for the CdupCommandHandler class
2577391c2a01ce1fed085906743cc240a4d58edd92chrismair *
2677391c2a01ce1fed085906743cc240a4d58edd92chrismair * @version $Revision$ - $Date$
2777391c2a01ce1fed085906743cc240a4d58edd92chrismair *
2877391c2a01ce1fed085906743cc240a4d58edd92chrismair * @author Chris Mair
2977391c2a01ce1fed085906743cc240a4d58edd92chrismair */
3077391c2a01ce1fed085906743cc240a4d58edd92chrismairpublic final class CdupCommandHandlerTest extends AbstractCommandHandlerTest {
3177391c2a01ce1fed085906743cc240a4d58edd92chrismair
3277391c2a01ce1fed085906743cc240a4d58edd92chrismair    private CdupCommandHandler commandHandler;
3377391c2a01ce1fed085906743cc240a4d58edd92chrismair    private Command command1;
3477391c2a01ce1fed085906743cc240a4d58edd92chrismair    private Command command2;
3577391c2a01ce1fed085906743cc240a4d58edd92chrismair
3677391c2a01ce1fed085906743cc240a4d58edd92chrismair    /**
3777391c2a01ce1fed085906743cc240a4d58edd92chrismair     * Test the handleCommand(Command,Session) method
3877391c2a01ce1fed085906743cc240a4d58edd92chrismair     * @throws Exception
3977391c2a01ce1fed085906743cc240a4d58edd92chrismair     */
4077391c2a01ce1fed085906743cc240a4d58edd92chrismair    public void testHandleCommand() throws Exception {
4177391c2a01ce1fed085906743cc240a4d58edd92chrismair        session.sendReply(ReplyCodes.CDUP_OK, replyTextFor(ReplyCodes.CDUP_OK));
4277391c2a01ce1fed085906743cc240a4d58edd92chrismair        session.sendReply(ReplyCodes.CDUP_OK, replyTextFor(ReplyCodes.CDUP_OK));
4377391c2a01ce1fed085906743cc240a4d58edd92chrismair        replay(session);
4477391c2a01ce1fed085906743cc240a4d58edd92chrismair
4577391c2a01ce1fed085906743cc240a4d58edd92chrismair        commandHandler.handleCommand(command1, session);
4677391c2a01ce1fed085906743cc240a4d58edd92chrismair        commandHandler.handleCommand(command2, session);
4777391c2a01ce1fed085906743cc240a4d58edd92chrismair        verify(session);
4877391c2a01ce1fed085906743cc240a4d58edd92chrismair
4977391c2a01ce1fed085906743cc240a4d58edd92chrismair        verifyNumberOfInvocations(commandHandler, 2);
5077391c2a01ce1fed085906743cc240a4d58edd92chrismair        verifyNoDataElements(commandHandler.getInvocation(0));
5177391c2a01ce1fed085906743cc240a4d58edd92chrismair        verifyNoDataElements(commandHandler.getInvocation(1));
5277391c2a01ce1fed085906743cc240a4d58edd92chrismair    }
5377391c2a01ce1fed085906743cc240a4d58edd92chrismair
5477391c2a01ce1fed085906743cc240a4d58edd92chrismair    /**
5577391c2a01ce1fed085906743cc240a4d58edd92chrismair     * Perform initialization before each test
5677391c2a01ce1fed085906743cc240a4d58edd92chrismair     * @see org.mockftpserver.stub.command.AbstractCommandHandlerTest#setUp()
5777391c2a01ce1fed085906743cc240a4d58edd92chrismair     */
5877391c2a01ce1fed085906743cc240a4d58edd92chrismair    protected void setUp() throws Exception {
5977391c2a01ce1fed085906743cc240a4d58edd92chrismair        super.setUp();
6077391c2a01ce1fed085906743cc240a4d58edd92chrismair        commandHandler = new CdupCommandHandler();
6177391c2a01ce1fed085906743cc240a4d58edd92chrismair        commandHandler.setReplyTextBundle(replyTextBundle);
6277391c2a01ce1fed085906743cc240a4d58edd92chrismair        command1 = new Command(CommandNames.CDUP, EMPTY);
6377391c2a01ce1fed085906743cc240a4d58edd92chrismair        command2 = new Command(CommandNames.CDUP, EMPTY);
6477391c2a01ce1fed085906743cc240a4d58edd92chrismair    }
6577391c2a01ce1fed085906743cc240a4d58edd92chrismair}
66