Search in sources :

Example 6 with Sheep

use of org.alfresco.rest.framework.tests.api.mocks.Sheep in project alfresco-remote-api by Alfresco.

the class SerializeTests method testSerializeMap.

@Test
public void testSerializeMap() throws IOException {
    assertNotNull(helper);
    Map<String, Object> aMap = new HashMap<String, Object>();
    aMap.put("goatie", new Goat());
    aMap.put("sheepie", new Sheep("ABCD"));
    aMap.put("sheepy", new Sheep("XYZ"));
    Object res = helper.processAdditionsToTheResponse(mock(WebScriptResponse.class), api, null, Params.valueOf("notUsed", null, null), aMap);
    String out = writeResponse(res);
    assertTrue("There must be json output", StringUtils.isNotBlank(out));
}
Also used : HashMap(java.util.HashMap) WebScriptResponse(org.springframework.extensions.webscripts.WebScriptResponse) Sheep(org.alfresco.rest.framework.tests.api.mocks.Sheep) JSONObject(org.json.JSONObject) Goat(org.alfresco.rest.framework.tests.api.mocks.Goat) SlimGoat(org.alfresco.rest.framework.tests.api.mocks3.SlimGoat) Test(org.junit.Test)

Example 7 with Sheep

use of org.alfresco.rest.framework.tests.api.mocks.Sheep in project alfresco-remote-api by Alfresco.

the class ExecutionTests method testInvokePut.

@Test
public void testInvokePut() throws IOException {
    ResourceWithMetadata entityResource = locator.locateEntityResource(api, "sheep", HttpMethod.PUT);
    AbstractResourceWebScript executor = getExecutor("executorOfPut");
    final Sheep aSheep = new Sheep("xyz");
    Object result = executor.execute(entityResource, Params.valueOf("654", null, NULL_PARAMS, aSheep, mock(WebScriptRequest.class)), mock(WebScriptResponse.class), false);
    assertNotNull(result);
    assertEquals(aSheep, ((ExecutionResult) result).getRoot());
    final Goat goat = new Goat("xyz");
    ResourceWithMetadata cowResource = locator.locateEntityResource(api, "cow", HttpMethod.PUT);
    result = executor.execute(cowResource, Params.valueOf("654", null, NULL_PARAMS, goat, mock(WebScriptRequest.class)), mock(WebScriptResponse.class), false);
    assertNotNull(result);
    assertEquals(goat, ((ExecutionResult) result).getRoot());
    ResourceWithMetadata resource = locator.locateRelationResource(api, "sheep", "blacksheep", HttpMethod.PUT);
    result = executor.execute(resource, Params.valueOf("654", null, NULL_PARAMS, aSheep, mock(WebScriptRequest.class)), mock(WebScriptResponse.class), false);
    assertNotNull(result);
    assertEquals(aSheep, ((ExecutionResult) result).getRoot());
    ResourceWithMetadata baaPhoto = locator.locateRelationResource(api, "sheep/{entityId}/baaahh", "photo", HttpMethod.PUT);
    result = executor.execute(baaPhoto, Params.valueOf("4", "56", mock(WebScriptRequest.class)), mock(WebScriptResponse.class), false);
    assertNull(result);
    ResourceWithMetadata flockEntityResource = locator.locateRelationResource(api3, "flock", "photo", HttpMethod.PUT);
    result = executor.execute(flockEntityResource, Params.valueOf("654", null, NULL_PARAMS, goat, mock(WebScriptRequest.class)), mock(WebScriptResponse.class), false);
    assertNull(result);
    ResourceWithMetadata calf = locator.locateRelationResource(api, "cow", "calf", HttpMethod.PUT);
    result = executor.execute(calf, Params.valueOf("654", null, NULL_PARAMS, goat, mock(WebScriptRequest.class)), mock(WebScriptResponse.class), false);
    assertNotNull(result);
    assertEquals(goat, ((ExecutionResult) result).getRoot());
    cowResource = locator.locateRelationResource(api, "cow", "photo", HttpMethod.PUT);
    result = executor.execute(cowResource, Params.valueOf("654", null, NULL_PARAMS, goat, mock(WebScriptRequest.class)), mock(WebScriptResponse.class), false);
    assertNull(result);
    calf = locator.locateRelationResource(api, "cow/{entityId}/calf", "photo", HttpMethod.PUT);
    result = executor.execute(calf, Params.valueOf("4", "56", mock(WebScriptRequest.class)), mock(WebScriptResponse.class), false);
    assertNull(result);
}
Also used : WebScriptRequest(org.springframework.extensions.webscripts.WebScriptRequest) AbstractResourceWebScript(org.alfresco.rest.framework.webscripts.AbstractResourceWebScript) WebScriptResponse(org.springframework.extensions.webscripts.WebScriptResponse) Sheep(org.alfresco.rest.framework.tests.api.mocks.Sheep) Goat(org.alfresco.rest.framework.tests.api.mocks.Goat) ResourceWithMetadata(org.alfresco.rest.framework.core.ResourceWithMetadata) Test(org.junit.Test)

