1bda3441225e0607b5ced8b538123fd7c7a417910chrismair/* 2bda3441225e0607b5ced8b538123fd7c7a417910chrismair * Copyright 2008 the original author or authors. 3bda3441225e0607b5ced8b538123fd7c7a417910chrismair * 4bda3441225e0607b5ced8b538123fd7c7a417910chrismair * Licensed under the Apache License, Version 2.0 (the "License"); 5bda3441225e0607b5ced8b538123fd7c7a417910chrismair * you may not use this file except in compliance with the License. 6bda3441225e0607b5ced8b538123fd7c7a417910chrismair * You may obtain a copy of the License at 7bda3441225e0607b5ced8b538123fd7c7a417910chrismair * 8bda3441225e0607b5ced8b538123fd7c7a417910chrismair * http://www.apache.org/licenses/LICENSE-2.0 9bda3441225e0607b5ced8b538123fd7c7a417910chrismair * 10bda3441225e0607b5ced8b538123fd7c7a417910chrismair * Unless required by applicable law or agreed to in writing, software 11bda3441225e0607b5ced8b538123fd7c7a417910chrismair * distributed under the License is distributed on an "AS IS" BASIS, 12bda3441225e0607b5ced8b538123fd7c7a417910chrismair * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13bda3441225e0607b5ced8b538123fd7c7a417910chrismair * See the License for the specific language governing permissions and 14bda3441225e0607b5ced8b538123fd7c7a417910chrismair * limitations under the License. 15bda3441225e0607b5ced8b538123fd7c7a417910chrismair */ 16bda3441225e0607b5ced8b538123fd7c7a417910chrismairpackage org.mockftpserver.fake.filesystem 17bda3441225e0607b5ced8b538123fd7c7a417910chrismair 18bda3441225e0607b5ced8b538123fd7c7a417910chrismair/** 19bda3441225e0607b5ced8b538123fd7c7a417910chrismair * Test-only subclass of UnixFakeFileSystem. Groovy implementation enables access to metaclass. 20bda3441225e0607b5ced8b538123fd7c7a417910chrismair * 21bda3441225e0607b5ced8b538123fd7c7a417910chrismair * @version $Revision$ - $Date$ 22bda3441225e0607b5ced8b538123fd7c7a417910chrismair * 23bda3441225e0607b5ced8b538123fd7c7a417910chrismair * @author Chris Mair 24bda3441225e0607b5ced8b538123fd7c7a417910chrismair */ 25bda3441225e0607b5ced8b538123fd7c7a417910chrismairclass TestUnixFakeFileSystem extends UnixFakeFileSystem { 26bda3441225e0607b5ced8b538123fd7c7a417910chrismair 27bda3441225e0607b5ced8b538123fd7c7a417910chrismair Throwable addMethodException 28bda3441225e0607b5ced8b538123fd7c7a417910chrismair Throwable renameMethodException 29bda3441225e0607b5ced8b538123fd7c7a417910chrismair Throwable listNamesMethodException 30bda3441225e0607b5ced8b538123fd7c7a417910chrismair Throwable listFilesMethodException 31bda3441225e0607b5ced8b538123fd7c7a417910chrismair Throwable deleteMethodException 32bda3441225e0607b5ced8b538123fd7c7a417910chrismair 33bda3441225e0607b5ced8b538123fd7c7a417910chrismair void add(FileSystemEntry entry) { 34bda3441225e0607b5ced8b538123fd7c7a417910chrismair if (addMethodException) { 35bda3441225e0607b5ced8b538123fd7c7a417910chrismair throw addMethodException 36bda3441225e0607b5ced8b538123fd7c7a417910chrismair } 37bda3441225e0607b5ced8b538123fd7c7a417910chrismair super.add(entry) 38bda3441225e0607b5ced8b538123fd7c7a417910chrismair } 39bda3441225e0607b5ced8b538123fd7c7a417910chrismair 40bda3441225e0607b5ced8b538123fd7c7a417910chrismair void rename(String fromPath, String toPath) { 41bda3441225e0607b5ced8b538123fd7c7a417910chrismair if (renameMethodException) { 42bda3441225e0607b5ced8b538123fd7c7a417910chrismair throw renameMethodException 43bda3441225e0607b5ced8b538123fd7c7a417910chrismair } 44bda3441225e0607b5ced8b538123fd7c7a417910chrismair super.rename(fromPath, toPath) 45bda3441225e0607b5ced8b538123fd7c7a417910chrismair } 46bda3441225e0607b5ced8b538123fd7c7a417910chrismair 47bda3441225e0607b5ced8b538123fd7c7a417910chrismair List listNames(String path) { 48bda3441225e0607b5ced8b538123fd7c7a417910chrismair if (listNamesMethodException) { 49bda3441225e0607b5ced8b538123fd7c7a417910chrismair throw listNamesMethodException 50bda3441225e0607b5ced8b538123fd7c7a417910chrismair } 51bda3441225e0607b5ced8b538123fd7c7a417910chrismair super.listNames(path) 52bda3441225e0607b5ced8b538123fd7c7a417910chrismair } 53bda3441225e0607b5ced8b538123fd7c7a417910chrismair 54bda3441225e0607b5ced8b538123fd7c7a417910chrismair List listFiles(String path) { 55bda3441225e0607b5ced8b538123fd7c7a417910chrismair if (listFilesMethodException) { 56bda3441225e0607b5ced8b538123fd7c7a417910chrismair throw listFilesMethodException 57bda3441225e0607b5ced8b538123fd7c7a417910chrismair } 58bda3441225e0607b5ced8b538123fd7c7a417910chrismair super.listFiles(path) 59bda3441225e0607b5ced8b538123fd7c7a417910chrismair } 60bda3441225e0607b5ced8b538123fd7c7a417910chrismair 61bda3441225e0607b5ced8b538123fd7c7a417910chrismair boolean delete(String path) { 62bda3441225e0607b5ced8b538123fd7c7a417910chrismair if (deleteMethodException) { 63bda3441225e0607b5ced8b538123fd7c7a417910chrismair throw deleteMethodException 64bda3441225e0607b5ced8b538123fd7c7a417910chrismair } 65bda3441225e0607b5ced8b538123fd7c7a417910chrismair super.delete(path) 66bda3441225e0607b5ced8b538123fd7c7a417910chrismair } 67bda3441225e0607b5ced8b538123fd7c7a417910chrismair 68bda3441225e0607b5ced8b538123fd7c7a417910chrismair}