Update of /var/cvs/tests/convertimage/org/mmbase/bridge/tests
In directory
james.mmbase.org:/tmp/cvs-serv14085/convertimage/org/mmbase/bridge/tests
Modified Files:
ConvertImageTest.java
Log Message:
A quick an ddirty test for MMB-1396. It seems that at least the binary files
are not accessed (which is tested here). That's good.
See also:
http://cvs.mmbase.org/viewcvs/tests/convertimage/org/mmbase/bridge/tests
See also: http://www.mmbase.org/jira/browse/MMB-1396
Index: ConvertImageTest.java
===================================================================
RCS file:
/var/cvs/tests/convertimage/org/mmbase/bridge/tests/ConvertImageTest.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -b -r1.7 -r1.8
--- ConvertImageTest.java 24 Sep 2008 06:14:58 -0000 1.7
+++ ConvertImageTest.java 24 Sep 2008 06:49:14 -0000 1.8
@@ -5,6 +5,8 @@
import java.io.*;
import java.util.*;
import org.mmbase.util.images.*;
+import org.mmbase.util.transformers.AbstractCommandStringTransformer;
+import org.mmbase.util.transformers.CharTransformer;
import org.mmbase.util.functions.Function;
import org.mmbase.util.functions.Parameters;
@@ -13,7 +15,7 @@
* JUnit tests for convertimage-interface implementation.
*
* @author Michiel Meeuwissen
- * @version $Id: ConvertImageTest.java,v 1.7 2008/09/24 06:14:58 michiel Exp $
+ * @version $Id: ConvertImageTest.java,v 1.8 2008/09/24 06:49:14 michiel Exp $
*/
public class ConvertImageTest extends org.mmbase.tests.BridgeTest {
@@ -77,7 +79,6 @@
protected void restoreImaging(Map<String, String> parameters) {
Factory.shutdown();
- System.err.println("Restoring with " + parameters);
Factory.init(parameters);
}
@@ -109,6 +110,39 @@
}
+
+ /**
+ * Java api to get access times is only available in java 7. This is a
quick and dirty hack, at
+ * least working in linux. It does not actually try to determin the access
times of individual
+ * files, it simply returns a string containing the access times. For test
cases 'equals' on the
+ * string should suffice.
+ */
+ public String getImagesAccessTimes() {
+ CharTransformer accessTimes = new AbstractCommandStringTransformer() {
+ public String[] getCommand() {
+ return new String[] {"xargs", "ls", "-lu"};
+ }
+ };
+ return accessTimes.transform(System.getProperty("user.dir") +
"/data/test/mmbasetests_images");
+ }
+
+ public void testAccessTime() throws InterruptedException {
+ if(System.getProperty("os.name") != null &&
System.getProperty("os.name").startsWith("Windows")) {
+ System.err.println("Pretty sure this test won't work in Windows.
Skippig it.");
+ } else {
+ // MMB-1386
+ String accessTimesBefore = getImagesAccessTimes();
+ // make sure it is a minute later.
+ Thread.sleep(61000);
+ org.mmbase.cache.CacheManager.getCache("Nodes").clear();
+ Node node = cloud.getNode("jpeg.test.image");
+ assertEquals(accessTimesBefore, getImagesAccessTimes());
+ node.setStringValue("title", "the images title");
+ node.commit();
+ assertEquals(accessTimesBefore, getImagesAccessTimes());
+ }
+ }
+
private static Cloud cloud;
/**
* Sets up before each test.
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs