use of org.forgerock.json.resource.ResourceResponse in project OpenAM by OpenRock.
the class UmaPolicyServiceImplDelegationTest method mockPolicyResourceDelegateForNewPolicy.
private void mockPolicyResourceDelegateForNewPolicy() {
final List<ResourceResponse> createdPolicies = new ArrayList<>();
ResourceResponse createdPolicy1 = newResourceResponse("ID_1", "REVISION_1", createBackendSubjectOnePolicyJson());
ResourceResponse createdPolicy2 = newResourceResponse("ID_1", "REVISION_1", createBackendSubjectTwoPolicyJson());
createdPolicies.add(createdPolicy1);
createdPolicies.add(createdPolicy2);
Promise<List<ResourceResponse>, ResourceException> createPolicyPromise = newResultPromise(createdPolicies);
given(policyResourceDelegate.createPolicies(any(Context.class), anySetOf(JsonValue.class))).willReturn(createPolicyPromise);
Promise<Pair<QueryResponse, List<ResourceResponse>>, ResourceException> queryPromise = new NotFoundException().asPromise();
given(policyResourceDelegate.queryPolicies(any(Context.class), any(QueryRequest.class))).willReturn(queryPromise);
given(policyResourceDelegate.queryPolicies(any(Context.class), any(QueryRequest.class), any(QueryResourceHandler.class))).willAnswer(new Answer<Promise<QueryResponse, ResourceException>>() {
@Override
public Promise<QueryResponse, ResourceException> answer(InvocationOnMock invocation) throws Throwable {
final PolicyGraph policyGraph = (PolicyGraph) invocation.getArguments()[2];
for (ResourceResponse r : createdPolicies) {
policyGraph.handleResource(r);
}
policyGraph.handleResult(newQueryResponse());
return newResultPromise(newQueryResponse());
}
});
}
use of org.forgerock.json.resource.ResourceResponse in project OpenAM by OpenRock.
the class UmaPolicyServiceImplDelegationTest method mockPolicyResourceDelegateForUpdatedPolicy.
private void mockPolicyResourceDelegateForUpdatedPolicy() {
List<ResourceResponse> currentPolicies = new ArrayList<>();
ResourceResponse currentPolicy1 = newResourceResponse("ID_1", "REVISION_1", createBackendSubjectOnePolicyJson());
ResourceResponse currentPolicy2 = newResourceResponse("ID_2", "REVISION_1", createBackendSubjectTwoPolicyJson());
currentPolicies.add(currentPolicy1);
currentPolicies.add(currentPolicy2);
Promise<Pair<QueryResponse, List<ResourceResponse>>, ResourceException> queryPromise = newResultPromise(Pair.of((QueryResponse) null, currentPolicies));
given(policyResourceDelegate.queryPolicies(any(Context.class), any(QueryRequest.class))).willReturn(queryPromise);
final List<ResourceResponse> updatedPolicies = new ArrayList<>();
ResourceResponse updatedPolicy1 = newResourceResponse("ID_1", "REVISION_1", createBackendSubjectOnePolicyJson());
ResourceResponse updatedPolicy3 = newResourceResponse("ID_3", "REVISION_1", createBackendSubjectTwoPolicyJson());
updatedPolicies.add(updatedPolicy1);
updatedPolicies.add(updatedPolicy3);
Promise<List<ResourceResponse>, ResourceException> updatePolicyPromise = newResultPromise(updatedPolicies);
given(policyResourceDelegate.updatePolicies(any(Context.class), Matchers.<Set<JsonValue>>anyObject())).willReturn(updatePolicyPromise);
given(policyResourceDelegate.queryPolicies(any(Context.class), any(QueryRequest.class), any(QueryResourceHandler.class))).willAnswer(new Answer<Promise<QueryResponse, ResourceException>>() {
@Override
public Promise<QueryResponse, ResourceException> answer(InvocationOnMock invocation) throws Throwable {
final PolicyGraph policyGraph = (PolicyGraph) invocation.getArguments()[2];
for (ResourceResponse r : updatedPolicies) {
policyGraph.handleResource(r);
}
policyGraph.handleResult(newQueryResponse());
return newResultPromise(newQueryResponse());
}
});
}
use of org.forgerock.json.resource.ResourceResponse in project OpenAM by OpenRock.
the class UmaLabelResourceTest method createInstance.
/**
* Should successfully create an UMA Label.
*/
@Test
public void createInstance() throws ResourceException {
//Given
JsonValue umaLabel = json(object(field(NAME_ATTRIBUTE_NAME, LABEL_NAME), field(TYPE_ATTRIBUTE_NAME, LABEL_TYPE)));
given(createRequest.getContent()).willReturn(umaLabel);
given(contextHelper.getRealm(serverContext)).willReturn(REALM_NAME);
given(contextHelper.getUserId(serverContext)).willReturn(RESOURCE_OWNER_ID);
final ResourceSetLabel resourceSetLabel = new ResourceSetLabel(null, LABEL_NAME, LabelType.valueOf(LABEL_TYPE), Collections.EMPTY_SET);
given(umaLabelsStore.create(REALM_NAME, RESOURCE_OWNER_ID, resourceSetLabel)).willReturn(resourceSetLabel);
//When
Promise<ResourceResponse, ResourceException> promise = umaLabelResource.createInstance(serverContext, createRequest);
//Then
verify(umaLabelsStore, Mockito.times(1)).create(REALM_NAME, RESOURCE_OWNER_ID, resourceSetLabel);
assertThat(promise).succeeded();
}
use of org.forgerock.json.resource.ResourceResponse 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.json.resource.ResourceResponse in project OpenAM by OpenRock.
the class UmaPolicyResourceTest method shouldSuccessfullyDeletePolicy.
@Test
@SuppressWarnings("unchecked")
public void shouldSuccessfullyDeletePolicy() {
//Given
Context context = mock(Context.class);
DeleteRequest request = Requests.newDeleteRequest("/policies");
Promise<Void, ResourceException> promise = Promises.newResultPromise(null);
given(policyService.deletePolicy(context, "RESOURCE_SET_UID")).willReturn(promise);
//When
Promise<ResourceResponse, ResourceException> result = policyResource.deleteInstance(context, "RESOURCE_SET_UID", request);
//Then
assertThat(result).succeeded().withId().isEqualTo("RESOURCE_SET_UID");
assertThat(result).succeeded().withRevision().isEqualTo("0");
assertThat(result).succeeded().withContent().isEmpty();
}
Aggregations