ModeledFrameworkImpl.set(T item, int version) was ignoring the version
Project: http://git-wip-us.apache.org/repos/asf/curator/repo Commit: http://git-wip-us.apache.org/repos/asf/curator/commit/05d37e96 Tree: http://git-wip-us.apache.org/repos/asf/curator/tree/05d37e96 Diff: http://git-wip-us.apache.org/repos/asf/curator/diff/05d37e96 Branch: refs/heads/CURATOR-419 Commit: 05d37e961978719ab1ebeb40ff7bd5e7a8605f5e Parents: 666b175 Author: randgalt <[email protected]> Authored: Sun Jul 16 14:53:30 2017 -0500 Committer: randgalt <[email protected]> Committed: Sun Jul 16 14:53:30 2017 -0500 ---------------------------------------------------------------------- .../modeled/details/ModeledFrameworkImpl.java | 2 +- .../x/async/modeled/TestModeledFramework.java | 30 +++++++------------- 2 files changed, 12 insertions(+), 20 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/curator/blob/05d37e96/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/details/ModeledFrameworkImpl.java ---------------------------------------------------------------------- diff --git a/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/details/ModeledFrameworkImpl.java b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/details/ModeledFrameworkImpl.java index 44011ee..aa98602 100644 --- a/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/details/ModeledFrameworkImpl.java +++ b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/details/ModeledFrameworkImpl.java @@ -156,7 +156,7 @@ public class ModeledFrameworkImpl<T> implements ModeledFramework<T> @Override public AsyncStage<String> set(T item, int version) { - return set(item, null, -1); + return set(item, null, version); } @Override http://git-wip-us.apache.org/repos/asf/curator/blob/05d37e96/curator-x-async/src/test/java/org/apache/curator/x/async/modeled/TestModeledFramework.java ---------------------------------------------------------------------- diff --git a/curator-x-async/src/test/java/org/apache/curator/x/async/modeled/TestModeledFramework.java b/curator-x-async/src/test/java/org/apache/curator/x/async/modeled/TestModeledFramework.java index 53eb517..a5ed998 100644 --- a/curator-x-async/src/test/java/org/apache/curator/x/async/modeled/TestModeledFramework.java +++ b/curator-x-async/src/test/java/org/apache/curator/x/async/modeled/TestModeledFramework.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.apache.curator.x.async.modeled; import com.google.common.collect.Sets; @@ -102,7 +103,8 @@ public class TestModeledFramework extends TestModeledFrameworkBase @Test public void testBadNode() { - complete(async.create().forPath(modelSpec.path().fullPath(), "fubar".getBytes()), (v, e) -> {}); // ignore error + complete(async.create().forPath(modelSpec.path().fullPath(), "fubar".getBytes()), (v, e) -> { + }); // ignore error ModeledFramework<TestModel> client = ModeledFramework.builder(async, modelSpec).watched().build(); complete(client.read(), (model, e) -> Assert.assertTrue(e instanceof KeeperException.NoNodeException)); @@ -112,11 +114,8 @@ public class TestModeledFramework extends TestModeledFrameworkBase public void testSchema() throws Exception { Schema schema = modelSpec.schema(); - try ( CuratorFramework schemaClient = CuratorFrameworkFactory.builder() - .connectString(server.getConnectString()) - .retryPolicy(new RetryOneTime(1)) - .schemaSet(new SchemaSet(Collections.singletonList(schema), false)) - .build() ) { + try (CuratorFramework schemaClient = CuratorFrameworkFactory.builder().connectString(server.getConnectString()).retryPolicy(new RetryOneTime(1)).schemaSet(new SchemaSet(Collections.singletonList(schema), false)).build()) + { schemaClient.start(); try @@ -138,7 +137,9 @@ public class TestModeledFramework extends TestModeledFrameworkBase public void testVersioned() { ModeledFramework<TestModel> client = ModeledFramework.wrap(async, modelSpec); - complete(client.set(new TestModel("John", "Galt", "Galt's Gulch", 21, BigInteger.valueOf(1010101)))); + TestModel model = new TestModel("John", "Galt", "Galt's Gulch", 21, BigInteger.valueOf(1010101)); + complete(client.set(model)); + complete(client.set(model)); // so that version goes to 1 VersionedModeledFramework<TestModel> versioned = client.versioned(); complete(versioned.read().whenComplete((v, e) -> { @@ -146,13 +147,8 @@ public class TestModeledFramework extends TestModeledFrameworkBase Assert.assertTrue(v.version() > 0); }).thenCompose(versioned::set), (s, e) -> Assert.assertNull(e)); // version is correct should succeed - complete(versioned.read().whenComplete((v, e) -> { - Assert.assertNull(e); - Assert.assertTrue(v.version() > 0); - }).thenCompose(value -> { - Versioned<TestModel> badVersion = Versioned.from(value.model(), Integer.MAX_VALUE); - return versioned.set(badVersion); - }).whenComplete((s, e) -> Assert.assertTrue(e instanceof KeeperException.BadVersionException))); + Versioned<TestModel> badVersion = Versioned.from(model, 100000); + complete(versioned.set(badVersion), (v, e) -> Assert.assertTrue(e instanceof KeeperException.BadVersionException)); } @Test @@ -164,11 +160,7 @@ public class TestModeledFramework extends TestModeledFrameworkBase complete(client.set(new TestModel("John", "Galt", "Galt's Gulch", 21, BigInteger.valueOf(1010101)))); complete(client.update(new TestModel("John", "Galt", "Galt's Gulch", 54, BigInteger.valueOf(88))), (__, e) -> Assert.assertNotNull(e, "Should've gotten an auth failure")); - try ( CuratorFramework authCurator = CuratorFrameworkFactory.builder() - .connectString(server.getConnectString()) - .retryPolicy(new RetryOneTime(1)) - .authorization("digest", "test:test".getBytes()) - .build() ) + try (CuratorFramework authCurator = CuratorFrameworkFactory.builder().connectString(server.getConnectString()).retryPolicy(new RetryOneTime(1)).authorization("digest", "test:test".getBytes()).build()) { authCurator.start(); ModeledFramework<TestModel> authClient = ModeledFramework.wrap(AsyncCuratorFramework.wrap(authCurator), aclModelSpec);
