Repository: curator Updated Branches: refs/heads/CURATOR-394 e7f55f890 -> 3ca02ea7f
Added testForwardCompatibility Project: http://git-wip-us.apache.org/repos/asf/curator/repo Commit: http://git-wip-us.apache.org/repos/asf/curator/commit/3ca02ea7 Tree: http://git-wip-us.apache.org/repos/asf/curator/tree/3ca02ea7 Diff: http://git-wip-us.apache.org/repos/asf/curator/diff/3ca02ea7 Branch: refs/heads/CURATOR-394 Commit: 3ca02ea7f076d40333d664dd609962d0fe2e4c5f Parents: e7f55f8 Author: randgalt <[email protected]> Authored: Thu May 18 11:39:20 2017 +0200 Committer: randgalt <[email protected]> Committed: Thu May 18 11:39:20 2017 +0200 ---------------------------------------------------------------------- ...TestJsonInstanceSerializerCompatibility.java | 21 ++++++++++++++++++++ 1 file changed, 21 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/curator/blob/3ca02ea7/curator-x-discovery/src/test/java/org/apache/curator/x/discovery/details/TestJsonInstanceSerializerCompatibility.java ---------------------------------------------------------------------- diff --git a/curator-x-discovery/src/test/java/org/apache/curator/x/discovery/details/TestJsonInstanceSerializerCompatibility.java b/curator-x-discovery/src/test/java/org/apache/curator/x/discovery/details/TestJsonInstanceSerializerCompatibility.java index 6ac19c2..6e0e63e 100644 --- a/curator-x-discovery/src/test/java/org/apache/curator/x/discovery/details/TestJsonInstanceSerializerCompatibility.java +++ b/curator-x-discovery/src/test/java/org/apache/curator/x/discovery/details/TestJsonInstanceSerializerCompatibility.java @@ -73,6 +73,27 @@ public class TestJsonInstanceSerializerCompatibility } @Test + public void testForwardCompatibility() throws Exception + { + OldServiceInstance<TestJsonInstanceSerializer.Payload> oldInstance = new OldServiceInstance<TestJsonInstanceSerializer.Payload>("name", "id", "address", 10, 20, new TestJsonInstanceSerializer.Payload("test"), 0, ServiceType.DYNAMIC, new UriSpec("{a}/b/{c}")); + ObjectMapper mapper = new ObjectMapper(); + byte[] oldJson = mapper.writeValueAsBytes(oldInstance); + + JsonInstanceSerializer<TestJsonInstanceSerializer.Payload> serializer = new JsonInstanceSerializer<TestJsonInstanceSerializer.Payload>(TestJsonInstanceSerializer.Payload.class); + ServiceInstance<TestJsonInstanceSerializer.Payload> instance = serializer.deserialize(oldJson); + Assert.assertEquals(oldInstance.getName(), instance.getName()); + Assert.assertEquals(oldInstance.getId(), instance.getId()); + Assert.assertEquals(oldInstance.getAddress(), instance.getAddress()); + Assert.assertEquals(oldInstance.getPort(), instance.getPort()); + Assert.assertEquals(oldInstance.getSslPort(), instance.getSslPort()); + Assert.assertEquals(oldInstance.getPayload(), instance.getPayload()); + Assert.assertEquals(oldInstance.getRegistrationTimeUTC(), instance.getRegistrationTimeUTC()); + Assert.assertEquals(oldInstance.getServiceType(), instance.getServiceType()); + Assert.assertEquals(oldInstance.getUriSpec(), instance.getUriSpec()); + Assert.assertTrue(instance.isEnabled()); + } + + @Test public void testFutureChanges() throws Exception { TestNewServiceInstance<String> newInstance = new TestNewServiceInstance<String>("name", "id", "address", 10, 20, "hey", 0, ServiceType.DYNAMIC, new UriSpec("{a}/b/{c}"), false, "what", 10101L, new Date(), new URI("http://hey"));
