Skip to content

Commit

Permalink
Cleaned tests, factored boilerplate into AbstractResourceTest
Browse files Browse the repository at this point in the history
  • Loading branch information
ajs6f committed Feb 7, 2013
1 parent 747715b commit cab8def
Show file tree
Hide file tree
Showing 6 changed files with 67 additions and 104 deletions.
6 changes: 2 additions & 4 deletions src/main/java/org/fcrepo/modeshape/utils/EventType.java
@@ -1,11 +1,9 @@
package org.fcrepo.modeshape.utils;

import javax.jcr.observation.Event;

public enum EventType {
NODE_ADDED, NODE_REMOVED, PROPERTY_ADDED, PROPERTY_REMOVED, PROPERTY_CHANGED, NODE_MOVED, PERSIST;

public static EventType getEventType(Integer i) {
public static EventType getEventType(final Integer i) {
switch (i) {
case 0x1:
return NODE_ADDED;
Expand All @@ -27,7 +25,7 @@ public static EventType getEventType(Integer i) {
}
}

public static String getEventName(int jcrEvent) {
public static String getEventName(final Integer jcrEvent) {

switch (getEventType(jcrEvent)) {
case NODE_ADDED:
Expand Down
45 changes: 45 additions & 0 deletions src/test/java/org/fcrepo/modeshape/AbstractResourceTest.java
@@ -0,0 +1,45 @@
package org.fcrepo.modeshape;

import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.methods.PostMethod;
import org.apache.commons.httpclient.methods.PutMethod;
import org.junit.Before;
import org.junit.runner.RunWith;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration({ "/spring-test/rest.xml", "/spring-test/repo.xml",
"/spring-test/indexer.xml" })
public abstract class AbstractResourceTest {

protected Logger logger;

protected static final int SERVER_PORT = 8080;
protected static final String HOSTNAME = "localhost";
protected static final String serverAddress = "http://" + HOSTNAME + ":"
+ SERVER_PORT + "/";

protected final HttpClient client = new HttpClient();

@Before
public void setLogger() {
logger = LoggerFactory.getLogger(this.getClass());
}

protected PostMethod postObjectMethod(final String pid) {
return new PostMethod(serverAddress + "rest/objects/" + pid);
}

protected PostMethod postDSMethod(final String pid, final String ds) {
return new PostMethod(serverAddress + "rest/objects/" + pid
+ "/datastreams/" + ds);
}

protected PutMethod putDSMethod(final String pid, final String ds) {
return new PutMethod(serverAddress + "rest/objects/" + pid
+ "/datastreams/" + ds);
}
}
60 changes: 17 additions & 43 deletions src/test/java/org/fcrepo/modeshape/FedoraDatastreamsTest.java
Expand Up @@ -5,36 +5,20 @@
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;

import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.methods.DeleteMethod;
import org.apache.commons.httpclient.methods.GetMethod;
import org.apache.commons.httpclient.methods.PostMethod;
import org.apache.commons.httpclient.methods.PutMethod;
import org.apache.commons.httpclient.methods.StringRequestEntity;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration({ "/spring-test/rest.xml", "/spring-test/repo.xml" })
public class FedoraDatastreamsTest {
public class FedoraDatastreamsTest extends AbstractResourceTest {

private static final String faulkner1 = "The past is never dead. It's not even past.";
private static final int SERVER_PORT = 8080;
private static final String HOSTNAME = "localhost";
private static final String serverAddress = "http://" + HOSTNAME + ":"
+ SERVER_PORT + "/";

final private Logger logger = LoggerFactory
.getLogger(FedoraDatastreamsTest.class);
final private HttpClient client = new HttpClient();

@Test
public void testGetDatastreams() throws Exception {
PostMethod pmethod = new PostMethod(serverAddress + "rest/objects/asdf");
PostMethod pmethod = postObjectMethod("asdf");
client.executeMethod(pmethod);

GetMethod method = new GetMethod(serverAddress
Expand All @@ -45,29 +29,25 @@ public void testGetDatastreams() throws Exception {

@Test
public void testAddDatastream() throws Exception {
PostMethod pmethod = new PostMethod(serverAddress + "rest/objects/asdf");
PostMethod pmethod = postObjectMethod("asdf");
client.executeMethod(pmethod);

PostMethod method = new PostMethod(serverAddress
+ "rest/objects/asdf/datastreams/zxc");
PostMethod method = postDSMethod("asdf", "zxc");
int status = client.executeMethod(method);
assertEquals(201, status);
}

@Test
public void testMutateDatastream() throws Exception {
PostMethod createObjectMethod = new PostMethod(serverAddress
+ "rest/objects/asdf2");
PostMethod createObjectMethod = postObjectMethod("asdf2");
Integer status = client.executeMethod(createObjectMethod);
assertEquals("Couldn't create an object!", (Integer) 201, status);

PostMethod createDataStreamMethod = new PostMethod(serverAddress
+ "rest/objects/asdf2/datastreams/vcxz");
PostMethod createDataStreamMethod = postDSMethod("asdf2", "vcxz");
status = client.executeMethod(createDataStreamMethod);
assertEquals("Couldn't create a datastream!", (Integer) 201, status);

PutMethod mutateDataStreamMethod = new PutMethod(serverAddress
+ "rest/objects/asdf2/datastreams/vcxz");
PutMethod mutateDataStreamMethod = putDSMethod("asdf2", "vcxz");
mutateDataStreamMethod.setRequestEntity(new StringRequestEntity(
faulkner1, "text/plain", "UTF-8"));
status = client.executeMethod(mutateDataStreamMethod);
Expand All @@ -85,16 +65,15 @@ public void testMutateDatastream() throws Exception {

@Test
public void testGetDatastream() throws Exception {
PostMethod pmethod = new PostMethod(serverAddress + "rest/objects/asdf");
PostMethod pmethod = postObjectMethod("asdf");
client.executeMethod(pmethod);

GetMethod method_test_get = new GetMethod(serverAddress
+ "rest/objects/asdf/datastreams/poiu");
int status = client.executeMethod(method_test_get);
assertEquals(404, status);

PostMethod method = new PostMethod(serverAddress
+ "rest/objects/asdf/datastreams/poiu");
PostMethod method = postDSMethod("asdf", "poiu");
status = client.executeMethod(method);
assertEquals(201, status);

Expand All @@ -106,11 +85,10 @@ public void testGetDatastream() throws Exception {

@Test
public void testDeleteDatastream() throws Exception {
PostMethod pmethod = new PostMethod(serverAddress + "rest/objects/asdf");
PostMethod pmethod = postObjectMethod("asdf");
client.executeMethod(pmethod);

PostMethod method = new PostMethod(serverAddress
+ "rest/objects/asdf/datastreams/lkjh");
PostMethod method = postDSMethod("asdf", "lkjh");
int status = client.executeMethod(method);
assertEquals(201, status);

Expand All @@ -132,13 +110,11 @@ public void testDeleteDatastream() throws Exception {

@Test
public void testGetDatastreamContent() throws Exception {
final PostMethod createObjMethod = new PostMethod(serverAddress
+ "rest/objects/testfoo");
final PostMethod createObjMethod = postObjectMethod("testfoo");
client.executeMethod(createObjMethod);
assertEquals(201, client.executeMethod(createObjMethod));

final PostMethod createDSMethod = new PostMethod(serverAddress
+ "rest/objects/testfoo/datastreams/testfoozle");
final PostMethod createDSMethod = postDSMethod("testfoo", "testfoozle");
createDSMethod.setRequestEntity(new StringRequestEntity(
"marbles for everyone", null, null));
assertEquals(201, client.executeMethod(createDSMethod));
Expand All @@ -151,18 +127,16 @@ public void testGetDatastreamContent() throws Exception {

@Test
public void testMultipleDatastreams() throws Exception {
final PostMethod createObjMethod = new PostMethod(serverAddress
+ "rest/objects/testfoo");
final PostMethod createObjMethod = postObjectMethod("testfoo");
client.executeMethod(createObjMethod);
assertEquals(201, client.executeMethod(createObjMethod));

final PostMethod createDS1Method = new PostMethod(serverAddress
+ "rest/objects/testfoo/datastreams/testfoozle");
final PostMethod createDS1Method = postDSMethod("testfoo", "testfoozle");
createDS1Method.setRequestEntity(new StringRequestEntity(
"marbles for everyone", null, null));
assertEquals(201, client.executeMethod(createDS1Method));
final PostMethod createDS2Method = new PostMethod(serverAddress
+ "rest/objects/testfoo/datastreams/testfoozle2");
final PostMethod createDS2Method = postDSMethod("testfoo",
"testfoozle2");
createDS2Method.setRequestEntity(new StringRequestEntity(
"marbles for no one", null, null));
assertEquals(201, client.executeMethod(createDS2Method));
Expand Down
20 changes: 1 addition & 19 deletions src/test/java/org/fcrepo/modeshape/FedoraIdentifiersTest.java
Expand Up @@ -9,29 +9,11 @@

import javax.servlet.http.HttpServletResponse;

import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpException;
import org.apache.commons.httpclient.methods.PostMethod;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration({ "/spring-test/rest.xml", "/spring-test/repo.xml" })
public class FedoraIdentifiersTest {

final private Logger logger = LoggerFactory
.getLogger(FedoraIdentifiersTest.class);

private static final int SERVER_PORT = 8080;
private static final String HOSTNAME = "localhost";
private static final String serverAddress = "http://" + HOSTNAME + ":"
+ SERVER_PORT + "/";

final private HttpClient client = new HttpClient();
public class FedoraIdentifiersTest extends AbstractResourceTest {

@Test
public void testGetNextPidResponds() throws Exception {
Expand Down
20 changes: 1 addition & 19 deletions src/test/java/org/fcrepo/modeshape/FedoraObjectsTest.java
Expand Up @@ -4,30 +4,12 @@
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;

import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.methods.DeleteMethod;
import org.apache.commons.httpclient.methods.GetMethod;
import org.apache.commons.httpclient.methods.PostMethod;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration({ "/spring-test/rest.xml", "/spring-test/repo.xml" })
public class FedoraObjectsTest {

private static final int SERVER_PORT = 8080;
private static final String HOSTNAME = "localhost";
private static final String serverAddress = "http://" + HOSTNAME + ":"
+ SERVER_PORT + "/";

final private Logger logger = LoggerFactory
.getLogger(FedoraObjectsTest.class);

final private HttpClient client = new HttpClient();
public class FedoraObjectsTest extends AbstractResourceTest {

@Test
public void testIngest() throws Exception {
Expand Down
20 changes: 1 addition & 19 deletions src/test/java/org/fcrepo/modeshape/FedoraRepositoryTest.java
Expand Up @@ -5,28 +5,10 @@
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;

import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.methods.GetMethod;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration({ "/spring-test/rest.xml", "/spring-test/repo.xml" })
public class FedoraRepositoryTest {

private static final int SERVER_PORT = 8080;
private static final String HOSTNAME = "localhost";
private static final String serverAddress = "http://" + HOSTNAME + ":"
+ SERVER_PORT + "/";

final private Logger logger = LoggerFactory
.getLogger(FedoraRepositoryTest.class);

final private HttpClient client = new HttpClient();
public class FedoraRepositoryTest extends AbstractResourceTest {

@Test
public void testDescribeModeshape() throws Exception {
Expand Down

0 comments on commit cab8def

Please sign in to comment.