package com.netflix.eureka.cluster.protocol; import com.netflix.discovery.converters.EurekaJacksonCodec; import com.netflix.discovery.shared.transport.ClusterSampleData; import org.junit.Test; import static org.hamcrest.CoreMatchers.equalTo; import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertThat; /** * @author Tomasz Bak */ public class JacksonEncodingTest { private final EurekaJacksonCodec jacksonCodec = new EurekaJacksonCodec(); @Test public void testReplicationInstanceEncoding() throws Exception { ReplicationInstance replicationInstance = ClusterSampleData.newReplicationInstance(); // Encode / decode String jsonText = jacksonCodec.writeToString(replicationInstance); ReplicationInstance decodedValue = jacksonCodec.readValue(ReplicationInstance.class, jsonText); assertThat(decodedValue, is(equalTo(replicationInstance))); } @Test public void testReplicationInstanceResponseEncoding() throws Exception { ReplicationInstanceResponse replicationInstanceResponse = ClusterSampleData.newReplicationInstanceResponse(true); // Encode / decode String jsonText = jacksonCodec.writeToString(replicationInstanceResponse); ReplicationInstanceResponse decodedValue = jacksonCodec.readValue(ReplicationInstanceResponse.class, jsonText); assertThat(decodedValue, is(equalTo(replicationInstanceResponse))); } @Test public void testReplicationListEncoding() throws Exception { ReplicationList replicationList = new ReplicationList(); replicationList.addReplicationInstance(ClusterSampleData.newReplicationInstance()); // Encode / decode String jsonText = jacksonCodec.writeToString(replicationList); ReplicationList decodedValue = jacksonCodec.readValue(ReplicationList.class, jsonText); assertThat(decodedValue, is(equalTo(replicationList))); } @Test public void testReplicationListResponseEncoding() throws Exception { ReplicationListResponse replicationListResponse = new ReplicationListResponse(); replicationListResponse.addResponse(ClusterSampleData.newReplicationInstanceResponse(false)); // Encode / decode String jsonText = jacksonCodec.writeToString(replicationListResponse); ReplicationListResponse decodedValue = jacksonCodec.readValue(ReplicationListResponse.class, jsonText); assertThat(decodedValue, is(equalTo(replicationListResponse))); } }