@Test public void testJavaToOctetStreamConversion() throws IOException, InterruptedException { JavaSerializationMarshaller marshaller = new JavaSerializationMarshaller(); String string = "I've seen things you people wouldn't believe."; Double number = 12.1d; Calendar complex = Calendar.getInstance(); byte[] binary = new byte[]{1, 2, 3}; MediaType stringType = APPLICATION_OBJECT.withParameter("type", "java.lang.String"); byte[] result = StandardConversions.convertJavaToOctetStream(string, stringType, marshaller); assertArrayEquals(string.getBytes(UTF_8), result); MediaType doubleType = APPLICATION_OBJECT.withParameter("type", "java.lang.Double"); result = StandardConversions.convertJavaToOctetStream(number, doubleType, marshaller); assertArrayEquals(marshaller.objectToByteBuffer(number), result); MediaType customType = APPLICATION_OBJECT.withParameter("type", complex.getClass().getName()); result = StandardConversions.convertJavaToOctetStream(complex, customType, marshaller); assertArrayEquals(marshaller.objectToByteBuffer(complex), result); MediaType byteArrayType = APPLICATION_OBJECT.withParameter("type", "ByteArray"); result = StandardConversions.convertJavaToOctetStream(binary, byteArrayType, marshaller); assertArrayEquals(result, binary); }
@Test public void shouldNegotiateFromDefaultCacheWithBinary() throws Exception { TestClass testClass = new TestClass(); byte[] javaSerialized = new JavaSerializationMarshaller().objectToByteBuffer(testClass); putBinaryValueInCache("default", "test", javaSerialized, APPLICATION_OCTET_STREAM); ContentResponse response = get("default", "test", APPLICATION_OCTET_STREAM_TYPE); ResponseAssertion.assertThat(response).hasContentType(APPLICATION_OCTET_STREAM_TYPE); ResponseAssertion.assertThat(response).hasReturnedBytes(javaSerialized); }
@Test public void testHexConversion() throws Exception { assertNull(bytesToHex(null)); assertNull(hexToBytes(null)); assertEquals("", bytesToHex(new byte[]{})); assertArrayEquals(new byte[]{}, hexToBytes("")); JavaSerializationMarshaller marshaller = new JavaSerializationMarshaller(); byte[] before = marshaller.objectToByteBuffer(Calendar.getInstance()); byte[] after = hexToBytes(bytesToHex(before)); assertArrayEquals(before, after); assertEquals("0x010203", bytesToHex(new byte[]{1, 2, 3})); assertEquals("0x808080", bytesToHex(new byte[]{-128, -128, -128})); } }
byte[] jsonMarshalled = (byte[]) new JsonTranscoder().transcode(value, APPLICATION_OBJECT, APPLICATION_JSON); byte[] xmlMarshalled = (byte[]) new XMLTranscoder().transcode(value, APPLICATION_OBJECT, APPLICATION_XML); byte[] javaMarshalled = new JavaSerializationMarshaller().objectToByteBuffer(value);