Skip to content

Commit

Permalink
unit test FedoraExport
Browse files Browse the repository at this point in the history
  • Loading branch information
cbeer committed Jun 14, 2013
1 parent 2caa388 commit d46070b
Showing 1 changed file with 65 additions and 0 deletions.
65 changes: 65 additions & 0 deletions fcrepo-http-api/src/test/java/org/fcrepo/api/FedoraExportTest.java
@@ -0,0 +1,65 @@
package org.fcrepo.api;

import org.fcrepo.FedoraObject;
import org.fcrepo.serialization.FedoraObjectSerializer;
import org.fcrepo.serialization.SerializerUtil;
import org.fcrepo.services.ObjectService;
import org.fcrepo.test.util.TestHelpers;
import org.junit.Before;
import org.junit.Test;

import javax.jcr.RepositoryException;
import javax.jcr.Session;
import javax.ws.rs.core.StreamingOutput;
import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import java.io.OutputStream;

import static org.fcrepo.test.util.PathSegmentImpl.createPathList;
import static org.fcrepo.test.util.TestHelpers.mockSession;
import static org.mockito.Matchers.any;
import static org.mockito.Matchers.eq;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;

public class FedoraExportTest {

FedoraExport testObj;

Session mockSession;

SerializerUtil mockSerializers;

FedoraObjectSerializer mockSerializer;
ObjectService mockObjects;

@Before
public void setUp() throws RepositoryException {

testObj = new FedoraExport();

mockSession = mockSession(testObj);
mockSerializers = mock(SerializerUtil.class);
mockSerializer = mock(FedoraObjectSerializer.class);
when(mockSerializers.getSerializer("fake-format")).thenReturn(
mockSerializer);
mockObjects = mock(ObjectService.class);
testObj.setSerializers(mockSerializers);
testObj.setObjectService(mockObjects);
testObj.setSession(mockSession);
testObj.setUriInfo(TestHelpers.getUriInfoImpl());
}

@Test
public void testExportObject() throws Exception {
FedoraObject mockObject = mock(FedoraObject.class);
when(mockObjects.getObject(mockSession, "/test/object")).thenReturn(mockObject);

((StreamingOutput)testObj.exportObject(createPathList("test", "object"), "fake-format").getEntity()).write(new ByteArrayOutputStream());
verify(mockSerializer).serialize(eq(mockObject), any(OutputStream.class));

}


}

0 comments on commit d46070b

Please sign in to comment.