use of org.forgerock.openam.uma.UmaPolicy in project OpenAM by OpenRock.
the class UmaPolicyResourceTest method shouldSuccessfullyCreatePolicy.
@Test
@SuppressWarnings("unchecked")
public void shouldSuccessfullyCreatePolicy() {
//Given
Context context = mock(Context.class);
CreateRequest request = Requests.newCreateRequest("/policies", json(object()));
UmaPolicy policy = mock(UmaPolicy.class);
Promise<UmaPolicy, ResourceException> promise = Promises.newResultPromise(policy);
given(policy.getId()).willReturn("ID");
given(policy.getRevision()).willReturn("REVISION");
given(policyService.createPolicy(context, request.getContent())).willReturn(promise);
//When
Promise<ResourceResponse, ResourceException> result = policyResource.createInstance(context, request);
//Then
assertThat(result).succeeded().withId().isEqualTo("ID");
assertThat(result).succeeded().withRevision().isEqualTo("REVISION");
assertThat(result).succeeded().withContent().isEmpty();
}
use of org.forgerock.openam.uma.UmaPolicy in project OpenAM by OpenRock.
the class UmaPolicyServiceImplDelegationTest method bobShouldNotBeAbleToCreatePolicyForResourceNotSharedByAlice.
@Test
public void bobShouldNotBeAbleToCreatePolicyForResourceNotSharedByAlice() throws Exception {
//Given
userIsLoggedIn("bob", "REALM");
accessingUriForUser("bob");
String resourceSetId = registerResourceSet("alice");
JsonValue policy = policyToCreate(resourceSetId);
Context context = getContext();
//When
Promise<UmaPolicy, ResourceException> promise = policyService.createPolicy(context, policy);
//Then
assertThat(promise).failedWithException().isInstanceOf(ForbiddenException.class);
verifyPolicyIsNotCreatedForLoggedInUser();
verifyAuditLogNotCreatedForLoggedInUser(resourceSetId);
}
use of org.forgerock.openam.uma.UmaPolicy in project OpenAM by OpenRock.
the class UmaPolicyServiceImplDelegationTest method bobShouldNotBeAbleToUpdatePolicyForResourceWithMoreScopesThanSharedByAlice.
@Test
public void bobShouldNotBeAbleToUpdatePolicyForResourceWithMoreScopesThanSharedByAlice() throws Exception {
//Given
userIsLoggedIn("bob", "REALM");
accessingUriForUser("bob");
String resourceSetId = registerResourceSet("alice");
createPolicyFor("bob", resourceSetId, "SCOPE_B");
createPolicyFor("charlie", resourceSetId, "SCOPE_A", "SCOPE_B");
JsonValue policy = policyToUpdate(resourceSetId);
Context context = getContext();
//When
Promise<UmaPolicy, ResourceException> promise = policyService.updatePolicy(context, resourceSetId, policy);
//Then
assertThat(promise).failedWithException().isInstanceOf(ForbiddenException.class);
}
use of org.forgerock.openam.uma.UmaPolicy in project OpenAM by OpenRock.
the class UmaPolicyResourceTest method shouldSuccessfullyQueryPolicies.
@Test
public void shouldSuccessfullyQueryPolicies() {
//Given
Context context = mock(Context.class);
QueryRequest request = Requests.newQueryRequest("/policies");
QueryResourceHandler handler = mock(QueryResourceHandler.class);
given(handler.handleResource(any(ResourceResponse.class))).willReturn(true);
QueryResponse queryResult = newQueryResponse();
Collection<UmaPolicy> umaPolicies = new HashSet<UmaPolicy>();
UmaPolicy policy1 = mock(UmaPolicy.class);
UmaPolicy policy2 = mock(UmaPolicy.class);
umaPolicies.add(policy1);
umaPolicies.add(policy2);
Promise<Pair<QueryResponse, Collection<UmaPolicy>>, ResourceException> promise = Promises.newResultPromise(Pair.of(queryResult, umaPolicies));
given(policyService.queryPolicies(context, request)).willReturn(promise);
//When
policyResource.queryCollection(context, request, handler);
//Then
verify(handler, times(2)).handleResource(Matchers.<ResourceResponse>anyObject());
}
use of org.forgerock.openam.uma.UmaPolicy in project OpenAM by OpenRock.
the class UmaPolicyResourceTest method shouldHandledFailedUpdatePolicy.
@Test
@SuppressWarnings("unchecked")
public void shouldHandledFailedUpdatePolicy() {
//Given
Context context = mock(Context.class);
UpdateRequest request = Requests.newUpdateRequest("/policies", json(object()));
ResourceException resourceException = mock(ResourceException.class);
Promise<UmaPolicy, ResourceException> promise = Promises.newExceptionPromise(resourceException);
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).failedWithResourceException().isEqualTo(resourceException);
}
Aggregations