[exo-jcr-commits] exo-jcr SVN: r355 - jcr/trunk/component/webdav/src/test/java/org/exoplatform/services/jcr/webdav/command.

do-not-reply at jboss.org do-not-reply at jboss.org
Fri Oct 23 05:59:31 EDT 2009


Author: dkatayev
Date: 2009-10-23 05:59:31 -0400 (Fri, 23 Oct 2009)
New Revision: 355

Modified:
   jcr/trunk/component/webdav/src/test/java/org/exoplatform/services/jcr/webdav/command/TestGet.java
Log:
[EXOJCR-178] Test for if-modified-since header added

Modified: jcr/trunk/component/webdav/src/test/java/org/exoplatform/services/jcr/webdav/command/TestGet.java
===================================================================
--- jcr/trunk/component/webdav/src/test/java/org/exoplatform/services/jcr/webdav/command/TestGet.java	2009-10-23 09:53:04 UTC (rev 354)
+++ jcr/trunk/component/webdav/src/test/java/org/exoplatform/services/jcr/webdav/command/TestGet.java	2009-10-23 09:59:31 UTC (rev 355)
@@ -18,19 +18,29 @@
  */
 package org.exoplatform.services.jcr.webdav.command;
 
-import org.exoplatform.common.http.HTTPStatus;
-import org.exoplatform.services.jcr.webdav.BaseStandaloneTest;
-import org.exoplatform.services.jcr.webdav.WebDavConstants.WebDAVMethods;
-import org.exoplatform.services.jcr.webdav.utils.TestUtils;
-import org.exoplatform.services.rest.impl.ContainerResponse;
-
 import java.io.ByteArrayInputStream;
 import java.io.FileInputStream;
 import java.io.InputStream;
 import java.io.InputStreamReader;
 import java.io.Reader;
 import java.io.StringWriter;
+import java.text.SimpleDateFormat;
+import java.util.Locale;
+import java.util.TimeZone;
 
+import javax.jcr.Node;
+import javax.jcr.Property;
+import javax.ws.rs.core.MultivaluedMap;
+
+import org.exoplatform.common.http.HTTPStatus;
+import org.exoplatform.services.jcr.webdav.BaseStandaloneTest;
+import org.exoplatform.services.jcr.webdav.WebDavConstants.WebDAVMethods;
+import org.exoplatform.services.jcr.webdav.utils.TestUtils;
+import org.exoplatform.services.rest.ExtHttpHeaders;
+import org.exoplatform.services.rest.impl.ContainerResponse;
+import org.exoplatform.services.rest.impl.InputHeadersMap;
+import org.exoplatform.services.rest.impl.MultivaluedMapImpl;
+
 /**
  * Created by The eXo Platform SAS Author : Dmytro Katayev
  * work.visor.ck at gmail.com Aug 13, 2008
@@ -41,13 +51,15 @@
    private String path = TestUtils.getFileName();
 
    private String fileContent = TestUtils.getFileContent();
+   
+   private Node node;
 
    @Override
    public void setUp() throws Exception
    {
       super.setUp();
       InputStream inputStream = new ByteArrayInputStream(fileContent.getBytes());
-      TestUtils.addContent(session, path, inputStream, defaultFileNodeType, "");
+      node = TestUtils.addContent(session, path, inputStream, defaultFileNodeType, "");
    }
 
    public void testSimpleGet() throws Exception
@@ -63,6 +75,19 @@
       String str = sw.toString();
       assertEquals(fileContent, str);
    }
+   
+   public void testIfModifiedSince() throws Exception{
+      Node contentNode = node.getNode("jcr:content");
+      Property lastModifiedProperty = contentNode.getProperty("jcr:lastModified");
+      String formatPattern = "EEE, dd MMM yyyy HH:mm:ss z";
+      SimpleDateFormat dateFormat = new SimpleDateFormat(formatPattern, Locale.ENGLISH);
+      dateFormat.setTimeZone(TimeZone.getTimeZone("GMT"));
+      String lastModified = dateFormat.format(lastModifiedProperty.getDate().getTime());
+      MultivaluedMap<String, String> headers = new MultivaluedMapImpl();
+      headers.add(ExtHttpHeaders.IF_MODIFIED_SINCE, lastModified);
+      ContainerResponse response = service(WebDAVMethods.GET, getPathWS() + path, "", headers, null);
+      assertEquals(HTTPStatus.NOT_MODIFIED, response.getStatus());
+   }
 
    public void testNotFoundGet() throws Exception
    {



More information about the exo-jcr-commits mailing list