throws RemoteInvocationException
{
// Setup - batch create two group memberships
CompoundKey key1 = buildCompoundKey(1, 1);
CompoundKey key2 = buildCompoundKey(2, 1);
GroupMembership groupMembership1 =
buildGroupMembership(null, "alfred@test.linkedin.com", "Alfred", "Hitchcock");
GroupMembership groupMembership2 =
buildGroupMembership(null, "bruce@test.linkedin.com", "Bruce", "Willis");
Map<CompoundKey, UpdateStatus> results = REST_CLIENT.sendRequest(membershipBuilders.batchUpdate()
.input(key1, groupMembership1)
.input(key2, groupMembership2)
.build()).getResponse().getEntity().getResults();
Assert.assertEquals(results.get(key1).getStatus().intValue(), 204);
Assert.assertEquals(results.get(key2).getStatus().intValue(), 204);
// BatchGet memberships
final RestliRequestOptions requestOptions = membershipBuilders.getRequestOptions();
Request<BatchKVResponse<CompoundKey, EntityResponse<GroupMembership>>> request = new GroupMembershipsRequestBuilders(requestOptions).batchGet()
.ids(key1, key2)
.fields(GroupMembership.fields().contactEmail())
.build();
Map<CompoundKey, EntityResponse<GroupMembership>> groupMemberships =
REST_CLIENT.sendRequest(request).getResponse().getEntity().getResults();
Assert.assertTrue(groupMemberships.containsKey(key1));
Assert.assertEquals(groupMemberships.get(key1).getEntity().getContactEmail(), "alfred@test.linkedin.com");
Assert.assertTrue(groupMemberships.containsKey(key2));
Assert.assertEquals(groupMemberships.get(key2).getEntity().getContactEmail(), "bruce@test.linkedin.com");
// Batch partial update
GroupMembership patchedGroupMembership1 = buildGroupMembership(null, "ALFRED@test.linkedin.com", "ALFRED", "Hitchcock");
GroupMembership patchedGroupMembership2 = buildGroupMembership(null, "BRUCE@test.linkedin.com", "BRUCE", "Willis");
Map<CompoundKey, PatchRequest<GroupMembership>> patchInputs = new HashMap<CompoundKey, PatchRequest<GroupMembership>>();
patchInputs.put(key1, PatchGenerator.diff(groupMembership1, patchedGroupMembership1));
patchInputs.put(key2, PatchGenerator.diff(groupMembership2, patchedGroupMembership2));