mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-07-24 17:32:48 +00:00
Fix AR-1464: Locale is carried into and out of the Content stack.
ApplicationContextHelper now gives out a singleton ApplicationContext and includes a 'closeApplicationContext' method. Pulled all "org.alfresco.repo.content/**Test" classes into a single test suite. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@5722 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -32,13 +32,20 @@ import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
import java.util.TreeSet;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
|
||||
import org.alfresco.repo.content.MimetypeMap;
|
||||
import org.alfresco.repo.content.filestore.FileContentReader;
|
||||
import org.alfresco.repo.content.filestore.FileContentWriter;
|
||||
import org.alfresco.service.ServiceRegistry;
|
||||
import org.alfresco.service.cmr.repository.ContentReader;
|
||||
import org.alfresco.service.cmr.repository.ContentWriter;
|
||||
import org.alfresco.util.BaseSpringTest;
|
||||
import org.alfresco.service.cmr.repository.MimetypeService;
|
||||
import org.alfresco.util.ApplicationContextHelper;
|
||||
import org.alfresco.util.TempFileProvider;
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.springframework.context.ApplicationContext;
|
||||
|
||||
/**
|
||||
* Provides a base set of tests for testing
|
||||
@@ -47,19 +54,19 @@ import org.alfresco.util.TempFileProvider;
|
||||
*
|
||||
* @author Derek Hulley
|
||||
*/
|
||||
public abstract class AbstractContentTransformerTest extends BaseSpringTest
|
||||
public abstract class AbstractContentTransformerTest extends TestCase
|
||||
{
|
||||
private static String QUICK_CONTENT = "The quick brown fox jumps over the lazy dog";
|
||||
private static String[] QUICK_WORDS = new String[] {
|
||||
"quick", "brown", "fox", "jumps", "lazy", "dog"};
|
||||
|
||||
protected MimetypeMap mimetypeMap;
|
||||
|
||||
public final void setMimetypeMap(MimetypeMap mimetypeMap)
|
||||
{
|
||||
this.mimetypeMap = mimetypeMap;
|
||||
}
|
||||
|
||||
private static Log logger = LogFactory.getLog(AbstractContentTransformerTest.class);
|
||||
|
||||
protected static ApplicationContext ctx = ApplicationContextHelper.getApplicationContext();
|
||||
|
||||
protected ServiceRegistry serviceRegistry;
|
||||
protected MimetypeService mimetypeService;
|
||||
|
||||
/**
|
||||
* Fetches a transformer to test for a given transformation. The transformer
|
||||
* does not <b>have</b> to be reliable for the given format - if it isn't
|
||||
@@ -77,8 +84,10 @@ public abstract class AbstractContentTransformerTest extends BaseSpringTest
|
||||
* Ensures that the temp locations are cleaned out before the tests start
|
||||
*/
|
||||
@Override
|
||||
protected void onSetUpInTransaction() throws Exception
|
||||
protected void setUp() throws Exception
|
||||
{
|
||||
serviceRegistry = (ServiceRegistry) ctx.getBean(ServiceRegistry.SERVICE_REGISTRY);
|
||||
mimetypeService = serviceRegistry.getMimetypeService();
|
||||
// perform a little cleaning up
|
||||
long now = System.currentTimeMillis();
|
||||
TempFileProvider.TempFileCleanerJob.removeFiles(now);
|
||||
@@ -89,7 +98,7 @@ public abstract class AbstractContentTransformerTest extends BaseSpringTest
|
||||
*/
|
||||
public void testSetUp() throws Exception
|
||||
{
|
||||
assertNotNull("MimetypeMap not present", mimetypeMap);
|
||||
assertNotNull("MimetypeMap not present", mimetypeService);
|
||||
// check that the quick resources are available
|
||||
File sourceFile = AbstractContentTransformerTest.loadQuickTestFile("txt");
|
||||
assertNotNull(sourceFile);
|
||||
@@ -144,11 +153,11 @@ public abstract class AbstractContentTransformerTest extends BaseSpringTest
|
||||
.append("\n");
|
||||
|
||||
// get all mimetypes
|
||||
Set<String> mimetypes = new TreeSet<String>(mimetypeMap.getMimetypes());
|
||||
Set<String> mimetypes = new TreeSet<String>(mimetypeService.getMimetypes());
|
||||
for (String sourceMimetype : mimetypes)
|
||||
{
|
||||
// attempt to get a source file for each mimetype
|
||||
String sourceExtension = mimetypeMap.getExtension(sourceMimetype);
|
||||
String sourceExtension = mimetypeService.getExtension(sourceMimetype);
|
||||
|
||||
sb.append(" Source Extension: ").append(sourceExtension).append("\n");
|
||||
|
||||
@@ -157,7 +166,7 @@ public abstract class AbstractContentTransformerTest extends BaseSpringTest
|
||||
{
|
||||
ContentWriter targetWriter = null;
|
||||
// construct a reader onto the source file
|
||||
String targetExtension = mimetypeMap.getExtension(targetMimetype);
|
||||
String targetExtension = mimetypeService.getExtension(targetMimetype);
|
||||
|
||||
// must we test the transformation?
|
||||
ContentTransformer transformer = getTransformer(sourceMimetype, targetMimetype);
|
||||
|
@@ -25,8 +25,6 @@
|
||||
package org.alfresco.repo.content.transform;
|
||||
|
||||
import org.alfresco.repo.content.MimetypeMap;
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
|
||||
/**
|
||||
* @see org.alfresco.repo.content.transform.BinaryPassThroughContentTransformer
|
||||
@@ -35,12 +33,13 @@ import org.apache.commons.logging.LogFactory;
|
||||
*/
|
||||
public class BinaryPassThroughContentTransformerTest extends AbstractContentTransformerTest
|
||||
{
|
||||
private static final Log logger = LogFactory.getLog(BinaryPassThroughContentTransformerTest.class);
|
||||
|
||||
private ContentTransformer transformer;
|
||||
|
||||
public void onSetUpInTransaction() throws Exception
|
||||
|
||||
@Override
|
||||
public void setUp() throws Exception
|
||||
{
|
||||
super.setUp();
|
||||
|
||||
transformer = new BinaryPassThroughContentTransformer();
|
||||
}
|
||||
|
||||
|
@@ -42,10 +42,13 @@ public class ComplexContentTransformerTest extends AbstractContentTransformerTes
|
||||
private ComplexContentTransformer transformer;
|
||||
private boolean isAvailable;
|
||||
|
||||
public void onSetUpInTransaction() throws Exception
|
||||
@Override
|
||||
public void setUp() throws Exception
|
||||
{
|
||||
ContentTransformer unoTransformer = (ContentTransformer) applicationContext.getBean("transformer.OpenOffice");
|
||||
ContentTransformer pdfBoxTransformer = (ContentTransformer) applicationContext.getBean("transformer.PdfBox");
|
||||
super.setUp();
|
||||
|
||||
ContentTransformer unoTransformer = (ContentTransformer) ctx.getBean("transformer.OpenOffice");
|
||||
ContentTransformer pdfBoxTransformer = (ContentTransformer) ctx.getBean("transformer.PdfBox");
|
||||
// make sure that they are working for this test
|
||||
if (unoTransformer.getReliability(MimetypeMap.MIMETYPE_PPT, MimetypeMap.MIMETYPE_PDF) == 0.0)
|
||||
{
|
||||
@@ -63,7 +66,7 @@ public class ComplexContentTransformerTest extends AbstractContentTransformerTes
|
||||
}
|
||||
|
||||
transformer = new ComplexContentTransformer();
|
||||
transformer.setMimetypeService(mimetypeMap);
|
||||
transformer.setMimetypeService(mimetypeService);
|
||||
// set the transformer list
|
||||
List<ContentTransformer> transformers = new ArrayList<ContentTransformer>(2);
|
||||
transformers.add(unoTransformer);
|
||||
|
@@ -55,17 +55,13 @@ public class ContentTransformerRegistryTest extends AbstractContentTransformerTe
|
||||
private ContentReader reader;
|
||||
private ContentWriter writer;
|
||||
|
||||
/**
|
||||
* Allows dependency injection
|
||||
*/
|
||||
public void setContentTransformerRegistry(ContentTransformerRegistry registry)
|
||||
{
|
||||
this.registry = registry;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSetUpInTransaction() throws Exception
|
||||
public void setUp() throws Exception
|
||||
{
|
||||
super.setUp();
|
||||
|
||||
registry = (ContentTransformerRegistry) ctx.getBean("contentTransformerRegistry");
|
||||
|
||||
reader = new FileContentReader(TempFileProvider.createTempFile(getName(), ".txt"));
|
||||
reader.setMimetype(A);
|
||||
writer = new FileContentWriter(TempFileProvider.createTempFile(getName(), ".txt"));
|
||||
@@ -79,17 +75,17 @@ public class ContentTransformerRegistryTest extends AbstractContentTransformerTe
|
||||
// create the dummyRegistry
|
||||
dummyRegistry = new ContentTransformerRegistry();
|
||||
// create some dummy transformers for reliability tests
|
||||
new DummyTransformer(mimetypeMap, dummyRegistry, A, B, 0.3, 10L);
|
||||
new DummyTransformer(mimetypeMap, dummyRegistry, A, B, 0.6, 10L);
|
||||
new DummyTransformer(mimetypeMap, dummyRegistry, A, C, 0.5, 10L);
|
||||
new DummyTransformer(mimetypeMap, dummyRegistry, A, C, 1.0, 10L);
|
||||
new DummyTransformer(mimetypeMap, dummyRegistry, B, C, 0.2, 10L);
|
||||
new DummyTransformer(mimetypeService, dummyRegistry, A, B, 0.3, 10L);
|
||||
new DummyTransformer(mimetypeService, dummyRegistry, A, B, 0.6, 10L);
|
||||
new DummyTransformer(mimetypeService, dummyRegistry, A, C, 0.5, 10L);
|
||||
new DummyTransformer(mimetypeService, dummyRegistry, A, C, 1.0, 10L);
|
||||
new DummyTransformer(mimetypeService, dummyRegistry, B, C, 0.2, 10L);
|
||||
// create some dummy transformers for speed tests
|
||||
new DummyTransformer(mimetypeMap, dummyRegistry, A, D, 1.0, 20L);
|
||||
new DummyTransformer(mimetypeMap, dummyRegistry, A, D, 1.0, 20L);
|
||||
new DummyTransformer(mimetypeMap, dummyRegistry, A, D, 1.0, 10L); // the fast one
|
||||
new DummyTransformer(mimetypeMap, dummyRegistry, A, D, 1.0, 20L);
|
||||
new DummyTransformer(mimetypeMap, dummyRegistry, A, D, 1.0, 20L);
|
||||
new DummyTransformer(mimetypeService, dummyRegistry, A, D, 1.0, 20L);
|
||||
new DummyTransformer(mimetypeService, dummyRegistry, A, D, 1.0, 20L);
|
||||
new DummyTransformer(mimetypeService, dummyRegistry, A, D, 1.0, 10L); // the fast one
|
||||
new DummyTransformer(mimetypeService, dummyRegistry, A, D, 1.0, 20L);
|
||||
new DummyTransformer(mimetypeService, dummyRegistry, A, D, 1.0, 20L);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -167,7 +163,7 @@ public class ContentTransformerRegistryTest extends AbstractContentTransformerTe
|
||||
public void testExplicitTransformation()
|
||||
{
|
||||
AbstractContentTransformer dummyTransformer = new DummyTransformer(
|
||||
mimetypeMap,
|
||||
mimetypeService,
|
||||
dummyRegistry,
|
||||
MimetypeMap.MIMETYPE_FLASH, MimetypeMap.MIMETYPE_EXCEL,
|
||||
1.0, 12345);
|
||||
|
@@ -36,8 +36,9 @@ public class HtmlParserContentTransformerTest extends AbstractContentTransformer
|
||||
private ContentTransformer transformer;
|
||||
|
||||
@Override
|
||||
public void onSetUpInTransaction() throws Exception
|
||||
public void setUp() throws Exception
|
||||
{
|
||||
super.setUp();
|
||||
transformer = new HtmlParserContentTransformer();
|
||||
}
|
||||
|
||||
|
@@ -46,12 +46,15 @@ public class OpenOfficeContentTransformerTest extends AbstractContentTransformer
|
||||
|
||||
private OpenOfficeContentTransformer transformer;
|
||||
|
||||
public void onSetUpInTransaction() throws Exception
|
||||
@Override
|
||||
public void setUp() throws Exception
|
||||
{
|
||||
OpenOfficeConnection connection = (OpenOfficeConnection) applicationContext.getBean("openOfficeConnection");
|
||||
super.setUp();
|
||||
|
||||
OpenOfficeConnection connection = (OpenOfficeConnection) ctx.getBean("openOfficeConnection");
|
||||
|
||||
transformer = new OpenOfficeContentTransformer();
|
||||
transformer.setMimetypeService(mimetypeMap);
|
||||
transformer.setMimetypeService(mimetypeService);
|
||||
transformer.setConnection(connection);
|
||||
transformer.setDocumentFormatsConfiguration("classpath:alfresco/mimetype/openoffice-document-formats.xml");
|
||||
transformer.register();
|
||||
@@ -68,7 +71,7 @@ public class OpenOfficeContentTransformerTest extends AbstractContentTransformer
|
||||
public void testSetUp() throws Exception
|
||||
{
|
||||
super.testSetUp();
|
||||
assertNotNull(mimetypeMap);
|
||||
assertNotNull(mimetypeService);
|
||||
}
|
||||
|
||||
public void testReliability() throws Exception
|
||||
|
@@ -25,8 +25,6 @@
|
||||
package org.alfresco.repo.content.transform;
|
||||
|
||||
import org.alfresco.repo.content.MimetypeMap;
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
|
||||
/**
|
||||
* @see org.alfresco.repo.content.transform.PdfBoxContentTransformer
|
||||
@@ -35,12 +33,13 @@ import org.apache.commons.logging.LogFactory;
|
||||
*/
|
||||
public class PdfBoxContentTransformerTest extends AbstractContentTransformerTest
|
||||
{
|
||||
private static final Log logger = LogFactory.getLog(PdfBoxContentTransformerTest.class);
|
||||
|
||||
private ContentTransformer transformer;
|
||||
|
||||
public void onSetUpInTransaction() throws Exception
|
||||
@Override
|
||||
public void setUp() throws Exception
|
||||
{
|
||||
super.setUp();
|
||||
|
||||
transformer = new PdfBoxContentTransformer();
|
||||
}
|
||||
|
||||
|
@@ -31,8 +31,6 @@ import org.alfresco.repo.content.MimetypeMap;
|
||||
import org.alfresco.repo.content.filestore.FileContentWriter;
|
||||
import org.alfresco.service.cmr.repository.ContentReader;
|
||||
import org.alfresco.util.TempFileProvider;
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
|
||||
/**
|
||||
* @see org.alfresco.repo.content.transform.PoiHssfContentTransformer
|
||||
@@ -41,12 +39,13 @@ import org.apache.commons.logging.LogFactory;
|
||||
*/
|
||||
public class PoiHssfContentTransformerTest extends AbstractContentTransformerTest
|
||||
{
|
||||
private static final Log logger = LogFactory.getLog(PoiHssfContentTransformerTest.class);
|
||||
|
||||
private ContentTransformer transformer;
|
||||
|
||||
public void onSetUpInTransaction() throws Exception
|
||||
@Override
|
||||
public void setUp() throws Exception
|
||||
{
|
||||
super.setUp();
|
||||
|
||||
transformer = new PoiHssfContentTransformer();
|
||||
}
|
||||
|
||||
|
@@ -66,8 +66,10 @@ public class StringExtractingContentTransformerTest extends AbstractContentTrans
|
||||
private ContentWriter targetWriter;
|
||||
|
||||
@Override
|
||||
public void onSetUpInTransaction() throws Exception
|
||||
public void setUp() throws Exception
|
||||
{
|
||||
super.setUp();
|
||||
|
||||
transformer = new StringExtractingContentTransformer();
|
||||
targetWriter = new FileContentWriter(getTempFile());
|
||||
targetWriter.setMimetype("text/plain");
|
||||
|
@@ -31,8 +31,6 @@ import org.alfresco.repo.content.MimetypeMap;
|
||||
import org.alfresco.repo.content.filestore.FileContentWriter;
|
||||
import org.alfresco.service.cmr.repository.ContentReader;
|
||||
import org.alfresco.util.TempFileProvider;
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
|
||||
/**
|
||||
* @see org.alfresco.repo.content.transform.TextMiningContentTransformer
|
||||
@@ -41,12 +39,13 @@ import org.apache.commons.logging.LogFactory;
|
||||
*/
|
||||
public class TextMiningContentTransformerTest extends AbstractContentTransformerTest
|
||||
{
|
||||
private static final Log logger = LogFactory.getLog(TextMiningContentTransformerTest.class);
|
||||
|
||||
private ContentTransformer transformer;
|
||||
|
||||
public void onSetUpInTransaction() throws Exception
|
||||
@Override
|
||||
public void setUp() throws Exception
|
||||
{
|
||||
super.setUp();
|
||||
|
||||
transformer = new TextMiningContentTransformer();
|
||||
}
|
||||
|
||||
|
@@ -40,14 +40,17 @@ public class ImageMagickContentTransformerTest extends AbstractContentTransforme
|
||||
{
|
||||
private ImageMagickContentTransformer transformer;
|
||||
|
||||
public void onSetUpInTransaction() throws Exception
|
||||
@Override
|
||||
public void setUp() throws Exception
|
||||
{
|
||||
super.setUp();
|
||||
|
||||
RuntimeExec executer = new RuntimeExec();
|
||||
executer.setCommand("imconvert.exe ${source} ${options} ${target}");
|
||||
executer.setDefaultProperties(Collections.singletonMap("options", ""));
|
||||
|
||||
transformer = new ImageMagickContentTransformer();
|
||||
transformer.setMimetypeService(mimetypeMap);
|
||||
transformer.setMimetypeService(mimetypeService);
|
||||
transformer.setExecuter(executer);
|
||||
transformer.init();
|
||||
}
|
||||
|
@@ -27,8 +27,6 @@ package org.alfresco.repo.content.transform.magick;
|
||||
import org.alfresco.repo.content.MimetypeMap;
|
||||
import org.alfresco.repo.content.transform.AbstractContentTransformerTest;
|
||||
import org.alfresco.repo.content.transform.ContentTransformer;
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
|
||||
/**
|
||||
* @see org.alfresco.repo.content.transform.magick.JMagickContentTransformer
|
||||
@@ -37,14 +35,15 @@ import org.apache.commons.logging.LogFactory;
|
||||
*/
|
||||
public class JMagickContentTransformerTest extends AbstractContentTransformerTest
|
||||
{
|
||||
private static final Log logger = LogFactory.getLog(JMagickContentTransformerTest.class);
|
||||
|
||||
private JMagickContentTransformer transformer;
|
||||
|
||||
public void onSetUpInTransaction() throws Exception
|
||||
|
||||
@Override
|
||||
public void setUp() throws Exception
|
||||
{
|
||||
super.setUp();
|
||||
|
||||
transformer = new JMagickContentTransformer();
|
||||
transformer.setMimetypeService(mimetypeMap);
|
||||
transformer.setMimetypeService(mimetypeService);
|
||||
transformer.init();
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user