blob: 25a3afef6a39785f51501f5d9a3437399f87d585 [file] [log] [blame]
chrismair00dc7bd2014-05-11 21:21:28 +00001/*
2 * Copyright 2008 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.fake.command
17
18import org.mockftpserver.core.command.Command
19import org.mockftpserver.core.command.CommandHandler
20import org.mockftpserver.core.command.CommandNames
21import org.mockftpserver.core.command.ReplyCodes
22
23/**
24 * Tests for StorCommandHandler
25 *
26 * @version $Revision$ - $Date$
27 *
28 * @author Chris Mair
29 */
30class StorCommandHandlerTest extends AbstractStoreFileCommandHandlerTestCase {
31
32 void testHandleCommand_MissingPathParameter() {
33 testHandleCommand_MissingRequiredParameter([])
34 }
35
36 void testHandleCommand_AbsolutePath() {
37 testHandleCommand([FILE], 'stor', CONTENTS)
38 }
39
40 void testHandleCommand_RelativePath() {
41 setCurrentDirectory(DIR)
42 testHandleCommand([FILENAME], 'stor', CONTENTS)
43 }
44
45 void testHandleCommand_PathSpecifiesAnExistingDirectory() {
46 createDirectory(FILE)
47 handleCommand([FILE])
48 assertSessionReply(ReplyCodes.FILENAME_NOT_VALID, FILE)
49 }
50
51 void testHandleCommand_ParentDirectoryDoesNotExist() {
52 def NO_SUCH_DIR = "/path/DoesNotExist"
53 handleCommand([p(NO_SUCH_DIR, FILENAME)])
54 assertSessionReply(ReplyCodes.FILENAME_NOT_VALID, NO_SUCH_DIR)
55 }
56
57 //-------------------------------------------------------------------------
58 // Helper Methods
59 //-------------------------------------------------------------------------
60
61 CommandHandler createCommandHandler() {
62 new StorCommandHandler()
63 }
64
65 Command createValidCommand() {
66 return new Command(CommandNames.STOR, [FILE])
67 }
68
69 void setUp() {
70 super.setUp()
71 }
72
73 protected String verifyOutputFile() {
74 assert fileSystem.isFile(FILE)
75 assert session.getReplyMessage(1).contains(FILENAME)
76 return FILE
77 }
78
79}