Search in sources :

Example 1 with AuthorizationResult

use of org.forgerock.authz.filter.api.AuthorizationResult in project OpenAM by OpenRock.

the class SessionResourceAuthzModuleTest method shouldAllowLogoutAction.

@Test
public void shouldAllowLogoutAction() throws ExecutionException, InterruptedException {
    //given
    Context mockContext = mock(Context.class);
    ActionRequest mockRequest = mock(ActionRequest.class);
    given(mockRequest.getAction()).willReturn("logout");
    //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 2 with AuthorizationResult

use of org.forgerock.authz.filter.api.AuthorizationResult in project OpenAM by OpenRock.

the class CoreTokenResourceAuthzModuleTest method shouldBlockAllAccessIfResourceDisabled.

@Test
public void shouldBlockAllAccessIfResourceDisabled() throws Exception {
    //given
    CoreTokenResourceAuthzModule testModule = new CoreTokenResourceAuthzModule(mockConfig, mockDebug, false);
    SSOTokenContext mockSSOTokenContext = mock(SSOTokenContext.class);
    //when
    Promise<AuthorizationResult, ResourceException> result = testModule.authorize(mockSSOTokenContext);
    //then
    assertFalse(result.get().isAuthorized());
}
Also used : SSOTokenContext(org.forgerock.openam.rest.resource.SSOTokenContext) ResourceException(org.forgerock.json.resource.ResourceException) AuthorizationResult(org.forgerock.authz.filter.api.AuthorizationResult) Test(org.testng.annotations.Test) BeforeTest(org.testng.annotations.BeforeTest)

Example 3 with AuthorizationResult

use of org.forgerock.authz.filter.api.AuthorizationResult in project OpenAM by OpenRock.

the class SmsRouteTreeTest method shouldUseProvidedAuthModuleForMatchingPath.

@Test
public void shouldUseProvidedAuthModuleForMatchingPath() throws Exception {
    //Given
    RequestHandler requestHandler = mock(RequestHandler.class);
    Context context = mock(Context.class);
    ReadRequest request = Requests.newReadRequest("/not-authorized/service");
    Promise<AuthorizationResult, ResourceException> failResult = newResultPromise(accessDenied("no"));
    given(authModule.authorizeRead(any(Context.class), any(ReadRequest.class))).willReturn(failResult);
    //When
    routeTree.handles("NOT_AUTHORIZED").addRoute(RoutingMode.STARTS_WITH, "/service", requestHandler);
    Promise<ResourceResponse, ResourceException> result = routeTree.handleRead(context, request);
    //Then
    assertThat(result).failedWithException();
    verify(authModule).authorizeRead(any(Context.class), any(ReadRequest.class));
    verifyNoMoreInteractions(requestHandler, defaultAuthModule);
}
Also used : Context(org.forgerock.services.context.Context) RequestHandler(org.forgerock.json.resource.RequestHandler) ResourceResponse(org.forgerock.json.resource.ResourceResponse) ResourceException(org.forgerock.json.resource.ResourceException) AuthorizationResult(org.forgerock.authz.filter.api.AuthorizationResult) ReadRequest(org.forgerock.json.resource.ReadRequest) Test(org.testng.annotations.Test)

Example 4 with AuthorizationResult

use of org.forgerock.authz.filter.api.AuthorizationResult in project OpenAM by OpenRock.

the class TokenOwnerAuthzModuleTest method shouldFailInvalidQueryParamToken.

@Test
public void shouldFailInvalidQueryParamToken() 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(mockTokenManager.createSSOToken(eq("token"))).willThrow(new SSOException(""));
    //when
    Promise<AuthorizationResult, ResourceException> result = testModule.authorizeAction(mockContext, request);
    //then
    assertThat(result).failedWithException().isInstanceOf(ForbiddenException.class);
}
Also used : ActionRequest(org.forgerock.json.resource.ActionRequest) SSOException(com.iplanet.sso.SSOException) ResourceException(org.forgerock.json.resource.ResourceException) AuthorizationResult(org.forgerock.authz.filter.api.AuthorizationResult) Test(org.testng.annotations.Test) BeforeTest(org.testng.annotations.BeforeTest)

Example 5 with AuthorizationResult

use of org.forgerock.authz.filter.api.AuthorizationResult in project OpenAM by OpenRock.

the class AdminOnlyAuthzModuleTest method shouldAuthorizeValidContext.

@Test
public void shouldAuthorizeValidContext() throws Exception {
    //given
    SSOTokenContext mockSSOTokenContext = mock(SSOTokenContext.class);
    SSOToken mockSSOToken = mock(SSOToken.class);
    given(mockSSOTokenContext.getCallerSSOToken()).willReturn(mockSSOToken);
    given(mockSSOToken.getProperty(Constants.UNIVERSAL_IDENTIFIER)).willReturn("test");
    given(mockService.isSuperUser("test")).willReturn(true);
    //when
    Promise<AuthorizationResult, ResourceException> result = testModule.authorize(mockSSOTokenContext);
    //then
    assertTrue(result.get().isAuthorized());
}
Also used : SSOToken(com.iplanet.sso.SSOToken) SSOTokenContext(org.forgerock.openam.rest.resource.SSOTokenContext) ResourceException(org.forgerock.json.resource.ResourceException) AuthorizationResult(org.forgerock.authz.filter.api.AuthorizationResult) Test(org.testng.annotations.Test) BeforeTest(org.testng.annotations.BeforeTest)

Aggregations

AuthorizationResult (org.forgerock.authz.filter.api.AuthorizationResult)20 ResourceException (org.forgerock.json.resource.ResourceException)20 Test (org.testng.annotations.Test)20 BeforeTest (org.testng.annotations.BeforeTest)17 SSOTokenContext (org.forgerock.openam.rest.resource.SSOTokenContext)12 SSOToken (com.iplanet.sso.SSOToken)10 ActionRequest (org.forgerock.json.resource.ActionRequest)6 Context (org.forgerock.services.context.Context)6 Principal (java.security.Principal)5 SSOException (com.iplanet.sso.SSOException)3 ReadRequest (org.forgerock.json.resource.ReadRequest)3 RequestHandler (org.forgerock.json.resource.RequestHandler)3 RootContext (org.forgerock.services.context.RootContext)3 ResourceResponse (org.forgerock.json.resource.ResourceResponse)2 SmsRouteTree (org.forgerock.openam.core.rest.sms.SmsRouteTree)1