private void testStructRoundTrip(Message message, short version) throws Exception { Struct struct = message.toStruct(version); Message message2 = message.getClass().newInstance(); message2.fromStruct(struct, version); assertEquals(message, message2); assertEquals(message.hashCode(), message2.hashCode()); assertEquals(message.toString(), message2.toString()); }
private void verifySizeSucceeds(short version, Message message) throws Exception { message.size(version); } }
private void testByteBufferRoundTrip(Message message, short version) throws Exception { int size = message.size(version); ByteBuffer buf = ByteBuffer.allocate(size); ByteBufferAccessor byteBufferAccessor = new ByteBufferAccessor(buf); message.write(byteBufferAccessor, version); assertEquals(size, buf.position()); Message message2 = message.getClass().newInstance(); buf.flip(); message2.read(byteBufferAccessor, version); assertEquals(size, buf.position()); assertEquals(message, message2); assertEquals(message.hashCode(), message2.hashCode()); assertEquals(message.toString(), message2.toString()); }
private void testMessageRoundTrips(Message message) throws Exception { testMessageRoundTrips(message, message.highestSupportedVersion()); }
/** * Verify that the JSON files support the same message versions as the * schemas accessible through the ApiKey class. */ @Test public void testMessageVersions() throws Exception { for (ApiKeys apiKey : ApiKeys.values()) { Message message = null; try { message = ApiMessageFactory.newRequest(apiKey.id); } catch (UnsupportedVersionException e) { fail("No request message spec found for API " + apiKey); } assertTrue("Request message spec for " + apiKey + " only " + "supports versions up to " + message.highestSupportedVersion(), apiKey.latestVersion() <= message.highestSupportedVersion()); try { message = ApiMessageFactory.newResponse(apiKey.id); } catch (UnsupportedVersionException e) { fail("No response message spec found for API " + apiKey); } assertTrue("Response message spec for " + apiKey + " only " + "supports versions up to " + message.highestSupportedVersion(), apiKey.latestVersion() <= message.highestSupportedVersion()); } }
private void verifySizeRaisesUve(short version, String problemFieldName, Message message) throws Exception { try { message.size(version); fail("Expected to see an UnsupportedVersionException when writing " + message + " at version " + version); } catch (UnsupportedVersionException e) { assertTrue("Expected to get an error message about " + problemFieldName, e.getMessage().contains(problemFieldName)); } }