Search in sources :

Example 26 with UmaPolicy

use of org.forgerock.openam.uma.UmaPolicy in project OpenAM by OpenRock.

the class UmaPolicyResourceTest method shouldSuccessfullyUpdatePolicy.

@Test
@SuppressWarnings("unchecked")
public void shouldSuccessfullyUpdatePolicy() {
    //Given
    Context context = mock(Context.class);
    UpdateRequest request = Requests.newUpdateRequest("/policies", json(object()));
    UmaPolicy policy = mock(UmaPolicy.class);
    JsonValue policyJson = json(object());
    Promise<UmaPolicy, ResourceException> promise = Promises.newResultPromise(policy);
    given(policy.getId()).willReturn("ID");
    given(policy.getRevision()).willReturn("REVISION");
    given(policy.asJson()).willReturn(policyJson);
    given(policyService.updatePolicy(context, "RESOURCE_SET_UID", request.getContent())).willReturn(promise);
    //When
    Promise<ResourceResponse, ResourceException> result = policyResource.updateInstance(context, "RESOURCE_SET_UID", request);
    //Then
    assertThat(result).succeeded().withId().isEqualTo("ID");
    assertThat(result).succeeded().withRevision().isEqualTo("REVISION");
    assertThat(result).succeeded().withContent().isObject().isEqualTo(policyJson);
}
Also used : Context(org.forgerock.services.context.Context) ResourceResponse(org.forgerock.json.resource.ResourceResponse) UpdateRequest(org.forgerock.json.resource.UpdateRequest) JsonValue(org.forgerock.json.JsonValue) ResourceException(org.forgerock.json.resource.ResourceException) UmaPolicy(org.forgerock.openam.uma.UmaPolicy) Test(org.testng.annotations.Test)

Example 27 with UmaPolicy

use of org.forgerock.openam.uma.UmaPolicy in project OpenAM by OpenRock.

the class UmaPolicyResourceTest method shouldHandleFailedQueryOfPolicies.

@Test
public void shouldHandleFailedQueryOfPolicies() {
    //Given
    Context context = mock(Context.class);
    QueryRequest request = Requests.newQueryRequest("/policies");
    QueryResourceHandler handler = mock(QueryResourceHandler.class);
    ResourceException resourceException = mock(ResourceException.class);
    Promise<Pair<QueryResponse, Collection<UmaPolicy>>, ResourceException> promise = Promises.newExceptionPromise(resourceException);
    given(policyService.queryPolicies(context, request)).willReturn(promise);
    //When
    Promise<QueryResponse, ResourceException> result = policyResource.queryCollection(context, request, handler);
    //Then
    assertThat(result).failedWithException().isEqualTo(resourceException);
}
Also used : Context(org.forgerock.services.context.Context) QueryRequest(org.forgerock.json.resource.QueryRequest) Responses.newQueryResponse(org.forgerock.json.resource.Responses.newQueryResponse) QueryResponse(org.forgerock.json.resource.QueryResponse) ResourceException(org.forgerock.json.resource.ResourceException) QueryResourceHandler(org.forgerock.json.resource.QueryResourceHandler) UmaPolicy(org.forgerock.openam.uma.UmaPolicy) Pair(org.forgerock.util.Pair) Test(org.testng.annotations.Test)

Example 28 with UmaPolicy

use of org.forgerock.openam.uma.UmaPolicy in project OpenAM by OpenRock.

the class UmaPolicyResourceTest method shouldSuccessfullyReadPolicy.

@Test
@SuppressWarnings("unchecked")
public void shouldSuccessfullyReadPolicy() {
    //Given
    Context context = mock(Context.class);
    ReadRequest request = Requests.newReadRequest("/policies");
    UmaPolicy policy = mock(UmaPolicy.class);
    JsonValue policyJson = json(object());
    Promise<UmaPolicy, ResourceException> promise = Promises.newResultPromise(policy);
    given(policy.getId()).willReturn("ID");
    given(policy.getRevision()).willReturn("REVISION");
    given(policy.asJson()).willReturn(policyJson);
    given(policyService.readPolicy(context, "RESOURCE_SET_UID")).willReturn(promise);
    //When
    Promise<ResourceResponse, ResourceException> result = policyResource.readInstance(context, "RESOURCE_SET_UID", request);
    //Then
    assertThat(result).succeeded().withId().isEqualTo("ID");
    assertThat(result).succeeded().withRevision().isEqualTo("REVISION");
    assertThat(result).succeeded().withContent().isObject().isEqualTo(policyJson);
}
Also used : Context(org.forgerock.services.context.Context) ResourceResponse(org.forgerock.json.resource.ResourceResponse) JsonValue(org.forgerock.json.JsonValue) ResourceException(org.forgerock.json.resource.ResourceException) UmaPolicy(org.forgerock.openam.uma.UmaPolicy) ReadRequest(org.forgerock.json.resource.ReadRequest) Test(org.testng.annotations.Test)

