mirror of
https://github.com/DSpace/DSpace.git
synced 2025-10-18 15:33:09 +00:00
111 lines
3.3 KiB
Java
111 lines
3.3 KiB
Java
/**
|
|
* The contents of this file are subject to the license and copyright
|
|
* detailed in the LICENSE and NOTICE files at the root of the source
|
|
* tree and available online at
|
|
*
|
|
* http://www.dspace.org/license/
|
|
*/
|
|
package org.dspace.content;
|
|
|
|
import static org.junit.Assert.assertEquals;
|
|
import static org.junit.Assert.assertTrue;
|
|
import static org.junit.Assert.fail;
|
|
|
|
import java.io.File;
|
|
import java.io.FileInputStream;
|
|
import java.io.IOException;
|
|
import java.sql.SQLException;
|
|
|
|
import org.apache.logging.log4j.Logger;
|
|
import org.dspace.AbstractUnitTest;
|
|
import org.dspace.content.factory.ContentServiceFactory;
|
|
import org.dspace.content.service.BitstreamService;
|
|
import org.junit.After;
|
|
import org.junit.Before;
|
|
import org.junit.Test;
|
|
|
|
/**
|
|
* Unit Test for class Thumbnail. The class is a bean (just getters and setters)
|
|
* so no specific tests are created.
|
|
*
|
|
* @author pvillega
|
|
*/
|
|
public class ThumbnailTest extends AbstractUnitTest {
|
|
|
|
/**
|
|
* log4j category
|
|
*/
|
|
private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(ThumbnailTest.class);
|
|
|
|
protected BitstreamService bitstreamService = ContentServiceFactory.getInstance().getBitstreamService();
|
|
|
|
/**
|
|
* Bitstream instance for the tests, thumbnail copy
|
|
*/
|
|
private Bitstream thumb;
|
|
|
|
/**
|
|
* Bitstream instance for the tests, original copy
|
|
*/
|
|
private Bitstream orig;
|
|
|
|
/**
|
|
* This method will be run before every test as per @Before. It will
|
|
* initialize resources required for the tests.
|
|
*
|
|
* Other methods can be annotated with @Before here or in subclasses
|
|
* but no execution order is guaranteed
|
|
*/
|
|
@Before
|
|
@Override
|
|
public void init() {
|
|
super.init();
|
|
try {
|
|
//we have to create a new bitstream in the database
|
|
File f = new File(testProps.get("test.bitstream").toString());
|
|
thumb = bitstreamService.create(context, new FileInputStream(f));
|
|
orig = bitstreamService.create(context, new FileInputStream(f));
|
|
Thumbnail t = new Thumbnail(thumb, orig);
|
|
assertEquals(orig, t.getOriginal());
|
|
assertEquals(thumb, t.getThumb());
|
|
} catch (IOException ex) {
|
|
log.error("IO Error in init", ex);
|
|
fail("SQL Error in init: " + ex.getMessage());
|
|
} catch (SQLException ex) {
|
|
log.error("SQL Error in init", ex);
|
|
fail("SQL Error in init: " + ex.getMessage());
|
|
}
|
|
}
|
|
|
|
/**
|
|
* This method will be run after every test as per @After. It will
|
|
* clean resources initialized by the @Before methods.
|
|
*
|
|
* Other methods can be annotated with @After here or in subclasses
|
|
* but no execution order is guaranteed
|
|
*/
|
|
@After
|
|
@Override
|
|
public void destroy() {
|
|
try {
|
|
context.turnOffAuthorisationSystem();
|
|
bitstreamService.delete(context, thumb);
|
|
bitstreamService.delete(context, orig);
|
|
context.restoreAuthSystemState();
|
|
thumb = null;
|
|
orig = null;
|
|
} catch (Exception e) {
|
|
throw new AssertionError("Error in destroy()", e);
|
|
}
|
|
super.destroy();
|
|
}
|
|
|
|
/**
|
|
* Dummy test to avoid initialization errors
|
|
*/
|
|
@Test
|
|
public void testDummy() {
|
|
assertTrue(true);
|
|
}
|
|
}
|