From 57f7266e4872097779bff112eb7d4991604080d0 Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Tue, 11 Feb 2014 20:45:06 +0000 Subject: [PATCH] Merged HEAD-BUG-FIX (4.3/Cloud) to HEAD (4.3/Cloud) 57478: Merged V4.2-BUG-FIX (4.2.1) to HEAD-BUG-FIX (Cloud/4.3) 57288: Merged V4.1-BUG-FIX (4.1.7) to V4.2-BUG-FIX (4.2.1) 57264: ALF-14221: Creation and Modification Date Tests Fail in Timezones Other than BST - Set default time zone to Europe/London in AbstractMetadataExtracterTest MNT-9566: Intermittent test failure OpenDocumentMetadataExtracterTest.testSupportedMimetypes - Changed OpenDocumentMetadataExtracterTest to run against date objects rather than strings git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@61820 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../AbstractMetadataExtracterTest.java | 7 +++ .../OpenDocumentMetadataExtracterTest.java | 43 ++++++++++++------- 2 files changed, 35 insertions(+), 15 deletions(-) diff --git a/source/test-java/org/alfresco/repo/content/metadata/AbstractMetadataExtracterTest.java b/source/test-java/org/alfresco/repo/content/metadata/AbstractMetadataExtracterTest.java index ee5f972466..ce2052efa5 100644 --- a/source/test-java/org/alfresco/repo/content/metadata/AbstractMetadataExtracterTest.java +++ b/source/test-java/org/alfresco/repo/content/metadata/AbstractMetadataExtracterTest.java @@ -24,6 +24,7 @@ import java.io.Serializable; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.TimeZone; import junit.framework.TestCase; @@ -41,6 +42,7 @@ import org.alfresco.service.namespace.QName; import org.alfresco.util.ApplicationContextHelper; import org.alfresco.util.PropertyMap; import org.alfresco.util.TempFileProvider; +import org.joda.time.DateTimeZone; import org.springframework.context.ApplicationContext; /** @@ -84,6 +86,11 @@ public abstract class AbstractMetadataExtracterTest extends TestCase // perform a little cleaning up long now = System.currentTimeMillis(); TempFileProvider.TempFileCleanerJob.removeFiles(now); + + TimeZone tz = TimeZone.getTimeZone("Europe/London"); + TimeZone.setDefault(tz); + // Joda time has already grabbed the JVM zone so re-set it here + DateTimeZone.setDefault(DateTimeZone.forTimeZone(tz)); } /** diff --git a/source/test-java/org/alfresco/repo/content/metadata/OpenDocumentMetadataExtracterTest.java b/source/test-java/org/alfresco/repo/content/metadata/OpenDocumentMetadataExtracterTest.java index 3c93ec0c7a..691ba241c6 100644 --- a/source/test-java/org/alfresco/repo/content/metadata/OpenDocumentMetadataExtracterTest.java +++ b/source/test-java/org/alfresco/repo/content/metadata/OpenDocumentMetadataExtracterTest.java @@ -19,6 +19,10 @@ package org.alfresco.repo.content.metadata; import java.io.Serializable; +import java.text.DateFormat; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.Date; import java.util.Map; import org.alfresco.model.ContentModel; @@ -34,6 +38,8 @@ import org.alfresco.service.namespace.QName; public class OpenDocumentMetadataExtracterTest extends AbstractMetadataExtracterTest { private OpenDocumentMetadataExtracter extracter; + + private static final DateFormat DATE_FORMAT = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ"); @Override public void setUp() throws Exception @@ -81,21 +87,28 @@ public class OpenDocumentMetadataExtracterTest extends AbstractMetadataExtracter protected void testFileSpecificMetadata(String mimetype, Map properties) { - // Check for two cases - if(mimetype.equals("application/vnd.oasis.opendocument.text")) - { - assertEquals( - "Property " + ContentModel.PROP_CREATED + " not found for mimetype " + mimetype, - "2005-09-06T23:34:00.000+01:00", - DefaultTypeConverter.INSTANCE.convert(String.class, properties.get(ContentModel.PROP_CREATED))); - } - else if(mimetype.equals("application/vnd.oasis.opendocument.graphics")) - { - assertEquals( - "Property " + ContentModel.PROP_CREATED + " not found for mimetype " + mimetype, - "2006-01-27T11:46:11.000Z", - DefaultTypeConverter.INSTANCE.convert(String.class, properties.get(ContentModel.PROP_CREATED))); - } + try + { + // Check for two cases + if(mimetype.equals("application/vnd.oasis.opendocument.text")) + { + assertEquals( + "Property " + ContentModel.PROP_CREATED + " not found for mimetype " + mimetype, + DATE_FORMAT.parse("2005-09-06T23:34:00.000+0100"), + DefaultTypeConverter.INSTANCE.convert(Date.class, properties.get(ContentModel.PROP_CREATED))); + } + else if(mimetype.equals("application/vnd.oasis.opendocument.graphics")) + { + assertEquals( + "Property " + ContentModel.PROP_CREATED + " not found for mimetype " + mimetype, + DATE_FORMAT.parse("2006-01-27T11:46:11.000+0000"), + DefaultTypeConverter.INSTANCE.convert(Date.class, properties.get(ContentModel.PROP_CREATED))); + } + } + catch (ParseException e) + { + fail(e.getMessage()); + } } }