public static void performAndVerifyHandshake(Socket socket) throws IOException { sendHandshake(socket); verifyHandshakeSuccess(socket); }
public static ClientProtocol.Message makeGetSizeRequestMessage(String requestRegion) { return ClientProtocol.Message.newBuilder().setGetSizeRequest(makeGetSizeRequest(requestRegion)) .build(); }
@Test public void testSerializeMessageToByteArray() throws IOException { ClientProtocol.Message message = MessageUtil.createGetRequestMessage(); ByteArrayOutputStream expectedByteArrayOutputStream = new ByteArrayOutputStream(); message.writeDelimitedTo(expectedByteArrayOutputStream); byte[] expectedByteArray = expectedByteArrayOutputStream.toByteArray(); ByteArrayOutputStream actualByteArrayOutputStream = new ByteArrayOutputStream(); protocolSerializer.serialize(message, actualByteArrayOutputStream); Assert.assertArrayEquals(expectedByteArray, actualByteArrayOutputStream.toByteArray()); } }
private void verifyVersionMessageFails(ProtocolVersion.NewConnectionClientVersion versionRequest) throws Exception { ByteArrayInputStream inputStream = MessageUtil.writeMessageDelimitedToInputStream(versionRequest); ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); try { protocolVersionHandler.handleVersionMessage(inputStream, outputStream, mock(ClientStatistics.class)); fail("Invalid version should throw IOException"); } catch (IOException e) { // expected if version verification fails } ProtocolVersion.VersionAcknowledgement versionResponse = ProtocolVersion.VersionAcknowledgement .parseDelimitedFrom(new ByteArrayInputStream(outputStream.toByteArray())); assertFalse(versionResponse.getVersionAccepted()); }
public static ClientProtocol.Message createGetRequestMessage() { ClientProtocol.Message.Builder messageBuilder = ClientProtocol.Message.newBuilder(); messageBuilder.setGetRequest(getGetRequestBuilder()); return messageBuilder.build(); }
@Test public void processReturnsNoCacheRegions() throws Exception { InternalCache emptyCache = mock(InternalCacheForClientAccess.class); doReturn(emptyCache).when(emptyCache).getCacheForProcessingClientRequests(); when(emptyCache.rootRegions()) .thenReturn(Collections.unmodifiableSet(new HashSet<Region<String, String>>())); String unknownRegionName = "UNKNOWN_REGION"; expectedException.expect(RegionDestroyedException.class); operationHandler.process(serializationService, MessageUtil.makeGetSizeRequest(unknownRegionName), getNoAuthCacheExecutionContext(emptyCache)); } }
@Test public void testDeserializeByteArrayToMessage() throws IOException, InvalidProtocolMessageException { ClientProtocol.Message expectedRequestMessage = MessageUtil.createGetRequestMessage(); ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); expectedRequestMessage.writeDelimitedTo(byteArrayOutputStream); InputStream inputStream = new ByteArrayInputStream(byteArrayOutputStream.toByteArray()); ClientProtocol.Message actualMessage = protocolSerializer.deserialize(inputStream); Assert.assertEquals(expectedRequestMessage, actualMessage); }
@Test public void testCurrentVersionVersionMessageSucceeds() throws Exception { ProtocolVersion.NewConnectionClientVersion versionRequest = generateVersionMessageRequest(ProtocolVersion.MajorVersions.CURRENT_MAJOR_VERSION_VALUE, ProtocolVersion.MinorVersions.CURRENT_MINOR_VERSION_VALUE); ByteArrayInputStream inputStream = MessageUtil.writeMessageDelimitedToInputStream(versionRequest); ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); assertTrue(protocolVersionHandler.handleVersionMessage(inputStream, outputStream, mock(ClientStatistics.class))); ProtocolVersion.VersionAcknowledgement versionResponse = ProtocolVersion.VersionAcknowledgement .parseDelimitedFrom(new ByteArrayInputStream(outputStream.toByteArray())); assertTrue(versionResponse.getVersionAccepted()); assertEquals(ProtocolVersion.MajorVersions.CURRENT_MAJOR_VERSION_VALUE, versionResponse.getServerMajorVersion()); assertEquals(ProtocolVersion.MinorVersions.CURRENT_MINOR_VERSION_VALUE, versionResponse.getServerMinorVersion()); }
@Test public void processReturnsCacheRegions() throws Exception { RegionAttributes regionAttributesStub = mock(RegionAttributes.class); when(cacheStub.getRegion(TEST_REGION1)).thenReturn(region1Stub); when(region1Stub.getName()).thenReturn(TEST_REGION1); when(region1Stub.size()).thenReturn(10); when(region1Stub.getAttributes()).thenReturn(regionAttributesStub); when(regionAttributesStub.getDataPolicy()).thenReturn(DataPolicy.PERSISTENT_REPLICATE); when(regionAttributesStub.getKeyConstraint()).thenReturn(String.class); when(regionAttributesStub.getValueConstraint()).thenReturn(Integer.class); when(regionAttributesStub.getScope()).thenReturn(Scope.DISTRIBUTED_ACK); Result result = operationHandler.process(serializationService, MessageUtil.makeGetSizeRequest(TEST_REGION1), getNoAuthCacheExecutionContext(cacheStub)); RegionAPI.GetSizeResponse response = (RegionAPI.GetSizeResponse) result.getMessage(); Assert.assertEquals(10, response.getSize()); }