Search in sources :

Example 26 with ActionRequest

use of org.forgerock.json.resource.ActionRequest in project OpenAM by OpenRock.

the class SessionResourceAuthzModuleTest method shouldAllowValidateAction.

@Test
public void shouldAllowValidateAction() throws ExecutionException, InterruptedException {
    //given
    Context mockContext = mock(Context.class);
    ActionRequest mockRequest = mock(ActionRequest.class);
    given(mockRequest.getAction()).willReturn("validate");
    //when
    Promise<AuthorizationResult, ResourceException> result = testModule.authorizeAction(mockContext, mockRequest);
    //then
    assertTrue(result.get().isAuthorized());
}
Also used : Context(org.forgerock.services.context.Context) RootContext(org.forgerock.services.context.RootContext) ActionRequest(org.forgerock.json.resource.ActionRequest) ResourceException(org.forgerock.json.resource.ResourceException) AuthorizationResult(org.forgerock.authz.filter.api.AuthorizationResult) Test(org.testng.annotations.Test) BeforeTest(org.testng.annotations.BeforeTest)

Example 27 with ActionRequest

use of org.forgerock.json.resource.ActionRequest in project OpenAM by OpenRock.

the class TokenOwnerAuthzModuleTest method shouldFailDifferentOwnerQueryParamToken.

@Test
public void shouldFailDifferentOwnerQueryParamToken() throws SSOException, ExecutionException, InterruptedException, BadRequestException {
    //given
    ActionRequest request = Requests.newActionRequest("resource", "deleteProperty");
    request.setAdditionalParameter("tokenId", "token");
    given(mockService.isSuperUser(eq("universal_id"))).willReturn(false);
    given(mockService.isSuperUser(eq("john"))).willReturn(false);
    Context otherContext = setupUser("john");
    setupUser("universal_id");
    //when
    Promise<AuthorizationResult, ResourceException> result = testModule.authorizeAction(otherContext, request);
    //then
    assertThat(result).failedWithException().isInstanceOf(ForbiddenException.class);
}
Also used : Context(org.forgerock.services.context.Context) SSOTokenContext(org.forgerock.openam.rest.resource.SSOTokenContext) ActionRequest(org.forgerock.json.resource.ActionRequest) ResourceException(org.forgerock.json.resource.ResourceException) AuthorizationResult(org.forgerock.authz.filter.api.AuthorizationResult) Test(org.testng.annotations.Test) BeforeTest(org.testng.annotations.BeforeTest)

Example 28 with ActionRequest

use of org.forgerock.json.resource.ActionRequest in project OpenAM by OpenRock.

the class TokenOwnerAuthzModuleTest method shouldAllowValidQueryParamToken.

@Test
public void shouldAllowValidQueryParamToken() throws SSOException, ExecutionException, InterruptedException, BadRequestException {
    //given
    ActionRequest request = Requests.newActionRequest("resource", "deleteProperty");
    request.setAdditionalParameter("tokenId", "token");
    given(mockService.isSuperUser(eq("universal_id"))).willReturn(false);
    //when
    Promise<AuthorizationResult, ResourceException> result = testModule.authorizeAction(mockContext, request);
    //then
    assertThat(result).succeeded();
    assertTrue(result.get().isAuthorized());
}
Also used : ActionRequest(org.forgerock.json.resource.ActionRequest) ResourceException(org.forgerock.json.resource.ResourceException) AuthorizationResult(org.forgerock.authz.filter.api.AuthorizationResult) Test(org.testng.annotations.Test) BeforeTest(org.testng.annotations.BeforeTest)

Example 29 with ActionRequest

use of org.forgerock.json.resource.ActionRequest in project OpenAM by OpenRock.

the class PolicyV1FilterTest method forwardOnAction.

/**
     * Verify that action requests are forwarded on.
     */
@Test
public void forwardOnAction() throws Exception {
    // Given
    ActionRequest actionRequest = mock(ActionRequest.class);
    // When
    Promise<ActionResponse, ResourceException> promise = filter.filterAction(context, actionRequest, requestHandler);
    // Then
    assertThat(promise).succeeded();
    assertThat(promise.get().getJsonContent().contains("ttl")).isFalse();
}
Also used : ActionRequest(org.forgerock.json.resource.ActionRequest) ResourceException(org.forgerock.json.resource.ResourceException) ActionResponse(org.forgerock.json.resource.ActionResponse) Test(org.testng.annotations.Test)

Example 30 with ActionRequest

use of org.forgerock.json.resource.ActionRequest in project OpenAM by OpenRock.

the class PolicyResourceWithCopyMoveSupport method copyOrMoveGivenPolicy.

private ActionResponse copyOrMoveGivenPolicy(Context context, JsonValue policy, String destinationRealm, String destinationApplication, String namePostfix, JsonValue resourceTypeMapping, PolicyAction copyOrMoveAction) throws ResourceException {
    String name = policy.get("name").asString();
    String copiedName = name + namePostfix;
    String sourceResourceType = policy.get("resourceTypeUuid").asString();
    String destinationResourceType = resourceTypeMapping.get(sourceResourceType).defaultTo(sourceResourceType).asString();
    JsonValue newPayload = json(object(field("to", object(field("name", copiedName), field("realm", destinationRealm), field("application", destinationApplication), field("resourceType", destinationResourceType)))));
    String copyOrMoveActionName = copyOrMoveAction.name().toLowerCase();
    ActionRequest newActionRequest = Requests.newActionRequest("policies", name, copyOrMoveActionName);
    newActionRequest.setContent(newPayload);
    return router.handleAction(context, newActionRequest).getOrThrowUninterruptibly();
}
Also used : ActionRequest(org.forgerock.json.resource.ActionRequest) JsonValue(org.forgerock.json.JsonValue)

Aggregations

ActionRequest (org.forgerock.json.resource.ActionRequest)44 Test (org.testng.annotations.Test)39 ResourceException (org.forgerock.json.resource.ResourceException)31 ActionResponse (org.forgerock.json.resource.ActionResponse)28 Context (org.forgerock.services.context.Context)23 JsonValue (org.forgerock.json.JsonValue)12 RealmContext (org.forgerock.openam.rest.RealmContext)10 BeforeTest (org.testng.annotations.BeforeTest)8 AuthorizationResult (org.forgerock.authz.filter.api.AuthorizationResult)6 Router (org.forgerock.json.resource.Router)4 Matchers.anyString (org.mockito.Matchers.anyString)4 FilterChain (org.forgerock.json.resource.FilterChain)3 SubjectContext (org.forgerock.openam.rest.resource.SubjectContext)3 RootContext (org.forgerock.services.context.RootContext)3 DelegationPermission (com.sun.identity.delegation.DelegationPermission)2 HashSet (java.util.HashSet)2 Requests.newActionRequest (org.forgerock.json.resource.Requests.newActionRequest)2 SSOException (com.iplanet.sso.SSOException)1 UriRouterContext (org.forgerock.http.routing.UriRouterContext)1 CreateRequest (org.forgerock.json.resource.CreateRequest)1