mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-08-21 18:09:20 +00:00
Merged FILE-FOLDER-API (5.2.0) to HEAD (5.2)
122418 gjames: RA-827 Supporting custom status codes git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@126473 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -41,7 +41,7 @@ public class ExecutionTests extends AbstractContextTest
|
||||
AbstractResourceWebScript executor = (AbstractResourceWebScript) applicationContext.getBean("executorOfGets");
|
||||
executor.execute(entityResource, Params.valueOf((String)null, null), new ActionExecutor.ExecutionCallback<CollectionWithPagingInfo>(){
|
||||
@Override
|
||||
public void onSuccess(CollectionWithPagingInfo result, ContentInfo contentInfo)
|
||||
public void onSuccess(CollectionWithPagingInfo result, ContentInfo contentInfo, int statusCode)
|
||||
{
|
||||
assertNotNull(result);
|
||||
}});
|
||||
@@ -50,14 +50,14 @@ public class ExecutionTests extends AbstractContextTest
|
||||
executor = (AbstractResourceWebScript) applicationContext.getBean("executorOfGets");
|
||||
executor.execute(baa, Params.valueOf("4", null), new ActionExecutor.ExecutionCallback<CollectionWithPagingInfo>(){
|
||||
@Override
|
||||
public void onSuccess(CollectionWithPagingInfo result, ContentInfo contentInfo)
|
||||
public void onSuccess(CollectionWithPagingInfo result, ContentInfo contentInfo, int statusCode )
|
||||
{
|
||||
assertNotNull(result);
|
||||
}});
|
||||
|
||||
executor.execute(baa, Params.valueOf("4", "45"), new ActionExecutor.ExecutionCallback<ExecutionResult>(){
|
||||
@Override
|
||||
public void onSuccess(ExecutionResult result, ContentInfo contentInfo)
|
||||
public void onSuccess(ExecutionResult result, ContentInfo contentInfo, int statusCode )
|
||||
{
|
||||
assertNotNull(result);
|
||||
}});
|
||||
@@ -65,7 +65,7 @@ public class ExecutionTests extends AbstractContextTest
|
||||
ResourceWithMetadata baaPhoto = locator.locateRelationResource(api,"sheep/{entityId}/baaahh", "photo", HttpMethod.GET);
|
||||
executor.execute(baaPhoto, Params.valueOf("4", "45"), new ActionExecutor.ExecutionCallback<CollectionWithPagingInfo>(){
|
||||
@Override
|
||||
public void onSuccess(CollectionWithPagingInfo result, ContentInfo contentInfo)
|
||||
public void onSuccess(CollectionWithPagingInfo result, ContentInfo contentInfo, int statusCode )
|
||||
{
|
||||
assertNull(result);
|
||||
}});
|
||||
@@ -81,7 +81,7 @@ public class ExecutionTests extends AbstractContextTest
|
||||
final Sheep aSheep = new Sheep("xyz");
|
||||
executor.execute(resource, Params.valueOf("654", null, NULL_PARAMS, Arrays.asList(aSheep)), new ActionExecutor.ExecutionCallback<ExecutionResult>(){
|
||||
@Override
|
||||
public void onSuccess(ExecutionResult result, ContentInfo contentInfo)
|
||||
public void onSuccess(ExecutionResult result, ContentInfo contentInfo, int statusCode )
|
||||
{
|
||||
assertNotNull(result);
|
||||
assertEquals(aSheep,result.getRoot());
|
||||
@@ -91,7 +91,7 @@ public class ExecutionTests extends AbstractContextTest
|
||||
final Grass grr = new Grass("grr");
|
||||
executor.execute(grassResource, Params.valueOf("654", null, NULL_PARAMS, Arrays.asList(grr)), new ActionExecutor.ExecutionCallback<ExecutionResult>(){
|
||||
@Override
|
||||
public void onSuccess(ExecutionResult result, ContentInfo contentInfo)
|
||||
public void onSuccess(ExecutionResult result, ContentInfo contentInfo, int statusCode )
|
||||
{
|
||||
assertEquals(grr,result.getRoot());
|
||||
}});
|
||||
@@ -99,7 +99,7 @@ public class ExecutionTests extends AbstractContextTest
|
||||
ResourceWithMetadata entityResource = locator.locateRelationResource(api,"grass", "grow", HttpMethod.POST);
|
||||
executor.execute(entityResource, Params.valueOf("654", null, NULL_PARAMS, grr), new ActionExecutor.ExecutionCallback<String>(){
|
||||
@Override
|
||||
public void onSuccess(String result, ContentInfo contentInfo)
|
||||
public void onSuccess(String result, ContentInfo contentInfo, int statusCode )
|
||||
{
|
||||
assertEquals("Growing well",result);
|
||||
}});
|
||||
@@ -113,14 +113,14 @@ public class ExecutionTests extends AbstractContextTest
|
||||
AbstractResourceWebScript executor = (AbstractResourceWebScript) applicationContext.getBean("executorOfDelete");
|
||||
executor.execute(grassResource, Params.valueOf("4", null), new ActionExecutor.ExecutionCallback<Object>(){
|
||||
@Override
|
||||
public void onSuccess(Object result, ContentInfo contentInfo)
|
||||
public void onSuccess(Object result, ContentInfo contentInfo, int statusCode )
|
||||
{
|
||||
assertNull(result);
|
||||
}});
|
||||
ResourceWithMetadata resource = locator.locateRelationResource(api, "sheep", "blacksheep", HttpMethod.DELETE);
|
||||
executor.execute(resource, Params.valueOf("4", null), new ActionExecutor.ExecutionCallback<Object>(){
|
||||
@Override
|
||||
public void onSuccess(Object result, ContentInfo contentInfo)
|
||||
public void onSuccess(Object result, ContentInfo contentInfo, int statusCode )
|
||||
{
|
||||
assertNull(result);
|
||||
}});
|
||||
@@ -128,7 +128,7 @@ public class ExecutionTests extends AbstractContextTest
|
||||
ResourceWithMetadata goatDelete = locator.locateRelationResource(api3,"goat/{entityId}/herd", "content", HttpMethod.DELETE);
|
||||
executor.execute(goatDelete, Params.valueOf("4", "56"), new ActionExecutor.ExecutionCallback<Object>(){
|
||||
@Override
|
||||
public void onSuccess(Object result, ContentInfo contentInfo)
|
||||
public void onSuccess(Object result, ContentInfo contentInfo, int statusCode )
|
||||
{
|
||||
assertNull(result);
|
||||
}});
|
||||
@@ -143,7 +143,7 @@ public class ExecutionTests extends AbstractContextTest
|
||||
final Sheep aSheep = new Sheep("xyz");
|
||||
executor.execute(entityResource, Params.valueOf("654", null, NULL_PARAMS, aSheep), new ActionExecutor.ExecutionCallback<ExecutionResult>(){
|
||||
@Override
|
||||
public void onSuccess(ExecutionResult result, ContentInfo contentInfo)
|
||||
public void onSuccess(ExecutionResult result, ContentInfo contentInfo, int statusCode )
|
||||
{
|
||||
assertNotNull(result);
|
||||
assertEquals(aSheep,result.getRoot());
|
||||
@@ -152,7 +152,7 @@ public class ExecutionTests extends AbstractContextTest
|
||||
ResourceWithMetadata resource = locator.locateRelationResource(api, "sheep", "blacksheep", HttpMethod.PUT);
|
||||
executor.execute(resource, Params.valueOf("654", null, NULL_PARAMS, aSheep), new ActionExecutor.ExecutionCallback<ExecutionResult>(){
|
||||
@Override
|
||||
public void onSuccess(ExecutionResult result, ContentInfo contentInfo)
|
||||
public void onSuccess(ExecutionResult result, ContentInfo contentInfo, int statusCode )
|
||||
{
|
||||
assertNotNull(result);
|
||||
assertEquals(aSheep,result.getRoot());
|
||||
@@ -160,7 +160,7 @@ public class ExecutionTests extends AbstractContextTest
|
||||
ResourceWithMetadata baaPhoto = locator.locateRelationResource(api,"sheep/{entityId}/baaahh", "photo", HttpMethod.PUT);
|
||||
executor.execute(baaPhoto, Params.valueOf("4", "56"), new ActionExecutor.ExecutionCallback<Object>(){
|
||||
@Override
|
||||
public void onSuccess(Object result, ContentInfo contentInfo)
|
||||
public void onSuccess(Object result, ContentInfo contentInfo, int statusCode )
|
||||
{
|
||||
assertNull(result);
|
||||
}});
|
||||
|
@@ -52,6 +52,7 @@ import org.alfresco.rest.framework.tests.api.mocks3.SheepEntityResourceWithDelet
|
||||
import org.alfresco.rest.framework.tests.api.mocks3.SlimGoat;
|
||||
import org.alfresco.util.Pair;
|
||||
import org.junit.Test;
|
||||
import org.springframework.extensions.webscripts.Status;
|
||||
import org.springframework.http.HttpMethod;
|
||||
|
||||
/**
|
||||
@@ -69,11 +70,12 @@ public class InspectorTests
|
||||
assertTrue("Must be one ResourceMetadata",metainfo.size()==1);
|
||||
ResourceMetadata metaData = metainfo.get(0);
|
||||
assertNotNull(metaData);
|
||||
assertTrue("SheepEntityResource supports GET", metaData.supports(HttpMethod.GET));
|
||||
assertTrue("SheepEntityResource supports PUT", metaData.supports(HttpMethod.PUT));
|
||||
assertTrue("SheepEntityResource supports DELETE", metaData.supports(HttpMethod.DELETE));
|
||||
assertTrue("SheepEntityResource does not support POST", !metaData.supports(HttpMethod.POST));
|
||||
assertTrue("SheepEntityResource must support Sheep", Sheep.class.equals(metaData.getObjectType(HttpMethod.PUT)));
|
||||
assertNotNull("SheepEntityResource supports GET", metaData.getOperation(HttpMethod.GET));
|
||||
assertNotNull("SheepEntityResource supports PUT", metaData.getOperation(HttpMethod.PUT));
|
||||
assertNotNull("SheepEntityResource supports DELETE", metaData.getOperation(HttpMethod.DELETE));
|
||||
assertNull("SheepEntityResource does not support POST", metaData.getOperation(HttpMethod.POST));
|
||||
ResourceOperation op = metaData.getOperation(HttpMethod.PUT);
|
||||
assertTrue("SheepEntityResource must support Sheep", Sheep.class.equals(metaData.getObjectType(op)));
|
||||
|
||||
metainfo = ResourceInspector.inspect(SheepNoActionEntityResource.class);
|
||||
assertTrue("SheepNoActionEntityResource has no actions.",metainfo.isEmpty());
|
||||
@@ -82,28 +84,30 @@ public class InspectorTests
|
||||
assertTrue("Must be one ResourceMetadata",metainfo.size()==1);
|
||||
metaData = metainfo.get(0);
|
||||
assertNotNull(metaData);
|
||||
assertTrue("GoatEntityResource supports GET", metaData.supports(HttpMethod.GET));
|
||||
List<ResourceParameter> params = metaData.getParameters(HttpMethod.GET);
|
||||
assertNotNull("GoatEntityResource supports GET", metaData.getOperation(HttpMethod.GET));
|
||||
op = metaData.getOperation(HttpMethod.GET);
|
||||
List<ResourceParameter> params = op.getParameters();
|
||||
assertTrue("readById method should have 1 url param", params.size() == 1);
|
||||
|
||||
metainfo = ResourceInspector.inspect(FlockEntityResource.class);
|
||||
assertTrue("Must be one ResourceMetadata",metainfo.size()==1);
|
||||
metaData = metainfo.get(0);
|
||||
assertNotNull(metaData);
|
||||
assertTrue("FlockEntityResource supports GET", metaData.supports(HttpMethod.GET));
|
||||
assertTrue("FlockEntityResource supports PUT", metaData.supports(HttpMethod.PUT));
|
||||
assertTrue("FlockEntityResource supports DELETE", metaData.supports(HttpMethod.DELETE));
|
||||
assertTrue("FlockEntityResource does not support POST", !metaData.supports(HttpMethod.POST));
|
||||
assertNotNull("FlockEntityResource supports GET", metaData.getOperation(HttpMethod.GET));
|
||||
assertNotNull("FlockEntityResource supports PUT", metaData.getOperation(HttpMethod.PUT));
|
||||
assertNotNull("FlockEntityResource supports DELETE", metaData.getOperation(HttpMethod.DELETE));
|
||||
assertNull("FlockEntityResource does not support POST", metaData.getOperation(HttpMethod.POST));
|
||||
|
||||
metainfo = ResourceInspector.inspect(MultiPartTestEntityResource.class);
|
||||
assertTrue("Must be one ResourceMetadata",metainfo.size()==1);
|
||||
metaData = metainfo.get(0);
|
||||
assertNotNull(metaData);
|
||||
assertTrue("MultiPartTestEntityResource support POST", metaData.supports(HttpMethod.POST));
|
||||
assertFalse("MultiPartTestEntityResource does not supports GET", metaData.supports(HttpMethod.GET));
|
||||
assertFalse("MultiPartTestEntityResource does not supports PUT", metaData.supports(HttpMethod.PUT));
|
||||
assertFalse("MultiPartTestEntityResource does not supports DELETE", metaData.supports(HttpMethod.DELETE));
|
||||
assertTrue("MultiPartTestEntityResource must support MultiPartTestResponse", MultiPartTestResponse.class.equals(metaData.getObjectType(HttpMethod.POST)));
|
||||
assertNotNull("MultiPartTestEntityResource support POST", metaData.getOperation(HttpMethod.POST));
|
||||
assertNull("MultiPartTestEntityResource does not supports GET", metaData.getOperation(HttpMethod.GET));
|
||||
assertNull("MultiPartTestEntityResource does not supports PUT", metaData.getOperation(HttpMethod.PUT));
|
||||
assertNull("MultiPartTestEntityResource does not supports DELETE", metaData.getOperation(HttpMethod.DELETE));
|
||||
op = metaData.getOperation(HttpMethod.POST);
|
||||
assertTrue("MultiPartTestEntityResource must support MultiPartTestResponse", MultiPartTestResponse.class.equals(metaData.getObjectType(op)));
|
||||
|
||||
}
|
||||
|
||||
@@ -114,15 +118,18 @@ public class InspectorTests
|
||||
assertTrue("Must be one ResourceMetadata",metainfo.size()==1);
|
||||
ResourceMetadata metaData = metainfo.get(0);
|
||||
assertNotNull(metaData);
|
||||
assertTrue("SheepBlackSheepResource supports GET", metaData.supports(HttpMethod.GET));
|
||||
List<ResourceParameter> params = metaData.getParameters(HttpMethod.GET);
|
||||
assertNotNull("SheepBlackSheepResource supports GET", metaData.getOperation(HttpMethod.GET));
|
||||
ResourceOperation op = metaData.getOperation(HttpMethod.GET);
|
||||
List<ResourceParameter> params = op.getParameters();
|
||||
assertTrue("readAll method should have 1 url param and 3 query params", params.size() == 4);
|
||||
assertTrue("SheepBlackSheepResource supports PUT", metaData.supports(HttpMethod.PUT));
|
||||
params = metaData.getParameters(HttpMethod.PUT);
|
||||
assertNotNull("SheepBlackSheepResource supports PUT", metaData.getOperation(HttpMethod.PUT));
|
||||
op = metaData.getOperation(HttpMethod.PUT);
|
||||
params = op.getParameters();
|
||||
assertTrue("update method should have 2 url params and 1 HTTP_OBJECT param ", params.size() == 3);
|
||||
assertTrue("SheepBlackSheepResource supports POST", metaData.supports(HttpMethod.POST));
|
||||
assertTrue("SheepBlackSheepResource must support Sheep", Sheep.class.equals(metaData.getObjectType(HttpMethod.POST)));
|
||||
params = metaData.getParameters(HttpMethod.POST);
|
||||
assertNotNull("SheepBlackSheepResource supports POST", metaData.getOperation(HttpMethod.POST));
|
||||
op = metaData.getOperation(HttpMethod.POST);
|
||||
params = op.getParameters();
|
||||
assertTrue("SheepBlackSheepResource must support Sheep", Sheep.class.equals(metaData.getObjectType(op)));
|
||||
assertTrue("create method should have 1 url param and 1 HTTP_OBJECT param ", params.size() == 2);
|
||||
assertNotNull(params);
|
||||
for (ResourceParameter resourceParameter : params)
|
||||
@@ -132,19 +139,21 @@ public class InspectorTests
|
||||
assertFalse(resourceParameter.isAllowMultiple()); //set to not allow multiple
|
||||
}
|
||||
}
|
||||
assertTrue("SheepBlackSheepResource supports DELETE", metaData.supports(HttpMethod.DELETE));
|
||||
params = metaData.getParameters(HttpMethod.DELETE);
|
||||
assertNotNull("SheepBlackSheepResource supports DELETE", metaData.getOperation(HttpMethod.DELETE));
|
||||
op = metaData.getOperation(HttpMethod.DELETE);
|
||||
params = op.getParameters();
|
||||
assertTrue("DELETE method on a relations should have 2 url params.", params.size() == 2);
|
||||
|
||||
metainfo = ResourceInspector.inspect(MultiPartTestRelationshipResource.class);
|
||||
assertTrue("Must be one ResourceMetadata",metainfo.size()==1);
|
||||
metaData = metainfo.get(0);
|
||||
assertNotNull(metaData);
|
||||
assertTrue("MultiPartTestRelationshipResource support POST", metaData.supports(HttpMethod.POST));
|
||||
assertFalse("MultiPartTestRelationshipResource does not supports GET", metaData.supports(HttpMethod.GET));
|
||||
assertFalse("MultiPartTestRelationshipResource does not supports PUT", metaData.supports(HttpMethod.PUT));
|
||||
assertFalse("MultiPartTestRelationshipResource does not supports DELETE", metaData.supports(HttpMethod.DELETE));
|
||||
assertTrue("MultiPartTestRelationshipResource must support MultiPartTestResponse", MultiPartTestResponse.class.equals(metaData.getObjectType(HttpMethod.POST)));
|
||||
assertNotNull("MultiPartTestRelationshipResource support POST", metaData.getOperation(HttpMethod.POST));
|
||||
assertNull("MultiPartTestRelationshipResource does not supports GET", metaData.getOperation(HttpMethod.GET));
|
||||
assertNull("MultiPartTestRelationshipResource does not supports PUT", metaData.getOperation(HttpMethod.PUT));
|
||||
assertNull("MultiPartTestRelationshipResource does not supports DELETE", metaData.getOperation(HttpMethod.DELETE));
|
||||
op = metaData.getOperation(HttpMethod.POST);
|
||||
assertTrue("MultiPartTestRelationshipResource must support MultiPartTestResponse", MultiPartTestResponse.class.equals(metaData.getObjectType(op)));
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -171,7 +180,8 @@ public class InspectorTests
|
||||
assertTrue("Must be one ResourceMetadata",metainfo.size()==1);
|
||||
ResourceMetadata metaData = metainfo.get(0);
|
||||
assertNotNull(metaData);
|
||||
assertTrue("NodeCommentsRelation must support Comment", Comment.class.equals(metaData.getObjectType(HttpMethod.POST)));
|
||||
ResourceOperation op = metaData.getOperation(HttpMethod.POST);
|
||||
assertTrue("NodeCommentsRelation must support Comment", Comment.class.equals(metaData.getObjectType(op)));
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -425,17 +435,19 @@ public class InspectorTests
|
||||
switch (resourceMetadata.getUniqueId())
|
||||
{
|
||||
case "/-root-/{id}/grow":
|
||||
assertTrue("GrassEntityResource supports POST", resourceMetadata.supports(HttpMethod.POST));
|
||||
assertFalse("GrassEntityResource does not support DELETE", resourceMetadata.supports(HttpMethod.DELETE));
|
||||
Class paramType = resourceMetadata.getObjectType(HttpMethod.POST);
|
||||
assertNotNull("GrassEntityResource supports POST", resourceMetadata.getOperation(HttpMethod.POST));
|
||||
assertNull("GrassEntityResource does not support DELETE", resourceMetadata.getOperation(HttpMethod.DELETE));
|
||||
ResourceOperation op = resourceMetadata.getOperation(HttpMethod.POST);
|
||||
Class paramType = resourceMetadata.getObjectType(op);
|
||||
Object paramObj = paramType.newInstance();
|
||||
result = (String) ResourceInspectorUtil.invokeMethod(actionMethod,grassEntityResource, "xyz", paramObj, Params.valueOf("notUsed", null));
|
||||
assertEquals("Growing well",result);
|
||||
break;
|
||||
case "/-root-/{id}/cut":
|
||||
assertTrue("GrassEntityResource supports POST", resourceMetadata.supports(HttpMethod.POST));
|
||||
assertFalse("GrassEntityResource does not support GET", resourceMetadata.supports(HttpMethod.GET));
|
||||
assertNull(resourceMetadata.getObjectType(HttpMethod.POST));
|
||||
assertNotNull("GrassEntityResource supports POST", resourceMetadata.getOperation(HttpMethod.POST));
|
||||
assertNull("GrassEntityResource does not support GET", resourceMetadata.getOperation(HttpMethod.GET));
|
||||
op = resourceMetadata.getOperation(HttpMethod.POST);
|
||||
assertNull(resourceMetadata.getObjectType(op));
|
||||
result = (String) ResourceInspectorUtil.invokeMethod(actionMethod,grassEntityResource, "xyz", null, Params.valueOf("notUsed", null));
|
||||
assertEquals("All done",result);
|
||||
break;
|
||||
@@ -458,10 +470,10 @@ public class InspectorTests
|
||||
switch (resourceMetadata.getUniqueId())
|
||||
{
|
||||
case "/goat/{entityId}/herd":
|
||||
assertTrue("GoatRelationshipResource supports GET", resourceMetadata.supports(HttpMethod.GET));
|
||||
assertNotNull("GoatRelationshipResource supports GET", resourceMetadata.getOperation(HttpMethod.GET));
|
||||
break;
|
||||
case "/goat/{entityId}/herd/{id}/content":
|
||||
assertTrue("GoatRelationshipResource supports GET", resourceMetadata.supports(HttpMethod.GET));
|
||||
assertNotNull("GoatRelationshipResource supports GET", resourceMetadata.getOperation(HttpMethod.GET));
|
||||
break;
|
||||
default:
|
||||
fail("Invalid information.");
|
||||
@@ -480,9 +492,9 @@ public class InspectorTests
|
||||
ResourceMetadata metaData = metainfo.get(0);
|
||||
assertEquals("/myroot/{id}/photo",metaData.getUniqueId());
|
||||
assertTrue(metaData.getOperations().size()==3);
|
||||
assertTrue("FlockEntityResource supports GET", metaData.supports(HttpMethod.GET));
|
||||
assertTrue("FlockEntityResource supports PUT", metaData.supports(HttpMethod.PUT));
|
||||
assertTrue("FlockEntityResource supports DELETE", metaData.supports(HttpMethod.DELETE));
|
||||
assertNotNull("FlockEntityResource supports GET", metaData.getOperation(HttpMethod.GET));
|
||||
assertNotNull("FlockEntityResource supports PUT", metaData.getOperation(HttpMethod.PUT));
|
||||
assertNotNull("FlockEntityResource supports DELETE", metaData.getOperation(HttpMethod.DELETE));
|
||||
|
||||
metainfo.clear();
|
||||
ResourceInspector.inspectAddressedProperties(api, FlocketEntityResource.class, "myroot", metainfo);
|
||||
@@ -493,19 +505,19 @@ public class InspectorTests
|
||||
// switch (resourceMetadata.getUniqueId())
|
||||
// {
|
||||
// case "/myroot/photo":
|
||||
// assertTrue("FlocketEntityResource supports GET", resourceMetadata.supports(HttpMethod.GET));
|
||||
// assertTrue("FlocketEntityResource supports PUT", resourceMetadata.supports(HttpMethod.PUT));
|
||||
// assertTrue("FlocketEntityResource supports DELETE", resourceMetadata.supports(HttpMethod.DELETE));
|
||||
// assertTrue("FlocketEntityResource supports GET", resourcemetaData.getOperation(HttpMethod.GET));
|
||||
// assertTrue("FlocketEntityResource supports PUT", resourcemetaData.getOperation(HttpMethod.PUT));
|
||||
// assertTrue("FlocketEntityResource supports DELETE", resourcemetaData.getOperation(HttpMethod.DELETE));
|
||||
// break;
|
||||
// case "/myroot/album":
|
||||
// assertTrue("FlocketEntityResource supports GET", resourceMetadata.supports(HttpMethod.GET));
|
||||
// assertTrue("FlocketEntityResource supports PUT", resourceMetadata.supports(HttpMethod.PUT));
|
||||
// assertTrue("FlocketEntityResource does not support DELETE", !resourceMetadata.supports(HttpMethod.DELETE));
|
||||
// assertTrue("FlocketEntityResource supports GET", resourcemetaData.getOperation(HttpMethod.GET));
|
||||
// assertTrue("FlocketEntityResource supports PUT", resourcemetaData.getOperation(HttpMethod.PUT));
|
||||
// assertTrue("FlocketEntityResource does not support DELETE", !resourcemetaData.getOperation(HttpMethod.DELETE));
|
||||
// break;
|
||||
// case "/myroot/madeUpProp":
|
||||
// assertTrue("FlocketEntityResource supports GET", resourceMetadata.supports(HttpMethod.GET));
|
||||
// assertTrue("FlocketEntityResource does not supports PUT", !resourceMetadata.supports(HttpMethod.PUT));
|
||||
// assertTrue("FlocketEntityResource does not support DELETE", !resourceMetadata.supports(HttpMethod.DELETE));
|
||||
// assertTrue("FlocketEntityResource supports GET", resourcemetaData.getOperation(HttpMethod.GET));
|
||||
// assertTrue("FlocketEntityResource does not supports PUT", !resourcemetaData.getOperation(HttpMethod.PUT));
|
||||
// assertTrue("FlocketEntityResource does not support DELETE", !resourcemetaData.getOperation(HttpMethod.DELETE));
|
||||
// break;
|
||||
// default:
|
||||
// fail("Invalid address property information.");
|
||||
@@ -513,25 +525,25 @@ public class InspectorTests
|
||||
|
||||
if ("/myroot/{id}/photo".equals(resourceMetadata.getUniqueId()))
|
||||
{
|
||||
assertTrue("FlocketEntityResource supports GET", resourceMetadata.supports(HttpMethod.GET));
|
||||
assertTrue("FlocketEntityResource supports PUT", resourceMetadata.supports(HttpMethod.PUT));
|
||||
assertTrue("FlocketEntityResource supports DELETE", resourceMetadata.supports(HttpMethod.DELETE));
|
||||
assertNotNull("FlocketEntityResource supports GET", resourceMetadata.getOperation(HttpMethod.GET));
|
||||
assertNotNull("FlocketEntityResource supports PUT", resourceMetadata.getOperation(HttpMethod.PUT));
|
||||
assertNotNull("FlocketEntityResource supports DELETE", resourceMetadata.getOperation(HttpMethod.DELETE));
|
||||
}
|
||||
else
|
||||
{
|
||||
if ("/myroot/{id}/album".equals(resourceMetadata.getUniqueId()))
|
||||
{
|
||||
assertTrue("FlocketEntityResource supports GET", resourceMetadata.supports(HttpMethod.GET));
|
||||
assertTrue("FlocketEntityResource supports PUT", resourceMetadata.supports(HttpMethod.PUT));
|
||||
assertTrue("FlocketEntityResource does not support DELETE", !resourceMetadata.supports(HttpMethod.DELETE));
|
||||
assertNotNull("FlocketEntityResource supports GET", resourceMetadata.getOperation(HttpMethod.GET));
|
||||
assertNotNull("FlocketEntityResource supports PUT", resourceMetadata.getOperation(HttpMethod.PUT));
|
||||
assertNull("FlocketEntityResource does not support DELETE", resourceMetadata.getOperation(HttpMethod.DELETE));
|
||||
}
|
||||
else
|
||||
{
|
||||
if ("/myroot/{id}/madeUpProp".equals(resourceMetadata.getUniqueId()))
|
||||
{
|
||||
assertTrue("FlocketEntityResource supports GET", resourceMetadata.supports(HttpMethod.GET));
|
||||
assertTrue("FlocketEntityResource does not supports PUT", !resourceMetadata.supports(HttpMethod.PUT));
|
||||
assertTrue("FlocketEntityResource does not support DELETE", !resourceMetadata.supports(HttpMethod.DELETE));
|
||||
assertNotNull("FlocketEntityResource supports GET", resourceMetadata.getOperation(HttpMethod.GET));
|
||||
assertNull("FlocketEntityResource does not supports PUT", resourceMetadata.getOperation(HttpMethod.PUT));
|
||||
assertNull("FlocketEntityResource does not support DELETE", resourceMetadata.getOperation(HttpMethod.DELETE));
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -550,20 +562,35 @@ public class InspectorTests
|
||||
assertTrue("Must be at least one ResourceMetadata",metainfo.size()>0);
|
||||
ResourceMetadata metaData = metainfo.get(0);
|
||||
assertNotNull(metaData);
|
||||
assertTrue("GrassEntityResourceNowDeleted all methods deleted", !metaData.supports(HttpMethod.GET));
|
||||
assertTrue("GrassEntityResourceNowDeleted all methods deleted", !metaData.supports(HttpMethod.PUT));
|
||||
assertTrue("GrassEntityResourceNowDeleted all methods deleted", !metaData.supports(HttpMethod.DELETE));
|
||||
assertTrue("GrassEntityResourceNowDeleted all methods deleted", !metaData.supports(HttpMethod.POST));
|
||||
assertNull("GrassEntityResourceNowDeleted all methods deleted", metaData.getObjectType(HttpMethod.POST));
|
||||
assertNull("GrassEntityResourceNowDeleted all methods deleted", metaData.getOperation(HttpMethod.GET));
|
||||
assertNull("GrassEntityResourceNowDeleted all methods deleted", metaData.getOperation(HttpMethod.PUT));
|
||||
assertNull("GrassEntityResourceNowDeleted all methods deleted", metaData.getOperation(HttpMethod.DELETE));
|
||||
assertNull("GrassEntityResourceNowDeleted all methods deleted", metaData.getOperation(HttpMethod.POST));
|
||||
|
||||
metainfo = ResourceInspector.inspect(SheepBlackSheepResourceIsNoMore.class);
|
||||
assertTrue("Must be at least one ResourceMetadata",metainfo.size()>0);
|
||||
metaData = metainfo.get(0);
|
||||
assertNotNull(metaData);
|
||||
assertTrue("SheepBlackSheepResourceIsNoMore all methods deleted", !metaData.supports(HttpMethod.GET));
|
||||
assertTrue("SheepBlackSheepResourceIsNoMore all methods deleted", !metaData.supports(HttpMethod.PUT));
|
||||
assertTrue("SheepBlackSheepResourceIsNoMore all methods deleted", !metaData.supports(HttpMethod.DELETE));
|
||||
assertTrue("SheepBlackSheepResourceIsNoMore all methods deleted", !metaData.supports(HttpMethod.POST));
|
||||
assertNull("SheepBlackSheepResourceIsNoMore all methods deleted", metaData.getObjectType(HttpMethod.POST));
|
||||
assertNull("SheepBlackSheepResourceIsNoMore all methods deleted", metaData.getOperation(HttpMethod.GET));
|
||||
assertNull("SheepBlackSheepResourceIsNoMore all methods deleted", metaData.getOperation(HttpMethod.PUT));
|
||||
assertNull("SheepBlackSheepResourceIsNoMore all methods deleted", metaData.getOperation(HttpMethod.DELETE));
|
||||
assertNull("SheepBlackSheepResourceIsNoMore all methods deleted", metaData.getOperation(HttpMethod.POST));
|
||||
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testValidSuccessCode()
|
||||
{
|
||||
//Test defaults
|
||||
assertEquals(Status.STATUS_OK,ResourceInspector.validSuccessCode(HttpMethod.GET, ResourceOperation.UNSET_STATUS));
|
||||
assertEquals(Status.STATUS_CREATED,ResourceInspector.validSuccessCode(HttpMethod.POST, ResourceOperation.UNSET_STATUS));
|
||||
assertEquals(Status.STATUS_OK,ResourceInspector.validSuccessCode(HttpMethod.PUT, ResourceOperation.UNSET_STATUS));
|
||||
assertEquals(Status.STATUS_NO_CONTENT,ResourceInspector.validSuccessCode(HttpMethod.DELETE, ResourceOperation.UNSET_STATUS));
|
||||
|
||||
//Test custom values
|
||||
assertEquals(Status.STATUS_ACCEPTED,ResourceInspector.validSuccessCode(HttpMethod.GET, Status.STATUS_ACCEPTED));
|
||||
assertEquals(Status.STATUS_FOUND,ResourceInspector.validSuccessCode(HttpMethod.POST, Status.STATUS_FOUND));
|
||||
assertEquals(Status.STATUS_ACCEPTED,ResourceInspector.validSuccessCode(HttpMethod.PUT, Status.STATUS_ACCEPTED));
|
||||
assertEquals(Status.STATUS_NOT_MODIFIED,ResourceInspector.validSuccessCode(HttpMethod.DELETE, Status.STATUS_NOT_MODIFIED));
|
||||
}
|
||||
}
|
||||
|
@@ -1,11 +1,13 @@
|
||||
package org.alfresco.rest.framework.tests.core;
|
||||
|
||||
import static org.hamcrest.CoreMatchers.any;
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertFalse;
|
||||
import static org.junit.Assert.assertNotNull;
|
||||
import static org.junit.Assert.assertNull;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
import static org.junit.Assert.fail;
|
||||
import static org.mockito.Matchers.notNull;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
@@ -23,6 +25,7 @@ import org.alfresco.rest.api.tests.util.MultiPartBuilder.FileData;
|
||||
import org.alfresco.rest.api.tests.util.MultiPartBuilder.MultiPartRequest;
|
||||
import org.alfresco.rest.framework.core.ResourceLocator;
|
||||
import org.alfresco.rest.framework.core.ResourceMetadata;
|
||||
import org.alfresco.rest.framework.core.ResourceOperation;
|
||||
import org.alfresco.rest.framework.core.exceptions.UnsupportedResourceOperationException;
|
||||
import org.alfresco.rest.framework.jacksonextensions.BeanPropertiesFilter;
|
||||
import org.alfresco.rest.framework.jacksonextensions.JacksonHelper;
|
||||
@@ -255,9 +258,6 @@ public class ParamsExtractorTests
|
||||
FormData formData = (FormData) passed;
|
||||
assertTrue(formData.getIsMultiPart());
|
||||
|
||||
assertNotNull(params.getStatus());
|
||||
assertFalse(params.getStatus().getRedirect());
|
||||
|
||||
// No entity id for POST
|
||||
templateVars.put(ResourceLocator.ENTITY_ID, "1234");
|
||||
try
|
||||
@@ -446,9 +446,10 @@ public class ParamsExtractorTests
|
||||
private static ResourceMetadata mockEntity()
|
||||
{
|
||||
ResourceMetadata resourceMock = mock(ResourceMetadata.class);
|
||||
ResourceOperation resourceOperation = mock(ResourceOperation.class);
|
||||
when(resourceMock.getType()).thenReturn(ResourceMetadata.RESOURCE_TYPE.ENTITY);
|
||||
when(resourceMock.getObjectType(HttpMethod.PUT)).thenReturn(Farmer.class);
|
||||
when(resourceMock.getObjectType(HttpMethod.POST)).thenReturn(Farmer.class);
|
||||
when(resourceMock.getOperation(notNull(HttpMethod.class))).thenReturn(resourceOperation);
|
||||
when(resourceMock.getObjectType(notNull(ResourceOperation.class))).thenReturn(Farmer.class);
|
||||
return resourceMock;
|
||||
}
|
||||
|
||||
@@ -483,9 +484,10 @@ public class ParamsExtractorTests
|
||||
private static ResourceMetadata mockRelationship()
|
||||
{
|
||||
ResourceMetadata resourceMock = mock(ResourceMetadata.class);
|
||||
ResourceOperation resourceOperation = mock(ResourceOperation.class);
|
||||
when(resourceMock.getOperation(notNull(HttpMethod.class))).thenReturn(resourceOperation);
|
||||
when(resourceMock.getType()).thenReturn(ResourceMetadata.RESOURCE_TYPE.RELATIONSHIP);
|
||||
when(resourceMock.getObjectType(HttpMethod.PUT)).thenReturn(Farmer.class);
|
||||
when(resourceMock.getObjectType(HttpMethod.POST)).thenReturn(Farmer.class);
|
||||
when(resourceMock.getObjectType(notNull(ResourceOperation.class))).thenReturn(Farmer.class);
|
||||
return resourceMock;
|
||||
}
|
||||
|
||||
|
@@ -19,6 +19,7 @@ import org.alfresco.rest.framework.core.ResourceInspector;
|
||||
import org.alfresco.rest.framework.core.ResourceLocator;
|
||||
import org.alfresco.rest.framework.core.ResourceLookupDictionary;
|
||||
import org.alfresco.rest.framework.core.ResourceMetadata;
|
||||
import org.alfresco.rest.framework.core.ResourceOperation;
|
||||
import org.alfresco.rest.framework.core.ResourceWithMetadata;
|
||||
import org.alfresco.rest.framework.core.exceptions.InvalidArgumentException;
|
||||
import org.alfresco.rest.framework.core.exceptions.UnsupportedResourceOperationException;
|
||||
@@ -104,20 +105,20 @@ public class ResourceLocatorTests
|
||||
templateVars.put(ResourceLocator.COLLECTION_RESOURCE, "sheep");
|
||||
ResourceWithMetadata collResource = locator.locateResource(api, templateVars, HttpMethod.GET);
|
||||
assertNotNull(collResource);
|
||||
assertTrue(collResource.getMetaData().supports(HttpMethod.GET));
|
||||
assertNotNull(collResource.getMetaData().getOperation(HttpMethod.GET));
|
||||
|
||||
collResource = locator.locateResource(api, templateVars, HttpMethod.POST);
|
||||
assertNotNull(collResource);
|
||||
assertTrue(collResource.getMetaData().supports(HttpMethod.POST));
|
||||
assertNotNull(collResource.getMetaData().getOperation(HttpMethod.POST));
|
||||
|
||||
templateVars.put(ResourceLocator.ENTITY_ID, "farmersUniqueId");
|
||||
ResourceWithMetadata entityResource = locator.locateResource(api,templateVars, HttpMethod.GET);
|
||||
assertNotNull(entityResource);
|
||||
assertTrue(entityResource.getMetaData().supports(HttpMethod.GET));
|
||||
assertNotNull(entityResource.getMetaData().getOperation(HttpMethod.GET));
|
||||
|
||||
entityResource = locator.locateResource(api, templateVars, HttpMethod.PUT);
|
||||
assertNotNull(entityResource);
|
||||
assertTrue(entityResource.getMetaData().supports(HttpMethod.PUT));
|
||||
assertNotNull(entityResource.getMetaData().getOperation(HttpMethod.PUT));
|
||||
|
||||
templateVars.clear();
|
||||
templateVars.put(ResourceLocator.COLLECTION_RESOURCE, "sheepnoaction");
|
||||
@@ -167,7 +168,7 @@ public class ResourceLocatorTests
|
||||
templateVars.put(ResourceLocator.RELATIONSHIP_RESOURCE, "photo");
|
||||
ResourceWithMetadata collResource = locator.locateResource(api3, templateVars, HttpMethod.GET);
|
||||
assertNotNull(collResource);
|
||||
assertTrue(collResource.getMetaData().supports(HttpMethod.GET));
|
||||
assertNotNull(collResource.getMetaData().getOperation(HttpMethod.GET));
|
||||
assertEquals(FlockEntityResource.class, collResource.getResource().getClass());
|
||||
|
||||
templateVars.put(ResourceLocator.COLLECTION_RESOURCE, "flocket");
|
||||
@@ -192,7 +193,7 @@ public class ResourceLocatorTests
|
||||
}
|
||||
collResource = locator.locateResource(api3, templateVars, HttpMethod.GET);
|
||||
assertNotNull(collResource);
|
||||
assertTrue(collResource.getMetaData().supports(HttpMethod.GET));
|
||||
assertNotNull(collResource.getMetaData().getOperation(HttpMethod.GET));
|
||||
assertEquals(FlocketEntityResource.class, collResource.getResource().getClass());
|
||||
|
||||
templateVars.put(ResourceLocator.RELATIONSHIP_RESOURCE, "album");
|
||||
@@ -207,11 +208,11 @@ public class ResourceLocatorTests
|
||||
}
|
||||
collResource = locator.locateResource(api3, templateVars, HttpMethod.GET);
|
||||
assertNotNull(collResource);
|
||||
assertTrue(collResource.getMetaData().supports(HttpMethod.GET));
|
||||
assertNotNull(collResource.getMetaData().getOperation(HttpMethod.GET));
|
||||
assertEquals(FlocketEntityResource.class, collResource.getResource().getClass());
|
||||
collResource = locator.locateResource(api3, templateVars, HttpMethod.PUT);
|
||||
assertNotNull(collResource);
|
||||
assertTrue(collResource.getMetaData().supports(HttpMethod.PUT));
|
||||
assertNotNull(collResource.getMetaData().getOperation(HttpMethod.PUT));
|
||||
assertEquals(FlocketEntityResource.class, collResource.getResource().getClass());
|
||||
}
|
||||
|
||||
@@ -238,7 +239,7 @@ public class ResourceLocatorTests
|
||||
templateVars.put(ResourceLocator.PROPERTY, "content");
|
||||
collResource = locator.locateResource(api3, templateVars, HttpMethod.GET);
|
||||
assertNotNull(collResource);
|
||||
assertTrue(collResource.getMetaData().supports(HttpMethod.GET));
|
||||
assertNotNull(collResource.getMetaData().getOperation(HttpMethod.GET));
|
||||
|
||||
templateVars = new HashMap<String, String>();
|
||||
templateVars.put(ResourceLocator.COLLECTION_RESOURCE, "sheep");
|
||||
@@ -260,9 +261,9 @@ public class ResourceLocatorTests
|
||||
templateVars.put(ResourceLocator.PROPERTY, "photo");
|
||||
collResource = locator.locateResource(api, templateVars, HttpMethod.GET);
|
||||
assertNotNull(collResource);
|
||||
assertTrue(collResource.getMetaData().supports(HttpMethod.GET));
|
||||
assertTrue(collResource.getMetaData().supports(HttpMethod.PUT));
|
||||
assertTrue(collResource.getMetaData().supports(HttpMethod.DELETE));
|
||||
assertNotNull(collResource.getMetaData().getOperation(HttpMethod.GET));
|
||||
assertNotNull(collResource.getMetaData().getOperation(HttpMethod.PUT));
|
||||
assertNotNull(collResource.getMetaData().getOperation(HttpMethod.DELETE));
|
||||
}
|
||||
|
||||
@Test
|
||||
|
@@ -403,7 +403,7 @@ public class SerializeTests extends AbstractContextTest
|
||||
AbstractResourceWebScript executor = (AbstractResourceWebScript) applicationContext.getBean("executorOfGets");
|
||||
executor.execute(propResource, Params.valueOf("234", null), new ExecutionCallback<BinaryResource>(){
|
||||
@Override
|
||||
public void onSuccess(BinaryResource result, ContentInfo contentInfo)
|
||||
public void onSuccess(BinaryResource result, ContentInfo contentInfo, int statusCode)
|
||||
{
|
||||
assertNotNull(result);
|
||||
}});
|
||||
|
Reference in New Issue
Block a user