@Override public void open(RpcController controller, ProtocolOpenRequest request, RpcCallback<ProtocolWaveletUpdate> callback) { assertTrue(receivedOpenRequest.compareAndSet(false, true)); assertEquals(USER, request.getParticipantId()); assertEquals(WAVE, request.getWaveId()); // Return a valid response. callback.run(cannedResponse); // Falling out of this method will automatically finish this RPC. callback.run(null); // TODO: terrible idea? }
ProtocolOpenRequest.newBuilder().setParticipantId("").setWaveId("").build(); stub.open(controller, request, new RpcCallback<ProtocolWaveletUpdate>() { @Override
ProtocolOpenRequest.newBuilder().setParticipantId("").setWaveId("").build(); stub.open(controller, request, new RpcCallback<ProtocolWaveletUpdate>() { @Override
ProtocolOpenRequest.newBuilder().setParticipantId(USER).setWaveId(WAVE).build(); stub.open(controller, request, new RpcCallback<ProtocolWaveletUpdate>() { @Override
ProtocolOpenRequest.newBuilder().setParticipantId(USER).setWaveId(WAVE).build(); stub.open(controller, request, new RpcCallback<ProtocolWaveletUpdate>() { @Override
WaveId waveId; try { waveId = ModernIdSerialiser.INSTANCE.deserialiseWaveId(request.getWaveId()); } catch (InvalidIdException e) { LOG.warning("Invalid id in open", e); IdFilter.of(Collections.<WaveletId>emptySet(), request.getWaveletIdPrefixList()); frontend.openRequest(loggedInUser, waveId, waveletIdFilter, request.getKnownWaveletList(), new ClientFrontend.OpenListener() { @Override
ProtocolOpenRequest.newBuilder().setParticipantId("").setWaveId("").build(); stub.open(controller, request, new RpcCallback<ProtocolWaveletUpdate>() { @Override
ProtocolOpenRequest.newBuilder().setParticipantId("").setWaveId("").build(); stub.open(controller, request, new RpcCallback<ProtocolWaveletUpdate>() { @Override
/** * Tests that an open results in a proper wavelet update. */ public void testOpenUpdate() { ProtocolOpenRequest request = ProtocolOpenRequest.newBuilder() .setParticipantId(USER) .setWaveId(ModernIdSerialiser.INSTANCE.serialiseWaveId(WAVE_ID)).build(); counter = 0; rpcImpl.open(controller, request, new RpcCallback<ProtocolWaveletUpdate>() { @Override public void run(ProtocolWaveletUpdate update) { ++counter; assertEquals(WAVELET_NAME, getWaveletName(update.getWaveletName())); assertEquals(DELTAS.size(), update.getAppliedDeltaCount()); for (int i = 0; i < update.getAppliedDeltaCount(); ++i) { assertEquals(DELTAS.get(i), update.getAppliedDelta(i)); } assertFalse(update.hasCommitNotice()); } }); long dummyCreationTime = System.currentTimeMillis(); WaveletData wavelet = WaveletDataUtil.createEmptyWavelet(WAVELET_NAME, PARTICIPANT, BEGIN_VERSION, dummyCreationTime); frontend.waveletUpdate(wavelet, POJO_DELTAS); assertEquals(1, counter); assertFalse(controller.failed()); }
/** * Tests that an open results in a proper wavelet update. */ public void testOpenUpdate() { ProtocolOpenRequest request = ProtocolOpenRequest.newBuilder() .setParticipantId(USER) .setWaveId(ModernIdSerialiser.INSTANCE.serialiseWaveId(WAVE_ID)).build(); counter = 0; rpcImpl.open(controller, request, new RpcCallback<ProtocolWaveletUpdate>() { @Override public void run(ProtocolWaveletUpdate update) { ++counter; assertEquals(WAVELET_NAME, getWaveletName(update.getWaveletName())); assertEquals(DELTAS.size(), update.getAppliedDeltaCount()); for (int i = 0; i < update.getAppliedDeltaCount(); ++i) { assertEquals(DELTAS.get(i), update.getAppliedDelta(i)); } assertFalse(update.hasCommitNotice()); } }); long dummyCreationTime = System.currentTimeMillis(); WaveletData wavelet = WaveletDataUtil.createEmptyWavelet(WAVELET_NAME, PARTICIPANT, BEGIN_VERSION, dummyCreationTime); frontend.waveletUpdate(wavelet, POJO_DELTAS); assertEquals(1, counter); assertFalse(controller.failed()); }
/** * Tests that a bad wave id request is gracefully handled. */ public void testOpenEncodingError() { ProtocolOpenRequest request = ProtocolOpenRequest.newBuilder() .setParticipantId(USER) .setWaveId("badwaveid").build(); counter = 0; try { rpcImpl.open(controller, request, new RpcCallback<ProtocolWaveletUpdate>() { @Override public void run(ProtocolWaveletUpdate update) { ++counter; fail("Unexpected callback"); } }); } catch (IllegalArgumentException e) { controller.setFailed(FAIL_MESSAGE); } assertEquals(0, counter); assertTrue(controller.failed()); assertFalse(controller.errorText().isEmpty()); }
/** * Tests that a bad wave id request is gracefully handled. */ public void testOpenEncodingError() { ProtocolOpenRequest request = ProtocolOpenRequest.newBuilder() .setParticipantId(USER) .setWaveId("badwaveid").build(); counter = 0; try { rpcImpl.open(controller, request, new RpcCallback<ProtocolWaveletUpdate>() { @Override public void run(ProtocolWaveletUpdate update) { ++counter; fail("Unexpected callback"); } }); } catch (IllegalArgumentException e) { controller.setFailed(FAIL_MESSAGE); } assertEquals(0, counter); assertTrue(controller.failed()); assertFalse(controller.errorText().isEmpty()); }
/** * Tests that an open results in a proper wavelet commit update. */ public void testOpenCommit() { ProtocolOpenRequest request = ProtocolOpenRequest.newBuilder() .setParticipantId(USER) .setWaveId(ModernIdSerialiser.INSTANCE.serialiseWaveId(WAVE_ID)).build(); counter = 0; rpcImpl.open(controller, request, new RpcCallback<ProtocolWaveletUpdate>() { @Override public void run(ProtocolWaveletUpdate update) { ++counter; assertEquals(WAVELET_NAME, getWaveletName(update.getWaveletName())); assertTrue(update.hasCommitNotice()); assertEquals(BEGIN_VERSION, CoreWaveletOperationSerializer.deserialize(update.getCommitNotice())); } }); frontend.waveletCommitted(WAVELET_NAME, BEGIN_VERSION); assertEquals(1, counter); assertFalse(controller.failed()); }
/** * Tests that an open results in a proper wavelet commit update. */ public void testOpenCommit() { ProtocolOpenRequest request = ProtocolOpenRequest.newBuilder() .setParticipantId(USER) .setWaveId(ModernIdSerialiser.INSTANCE.serialiseWaveId(WAVE_ID)).build(); counter = 0; rpcImpl.open(controller, request, new RpcCallback<ProtocolWaveletUpdate>() { @Override public void run(ProtocolWaveletUpdate update) { ++counter; assertEquals(WAVELET_NAME, getWaveletName(update.getWaveletName())); assertTrue(update.hasCommitNotice()); assertEquals(BEGIN_VERSION, CoreWaveletOperationSerializer.deserialize(update.getCommitNotice())); } }); frontend.waveletCommitted(WAVELET_NAME, BEGIN_VERSION); assertEquals(1, counter); assertFalse(controller.failed()); }
/** * Tests that an open failure results in a proper wavelet failure update. */ public void testOpenFailure() { ProtocolOpenRequest request = ProtocolOpenRequest.newBuilder() .setParticipantId(USER) .setWaveId(ModernIdSerialiser.INSTANCE.serialiseWaveId(WAVE_ID)).build(); counter = 0; rpcImpl.open(controller, request, new RpcCallback<ProtocolWaveletUpdate>() { @Override public void run(ProtocolWaveletUpdate update) { ++counter; } }); frontend.doUpdateFailure(WAVE_ID, FAIL_MESSAGE); assertEquals(0, counter); assertTrue(controller.failed()); assertEquals(FAIL_MESSAGE, controller.errorText()); }
/** * Tests that an open failure results in a proper wavelet failure update. */ public void testOpenFailure() { ProtocolOpenRequest request = ProtocolOpenRequest.newBuilder() .setParticipantId(USER) .setWaveId(ModernIdSerialiser.INSTANCE.serialiseWaveId(WAVE_ID)).build(); counter = 0; rpcImpl.open(controller, request, new RpcCallback<ProtocolWaveletUpdate>() { @Override public void run(ProtocolWaveletUpdate update) { ++counter; } }); frontend.doUpdateFailure(WAVE_ID, FAIL_MESSAGE); assertEquals(0, counter); assertTrue(controller.failed()); assertEquals(new ChannelException(ResponseCode.INTERNAL_ERROR, FAIL_MESSAGE, null, Recoverable.NOT_RECOVERABLE, WAVE_ID, null).serialize(), controller.errorText()); }
private WaveClientRpc.ProtocolOpenRequest.Builder buildProtocolOpenRequest() { WaveClientRpc.ProtocolOpenRequest.Builder sourceBuilder = WaveClientRpc.ProtocolOpenRequest.newBuilder(); sourceBuilder.setParticipantId("test@example.com"); sourceBuilder.setWaveId("example.com!w+test"); return sourceBuilder; } }
private WaveClientRpc.ProtocolOpenRequest.Builder buildProtocolOpenRequest() { WaveClientRpc.ProtocolOpenRequest.Builder sourceBuilder = WaveClientRpc.ProtocolOpenRequest .newBuilder(); sourceBuilder.setParticipantId("test@example.com"); sourceBuilder.setWaveId("example.com!w+test"); return sourceBuilder; } }
@Override public void open(RpcController controller, ProtocolOpenRequest request, RpcCallback<ProtocolWaveletUpdate> callback) { assertTrue(receivedOpenRequest.compareAndSet(false, true)); assertEquals(USER, request.getParticipantId()); assertEquals(WAVE, request.getWaveId()); // Return a valid response. callback.run(cannedResponse); // Falling out of this method will automatically finish this RPC. callback.run(null); // TODO: terrible idea? }