You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by ec...@apache.org on 2015/02/11 03:15:42 UTC
svn commit: r1658868 -
/commons/proper/vfs/trunk/core/src/test/java/org/apache/commons/vfs2/test/LastModifiedTests.java
Author: ecki
Date: Wed Feb 11 02:15:41 2015
New Revision: 1658868
URL: http://svn.apache.org/r1658868
Log:
[tests] more seperate last modified tests, added todo for VFS-563
Modified:
commons/proper/vfs/trunk/core/src/test/java/org/apache/commons/vfs2/test/LastModifiedTests.java
Modified: commons/proper/vfs/trunk/core/src/test/java/org/apache/commons/vfs2/test/LastModifiedTests.java
URL: http://svn.apache.org/viewvc/commons/proper/vfs/trunk/core/src/test/java/org/apache/commons/vfs2/test/LastModifiedTests.java?rev=1658868&r1=1658867&r2=1658868&view=diff
==============================================================================
--- commons/proper/vfs/trunk/core/src/test/java/org/apache/commons/vfs2/test/LastModifiedTests.java (original)
+++ commons/proper/vfs/trunk/core/src/test/java/org/apache/commons/vfs2/test/LastModifiedTests.java Wed Feb 11 02:15:41 2015
@@ -16,19 +16,21 @@
*/
package org.apache.commons.vfs2.test;
-import junit.framework.AssertionFailedError;
+import static org.junit.Assert.assertNotEquals;
+
+import java.util.Date;
import org.apache.commons.vfs2.Capability;
import org.apache.commons.vfs2.FileObject;
+import org.apache.commons.vfs2.FileSystemException;
import org.junit.Assert;
/**
* Test cases for getting and setting file last modified time.
- *
*/
public class LastModifiedTests extends AbstractProviderTestCase
{
- private void asssertDelta(final String message, final long expected, final long actual, final long delta)
+ private void assertDelta(final String message, final long expected, final long actual, final long delta)
{
if (expected == actual)
{
@@ -36,7 +38,7 @@ public class LastModifiedTests extends A
}
if (!(Math.abs(expected - actual) <= delta))
{
- Assert.fail(String.format("%s expected=%d, actual=%d, delta=%d", message, Long.valueOf(expected), Long.valueOf(actual), Long.valueOf(delta)));
+ Assert.fail(String.format("%s expected=%d (%s), actual=%d (%s), delta=%d", message, Long.valueOf(expected), new Date(expected).toString(), Long.valueOf(actual), new Date(actual).toString(), Long.valueOf(delta)));
}
}
@@ -51,71 +53,75 @@ public class LastModifiedTests extends A
}
/**
+ * Tests FileSystem#getLastModTimeAccuracy for sane values.
+ * @throws FileSystemException if error occurred
+ */
+ public void testGetAccurary() throws FileSystemException
+ {
+ final FileObject file = getReadFolder().resolveFile("file1.txt");
+ final long lastModTimeAccuracy = (long)file.getFileSystem().getLastModTimeAccuracy();
+ // System.out.println("Accuracy on " + file.getFileSystem().getRootURI() + " is " + lastModTimeAccuracy + " as told by " + file.getFileSystem().getClass().getCanonicalName());
+ assertTrue("Accuracy must be positive", lastModTimeAccuracy >= 0);
+ assertTrue("Accuracy must be < 2m", lastModTimeAccuracy < 2 * 60 * 1000); // just any sane limit
+ }
+
+ /**
+ * Tests getting the last modified time of a folder.
+ * @throws FileSystemException if error occurred
+ */
+ public void testGetLastModifiedFolder() throws FileSystemException
+ {
+ final FileObject file = getReadFolder().resolveFile("dir1");
+ assertNotEquals(0L, file.getContent().getLastModifiedTime());
+ }
+
+ /**
* Tests getting the last modified time of a file.
+ * @throws FileSystemException if error occurred
*/
- public void testGetLastModified() throws Exception
+ public void testGetLastModifiedFile() throws FileSystemException
{
- // Try a file.
final FileObject file = getReadFolder().resolveFile("file1.txt");
- file.getContent().getLastModifiedTime();
+ assertNotEquals(0L, file.getContent().getLastModifiedTime());
+ }
+
+ /**
+ * Tests setting the last modified time of a folder.
+ * @throws FileSystemException if error occurred
+ */
+ public void testSetLastModifiedFolder() throws FileSystemException
+ {
+ final long yesterday = System.currentTimeMillis() - 24*60*60*1000;
- // TODO - switch this on
- // Try a folder
- // final FileObject folder = getReadFolder().resolveFile( "dir1" );
- // folder.getContent().getLastModifiedTime();
+ if (getReadFolder().getFileSystem().hasCapability(Capability.SET_LAST_MODIFIED_FOLDER))
+ {
+ // Try a folder
+ final FileObject folder = getReadFolder().resolveFile("dir1");
+ folder.getContent().setLastModifiedTime(yesterday);
+ final long lastModTimeAccuracy = (long)folder.getFileSystem().getLastModTimeAccuracy();
+ // folder.refresh(); TODO: does not work with SSH VFS-563
+ final long lastModifiedTime = folder.getContent().getLastModifiedTime();
+ assertDelta("set/getLastModified on Folder", yesterday, lastModifiedTime, lastModTimeAccuracy);
+ }
}
/**
* Tests setting the last modified time of file.
+ * @throws FileSystemException if error occurred
*/
- public void testSetLastModified() throws Exception
+ public void testSetLastModifiedFile() throws FileSystemException
{
- final long now = System.currentTimeMillis();
+ final long yesterday = System.currentTimeMillis() - 24*60*60*1000;
if (getReadFolder().getFileSystem().hasCapability(Capability.SET_LAST_MODIFIED_FILE))
{
// Try a file
final FileObject file = getReadFolder().resolveFile("file1.txt");
- file.getContent().setLastModifiedTime(now);
- final double lastModTimeAccuracy = file.getFileSystem().getLastModTimeAccuracy();
+ file.getContent().setLastModifiedTime(yesterday);
+ final long lastModTimeAccuracy = (long)file.getFileSystem().getLastModTimeAccuracy();
+ // folder.refresh(); TODO: does not work with SSH VFS-563
final long lastModifiedTime = file.getContent().getLastModifiedTime();
- try
- {
- assertEquals("Check 1", now, lastModifiedTime, lastModTimeAccuracy);
- } catch (final AssertionFailedError e)
- {
- // on linux ext3 the above check is not necessarily true
- if (lastModTimeAccuracy < 1000L)
- {
- asssertDelta("Check 2", now, lastModifiedTime, 1000L);
- } else
- {
- throw e;
- }
- }
- }
-
- if (getReadFolder().getFileSystem().hasCapability(Capability.SET_LAST_MODIFIED_FOLDER))
- {
- // Try a folder
- final FileObject folder = getReadFolder().resolveFile("dir1");
- folder.getContent().setLastModifiedTime(now);
- final double lastModTimeAccuracy = folder.getFileSystem().getLastModTimeAccuracy();
- final long lastModifiedTime = folder.getContent().getLastModifiedTime();
- try
- {
- assertEquals("Check 3", now, lastModifiedTime, lastModTimeAccuracy);
- } catch (final AssertionFailedError e)
- {
- // on linux ext3 the above check is not necessarily true
- if (lastModTimeAccuracy < 1000L)
- {
- asssertDelta("Check 4", now, lastModifiedTime, 1000L);
- } else
- {
- throw e;
- }
- }
+ assertDelta("set/getLastModified on File", yesterday, lastModifiedTime, lastModTimeAccuracy);
}
}
}