Example 8 with Sheep

use of org.alfresco.rest.framework.tests.api.mocks.Sheep in project alfresco-remote-api by Alfresco.

the class ExecutionTests method testInvokePost.

@Test
public void testInvokePost() throws IOException {
    AbstractResourceWebScript executor = getExecutor("executorOfPost");
    ResourceWithMetadata resource = locator.locateRelationResource(api, "sheep", "blacksheep", HttpMethod.POST);
    final Sheep aSheep = new Sheep("xyz");
    Object result = executor.execute(resource, Params.valueOf("654", null, NULL_PARAMS, Arrays.asList(aSheep), mock(WebScriptRequest.class)), mock(WebScriptResponse.class), false);
    assertNotNull(result);
    assertEquals(aSheep, ((ExecutionResult) result).getRoot());
    ResourceWithMetadata grassResource = locator.locateEntityResource(api, "grass", HttpMethod.POST);
    final Grass grr = new Grass("grr");
    result = executor.execute(grassResource, Params.valueOf("654", null, NULL_PARAMS, Arrays.asList(grr), mock(WebScriptRequest.class)), mock(WebScriptResponse.class), false);
    assertEquals(grr, ((ExecutionResult) result).getRoot());
    final Goat goat = new Goat("xyz");
    ResourceWithMetadata cowresource = locator.locateEntityResource(api, "cow", HttpMethod.POST);
    WebScriptResponse response = mock(WebScriptResponse.class);
    result = executor.execute(cowresource, Params.valueOf("654", null, NULL_PARAMS, Arrays.asList(goat), mock(WebScriptRequest.class)), response, false);
    assertEquals(goat, ((ExecutionResult) result).getRoot());
    verify(response, times(1)).setStatus(Status.STATUS_ACCEPTED);
    ResourceWithMetadata entityResource = locator.locateRelationResource(api, "grass", "grow", HttpMethod.POST);
    result = executor.execute(entityResource, Params.valueOf("654", null, NULL_PARAMS, grr, mock(WebScriptRequest.class)), mock(WebScriptResponse.class), false);
    assertEquals("Growing well", result);
    ResourceWithMetadata calfResource = locator.locateRelationResource(api, "cow", "calf", HttpMethod.POST);
    result = executor.execute(calfResource, Params.valueOf("654", null, NULL_PARAMS, Arrays.asList(goat), mock(WebScriptRequest.class)), mock(WebScriptResponse.class), false);
    assertEquals(goat, ((ExecutionResult) result).getRoot());
    Map<String, String> templateVars = new HashMap();
    templateVars.put(ResourceLocator.COLLECTION_RESOURCE, "sheep");
    templateVars.put(ResourceLocator.ENTITY_ID, "sheepId");
    templateVars.put(ResourceLocator.RELATIONSHIP_RESOURCE, "baaahh");
    templateVars.put(ResourceLocator.PROPERTY, "chew");
    ResourceWithMetadata collResource = locator.locateResource(api, templateVars, HttpMethod.POST);
    result = executor.execute(collResource, Params.valueOf("654", "345", NULL_PARAMS, null, mock(WebScriptRequest.class)), mock(WebScriptResponse.class), false);
    assertEquals("All done", result);
}
Also used : WebScriptRequest(org.springframework.extensions.webscripts.WebScriptRequest) HashMap(java.util.HashMap) AbstractResourceWebScript(org.alfresco.rest.framework.webscripts.AbstractResourceWebScript) WebScriptResponse(org.springframework.extensions.webscripts.WebScriptResponse) Sheep(org.alfresco.rest.framework.tests.api.mocks.Sheep) Goat(org.alfresco.rest.framework.tests.api.mocks.Goat) Grass(org.alfresco.rest.framework.tests.api.mocks.Grass) Matchers.anyString(org.mockito.Matchers.anyString) ResourceWithMetadata(org.alfresco.rest.framework.core.ResourceWithMetadata) Test(org.junit.Test)

Example 9 with Sheep

use of org.alfresco.rest.framework.tests.api.mocks.Sheep in project alfresco-remote-api by Alfresco.

the class InspectorTests method testInspectEntity.