Example 29 with UmaPolicy

use of org.forgerock.openam.uma.UmaPolicy in project OpenAM by OpenRock.

the class UmaPolicyResourceTest method shouldHandledFailedReadPolicy.

@Test
@SuppressWarnings("unchecked")
public void shouldHandledFailedReadPolicy() {
    //Given
    Context context = mock(Context.class);
    ReadRequest request = Requests.newReadRequest("/policies");
    ResourceException resourceException = mock(ResourceException.class);
    Promise<UmaPolicy, ResourceException> promise = Promises.newExceptionPromise(resourceException);
    given(policyService.readPolicy(context, "RESOURCE_SET_UID")).willReturn(promise);
    //When
    Promise<ResourceResponse, ResourceException> result = policyResource.readInstance(context, "RESOURCE_SET_UID", request);
    //Then
    assertThat(result).failedWithResourceException().isEqualTo(resourceException);
}
Also used : Context(org.forgerock.services.context.Context) ResourceResponse(org.forgerock.json.resource.ResourceResponse) ResourceException(org.forgerock.json.resource.ResourceException) UmaPolicy(org.forgerock.openam.uma.UmaPolicy) ReadRequest(org.forgerock.json.resource.ReadRequest) Test(org.testng.annotations.Test)

Example 30 with UmaPolicy

use of org.forgerock.openam.uma.UmaPolicy in project OpenAM by OpenRock.

the class UmaPolicyServiceImplDelegationTest method aliceShouldBeAbleToCreatePolicyForResource.

@Test
public void aliceShouldBeAbleToCreatePolicyForResource() throws Exception {
    //Given
    AMIdentity loggedInUser = userIsLoggedIn("alice", "REALM");
    accessingUriForUser("alice");
    String resourceSetId = registerResourceSet("alice");
    JsonValue policy = policyToCreate(resourceSetId);
    Context context = getContext();
    //When
    Promise<UmaPolicy, ResourceException> promise = policyService.createPolicy(context, policy);
    //Then
    promise.getOrThrow();
    assertThat(promise).succeeded();
    verifyPolicyIsCreatedForLoggedInUser();
    verifyAuditLogCreatedForLoggedInUser(resourceSetId, loggedInUser);
}
Also used : ClientContext(org.forgerock.services.context.ClientContext) RealmContext(org.forgerock.openam.rest.RealmContext) SubjectContext(org.forgerock.openam.rest.resource.SubjectContext) SSOTokenContext(org.forgerock.openam.rest.resource.SSOTokenContext) Context(org.forgerock.services.context.Context) AMIdentity(com.sun.identity.idm.AMIdentity) JsonValue(org.forgerock.json.JsonValue) ResourceException(org.forgerock.json.resource.ResourceException) Matchers.anyString(org.mockito.Matchers.anyString) UmaPolicy(org.forgerock.openam.uma.UmaPolicy) Test(org.testng.annotations.Test) UmaPolicyServiceImplTest(org.forgerock.openam.uma.rest.UmaPolicyServiceImplTest)

Aggregations

UmaPolicy (org.forgerock.openam.uma.UmaPolicy)34 ResourceException (org.forgerock.json.resource.ResourceException)33 Context (org.forgerock.services.context.Context)28 Test (org.testng.annotations.Test)28 RealmContext (org.forgerock.openam.rest.RealmContext)21 JsonValue (org.forgerock.json.JsonValue)17 QueryResponse (org.forgerock.json.resource.QueryResponse)15 ResourceSetDescription (org.forgerock.oauth2.resources.ResourceSetDescription)15 Pair (org.forgerock.util.Pair)15 ResourceResponse (org.forgerock.json.resource.ResourceResponse)13 HashSet (java.util.HashSet)12 Responses.newQueryResponse (org.forgerock.json.resource.Responses.newQueryResponse)12 SSOTokenContext (org.forgerock.openam.rest.resource.SSOTokenContext)11 SubjectContext (org.forgerock.openam.rest.resource.SubjectContext)11 ClientContext (org.forgerock.services.context.ClientContext)11 Collection (java.util.Collection)10 RootContext (org.forgerock.services.context.RootContext)9 UmaPolicyServiceImplTest (org.forgerock.openam.uma.rest.UmaPolicyServiceImplTest)8 Matchers.anyString (org.mockito.Matchers.anyString)8 ArrayList (java.util.ArrayList)7