mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-07-24 17:32:48 +00:00
Merged V2.2 to HEAD
8372: Merged V2.1 to V2.2 8314: Merged V2.0 to V2.1 7750: Fix for ACT-475: ContentStoreCleaner causes OutOfMemoryError 8332: Made content URL column larger to accommodate the extra locale info present in 2.1 8334: Build fix: V2.1 tighter on authentication for getTempWriter 8376: Merged V2.1 to V2.2 8325: Fix for AWC-1089 8361: Workaround for WCM-882: All metadata extracters can now handle zero length files git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@8497 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -28,6 +28,7 @@ import java.io.File;
|
||||
import java.io.FileNotFoundException;
|
||||
import java.io.Serializable;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
@@ -35,12 +36,15 @@ import junit.framework.TestCase;
|
||||
import org.alfresco.model.ContentModel;
|
||||
import org.alfresco.repo.content.MimetypeMap;
|
||||
import org.alfresco.repo.content.filestore.FileContentReader;
|
||||
import org.alfresco.repo.content.filestore.FileContentWriter;
|
||||
import org.alfresco.repo.content.transform.AbstractContentTransformerTest;
|
||||
import org.alfresco.service.cmr.dictionary.DictionaryService;
|
||||
import org.alfresco.service.cmr.repository.ContentReader;
|
||||
import org.alfresco.service.cmr.repository.ContentWriter;
|
||||
import org.alfresco.service.cmr.repository.datatype.DefaultTypeConverter;
|
||||
import org.alfresco.service.namespace.QName;
|
||||
import org.alfresco.util.ApplicationContextHelper;
|
||||
import org.alfresco.util.PropertyMap;
|
||||
import org.alfresco.util.TempFileProvider;
|
||||
import org.springframework.context.ApplicationContext;
|
||||
|
||||
@@ -134,4 +138,29 @@ public abstract class AbstractMetadataExtracterTest extends TestCase
|
||||
QUICK_DESCRIPTION,
|
||||
DefaultTypeConverter.INSTANCE.convert(String.class, properties.get(ContentModel.PROP_DESCRIPTION)));
|
||||
}
|
||||
|
||||
public void testZeroLengthFile() throws Exception
|
||||
{
|
||||
MetadataExtracter extractor = getExtracter();
|
||||
File file = TempFileProvider.createTempFile(getName(), ".bin");
|
||||
ContentWriter writer = new FileContentWriter(file);
|
||||
writer.getContentOutputStream().close();
|
||||
ContentReader reader = writer.getReader();
|
||||
// Try the zero length file against all supported mimetypes.
|
||||
// Note: Normally the reader would need to be fetched for each access, but we need to be sure
|
||||
// that the content is not accessed on the reader AT ALL.
|
||||
PropertyMap properties = new PropertyMap();
|
||||
List<String> mimetypes = mimetypeMap.getMimetypes();
|
||||
for (String mimetype : mimetypes)
|
||||
{
|
||||
if (!extractor.isSupported(mimetype))
|
||||
{
|
||||
// Not interested
|
||||
continue;
|
||||
}
|
||||
reader.setMimetype(mimetype);
|
||||
extractor.extract(reader, properties);
|
||||
assertEquals("There should not be any new properties", 0, properties.size());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user