@Test
public void testInspectEntity() {
    List<ResourceMetadata> metainfo = ResourceInspector.inspect(SheepEntityResource.class);
    assertTrue("Must be one ResourceMetadata", metainfo.size() == 1);
    ResourceMetadata metaData = metainfo.get(0);
    assertNotNull(metaData);
    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.GET);
    assertEquals("Sheep ReadALL should return ACCEPTED", Status.STATUS_ACCEPTED, op.getSuccessStatus());
    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());
    metainfo = ResourceInspector.inspect(GoatEntityResource.class);
    assertTrue("Must be one ResourceMetadata", metainfo.size() == 1);
    metaData = metainfo.get(0);
    assertNotNull(metaData);
    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);
    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);
    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)));
    assertEquals("MultiPartTestEntityResource should return ACCEPTED", Status.STATUS_ACCEPTED, op.getSuccessStatus());
}
Also used : SheepNoActionEntityResource(org.alfresco.rest.framework.tests.api.mocks.SheepNoActionEntityResource) ResourceParameter(org.alfresco.rest.framework.core.ResourceParameter) GoatEntityResource(org.alfresco.rest.framework.tests.api.mocks.GoatEntityResource) Sheep(org.alfresco.rest.framework.tests.api.mocks.Sheep) ResourceMetadata(org.alfresco.rest.framework.core.ResourceMetadata) MultiPartTestEntityResource(org.alfresco.rest.framework.tests.api.mocks.MultiPartTestEntityResource) MultiPartTestResponse(org.alfresco.rest.framework.tests.api.mocks.MultiPartTestResponse) ResourceOperation(org.alfresco.rest.framework.core.ResourceOperation) FlockEntityResource(org.alfresco.rest.framework.tests.api.mocks3.FlockEntityResource) Test(org.junit.Test)

Example 10 with Sheep

use of org.alfresco.rest.framework.tests.api.mocks.Sheep in project alfresco-remote-api by Alfresco.

the class InspectorTests method testInspectRelationship.

@Test
public void testInspectRelationship() {
    List<ResourceMetadata> metainfo = ResourceInspector.inspect(SheepBlackSheepResource.class);
    assertTrue("Must be one ResourceMetadata", metainfo.size() == 1);
    ResourceMetadata metaData = metainfo.get(0);
    assertNotNull(metaData);
    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);
    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);
    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) {
        if (ResourceParameter.KIND.HTTP_BODY_OBJECT.equals(resourceParameter.getParamType())) {
            // set to not allow multiple
            assertFalse(resourceParameter.isAllowMultiple());
        }
    }
    assertNotNull("SheepBlackSheepResource supports DELETE", metaData.getOperation(HttpMethod.DELETE));
    op = metaData.getOperation(HttpMethod.DELETE);
    assertEquals("SheepBlackSheepResource should return STATUS_CONFLICT", Status.STATUS_CONFLICT, op.getSuccessStatus());
    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);
    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)));
}
Also used : ResourceParameter(org.alfresco.rest.framework.core.ResourceParameter) MultiPartTestRelationshipResource(org.alfresco.rest.framework.tests.api.mocks.MultiPartTestRelationshipResource) Sheep(org.alfresco.rest.framework.tests.api.mocks.Sheep) ResourceMetadata(org.alfresco.rest.framework.core.ResourceMetadata) MultiPartTestResponse(org.alfresco.rest.framework.tests.api.mocks.MultiPartTestResponse) ResourceOperation(org.alfresco.rest.framework.core.ResourceOperation) Test(org.junit.Test)

Aggregations

Sheep (org.alfresco.rest.framework.tests.api.mocks.Sheep)13 Test (org.junit.Test)13 JSONObject (org.json.JSONObject)8 WebScriptResponse (org.springframework.extensions.webscripts.WebScriptResponse)8 Goat (org.alfresco.rest.framework.tests.api.mocks.Goat)7 SlimGoat (org.alfresco.rest.framework.tests.api.mocks3.SlimGoat)6 ExecutionResult (org.alfresco.rest.framework.jacksonextensions.ExecutionResult)4 HashMap (java.util.HashMap)3 Farmer (org.alfresco.rest.framework.tests.api.mocks.Farmer)3 ResourceMetadata (org.alfresco.rest.framework.core.ResourceMetadata)2 ResourceOperation (org.alfresco.rest.framework.core.ResourceOperation)2 ResourceParameter (org.alfresco.rest.framework.core.ResourceParameter)2 ResourceWithMetadata (org.alfresco.rest.framework.core.ResourceWithMetadata)2 Grass (org.alfresco.rest.framework.tests.api.mocks.Grass)2 MultiPartTestResponse (org.alfresco.rest.framework.tests.api.mocks.MultiPartTestResponse)2 AbstractResourceWebScript (org.alfresco.rest.framework.webscripts.AbstractResourceWebScript)2 WebScriptRequest (org.springframework.extensions.webscripts.WebScriptRequest)2 HashSet (java.util.HashSet)1 Api (org.alfresco.rest.framework.Api)1 BeanPropertiesFilter (org.alfresco.rest.framework.jacksonextensions.BeanPropertiesFilter)1