UnixDirectoryListingFormatterTest.groovy revision 7d00fd0c9917e59d8ee38543e25fcabb0d04f965
15fec82dc0db3623546038e4a86baa44f749e554fHoward Hinnant/* 25fec82dc0db3623546038e4a86baa44f749e554fHoward Hinnant * Copyright 2008 the original author or authors. 35fec82dc0db3623546038e4a86baa44f749e554fHoward Hinnant * 45fec82dc0db3623546038e4a86baa44f749e554fHoward Hinnant * Licensed under the Apache License, Version 2.0 (the "License"); 55fec82dc0db3623546038e4a86baa44f749e554fHoward Hinnant * you may not use this file except in compliance with the License. 65fec82dc0db3623546038e4a86baa44f749e554fHoward Hinnant * You may obtain a copy of the License at 75fec82dc0db3623546038e4a86baa44f749e554fHoward Hinnant * 85fec82dc0db3623546038e4a86baa44f749e554fHoward Hinnant * http://www.apache.org/licenses/LICENSE-2.0 9cedb7fcc10556aaf4302917913c672b1bc6a1db0Daniel Dunbar * 107112dae6acac544a0271a85d95342c583441e2d1Dan Albert * Unless required by applicable law or agreed to in writing, software 117112dae6acac544a0271a85d95342c583441e2d1Dan Albert * distributed under the License is distributed on an "AS IS" BASIS, 12cedb7fcc10556aaf4302917913c672b1bc6a1db0Daniel Dunbar * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13cedb7fcc10556aaf4302917913c672b1bc6a1db0Daniel Dunbar * See the License for the specific language governing permissions and 144dc5b2198d1aa4ab585a3d4a87ee9626d681f9f7Dan Albert * limitations under the License. 154dc5b2198d1aa4ab585a3d4a87ee9626d681f9f7Dan Albert */ 165fec82dc0db3623546038e4a86baa44f749e554fHoward Hinnantpackage org.mockftpserver.fake.filesystem 175fec82dc0db3623546038e4a86baa44f749e554fHoward Hinnant 185fec82dc0db3623546038e4a86baa44f749e554fHoward Hinnantimport java.text.SimpleDateFormat 195fec82dc0db3623546038e4a86baa44f749e554fHoward Hinnantimport org.mockftpserver.test.AbstractGroovyTest 205fec82dc0db3623546038e4a86baa44f749e554fHoward Hinnant 215fec82dc0db3623546038e4a86baa44f749e554fHoward Hinnant/** 225fec82dc0db3623546038e4a86baa44f749e554fHoward Hinnant * Tests for UnixDirectoryListingFormatter 235fec82dc0db3623546038e4a86baa44f749e554fHoward Hinnant * 245fec82dc0db3623546038e4a86baa44f749e554fHoward Hinnant * @version $Revision: 78 $ - $Date: 2008-07-02 20:47:17 -0400 (Wed, 02 Jul 2008) $ 255fec82dc0db3623546038e4a86baa44f749e554fHoward Hinnant * 265fec82dc0db3623546038e4a86baa44f749e554fHoward Hinnant * @author Chris Mair 275fec82dc0db3623546038e4a86baa44f749e554fHoward Hinnant */ 285fec82dc0db3623546038e4a86baa44f749e554fHoward Hinnantclass UnixDirectoryListingFormatterTest extends AbstractGroovyTest { 295fec82dc0db3623546038e4a86baa44f749e554fHoward Hinnant 305fec82dc0db3623546038e4a86baa44f749e554fHoward Hinnant static final FILE_NAME = "def.txt" 315fec82dc0db3623546038e4a86baa44f749e554fHoward Hinnant static final DIR_NAME = "etc" 325fec82dc0db3623546038e4a86baa44f749e554fHoward Hinnant static final OWNER = 'owner123' 335fec82dc0db3623546038e4a86baa44f749e554fHoward Hinnant static final GROUP = 'group456' 345fec82dc0db3623546038e4a86baa44f749e554fHoward Hinnant static final SIZE = 1234567L 355fec82dc0db3623546038e4a86baa44f749e554fHoward Hinnant static final LAST_MODIFIED = new Date() 365fec82dc0db3623546038e4a86baa44f749e554fHoward Hinnant 375fec82dc0db3623546038e4a86baa44f749e554fHoward Hinnant private formatter 385fec82dc0db3623546038e4a86baa44f749e554fHoward Hinnant private dateFormat 395fec82dc0db3623546038e4a86baa44f749e554fHoward Hinnant private lastModifiedFormatted 405fec82dc0db3623546038e4a86baa44f749e554fHoward Hinnant 415fec82dc0db3623546038e4a86baa44f749e554fHoward Hinnant // "-rw-rw-r-- 1 ftp ftp 254 Feb 23 2007 robots.txt" 425fec82dc0db3623546038e4a86baa44f749e554fHoward Hinnant // "-rw-r--r-- 1 ftp ftp 30014925 Apr 15 00:19 md5.sums.gz" 435fec82dc0db3623546038e4a86baa44f749e554fHoward Hinnant // "-rwxr-xr-x 1 c096336 iawebgrp 5778 Dec 1 2005 FU_WyCONN_updateplanaccess.sql" 445fec82dc0db3623546038e4a86baa44f749e554fHoward Hinnant // "drwxr-xr-x 2 c096336 iawebgrp 8192 Nov 7 2006 tmp" 455fec82dc0db3623546038e4a86baa44f749e554fHoward Hinnant // "drwxr-xr-x 39 ftp ftp 4096 Mar 19 2004 a" 465fec82dc0db3623546038e4a86baa44f749e554fHoward Hinnant 475fec82dc0db3623546038e4a86baa44f749e554fHoward Hinnant void testFormat_File() { 485fec82dc0db3623546038e4a86baa44f749e554fHoward Hinnant def fileInfo = FileInfo.forFile(FILE_NAME, SIZE, LAST_MODIFIED, OWNER, GROUP) 495fec82dc0db3623546038e4a86baa44f749e554fHoward Hinnant verifyFormat(fileInfo, "-rwxrwxrwx 1 owner123 group456 1234567 $lastModifiedFormatted def.txt") 505fec82dc0db3623546038e4a86baa44f749e554fHoward Hinnant } 515fec82dc0db3623546038e4a86baa44f749e554fHoward Hinnant 525fec82dc0db3623546038e4a86baa44f749e554fHoward Hinnant void testFormat_Directory() { 535fec82dc0db3623546038e4a86baa44f749e554fHoward Hinnant def fileInfo = FileInfo.forDirectory(DIR_NAME, LAST_MODIFIED, OWNER, GROUP) 545fec82dc0db3623546038e4a86baa44f749e554fHoward Hinnant verifyFormat(fileInfo, "drwxrwxrwx 1 owner123 group456 0 $lastModifiedFormatted etc") 555fec82dc0db3623546038e4a86baa44f749e554fHoward Hinnant } 565fec82dc0db3623546038e4a86baa44f749e554fHoward Hinnant 575fec82dc0db3623546038e4a86baa44f749e554fHoward Hinnant void setUp() { 585fec82dc0db3623546038e4a86baa44f749e554fHoward Hinnant super.setUp() 59 formatter = new UnixDirectoryListingFormatter() 60 dateFormat = new SimpleDateFormat(UnixDirectoryListingFormatter.DATE_FORMAT) 61 lastModifiedFormatted = dateFormat.format(LAST_MODIFIED) 62 } 63 64 private void verifyFormat(FileInfo fileInfo, String expectedResult) { 65 def result = formatter.format(fileInfo) 66 LOG.info("result= [$result]") 67 LOG.info("expected=[$expectedResult]") 68 assert result == expectedResult 69 } 70 71}