Repository: curator Updated Branches: refs/heads/CURATOR-397 7a15af6ac -> 6428a9238
Added a test for ACLs Project: http://git-wip-us.apache.org/repos/asf/curator/repo Commit: http://git-wip-us.apache.org/repos/asf/curator/commit/6428a923 Tree: http://git-wip-us.apache.org/repos/asf/curator/tree/6428a923 Diff: http://git-wip-us.apache.org/repos/asf/curator/diff/6428a923 Branch: refs/heads/CURATOR-397 Commit: 6428a9238892eba6e9f89551ed4602d2a7c5a04f Parents: 7a15af6 Author: randgalt <[email protected]> Authored: Thu May 18 15:32:38 2017 +0200 Committer: randgalt <[email protected]> Committed: Thu May 18 15:32:38 2017 +0200 ---------------------------------------------------------------------- .../x/async/modeled/TestModeledFramework.java | 27 ++++++++++++++++++++ 1 file changed, 27 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/curator/blob/6428a923/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 9157d6f..42a9e63 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 @@ -32,10 +32,16 @@ import org.apache.curator.x.async.modeled.models.TestNewerModel; import org.apache.curator.x.async.modeled.versioned.Versioned; import org.apache.curator.x.async.modeled.versioned.VersionedModeledFramework; import org.apache.zookeeper.KeeperException; +import org.apache.zookeeper.ZooDefs; +import org.apache.zookeeper.data.ACL; +import org.apache.zookeeper.data.Id; +import org.apache.zookeeper.server.auth.DigestAuthenticationProvider; import org.testng.Assert; import org.testng.annotations.Test; import java.math.BigInteger; +import java.security.NoSuchAlgorithmException; import java.util.Collections; +import java.util.List; import java.util.Set; import java.util.concurrent.CountDownLatch; @@ -148,4 +154,25 @@ public class TestModeledFramework extends TestModeledFrameworkBase return versioned.set(badVersion); }).whenComplete((s, e) -> Assert.assertTrue(e instanceof KeeperException.BadVersionException))); } + + @Test + public void testAcl() throws NoSuchAlgorithmException + { + List<ACL> aclList = Collections.singletonList(new ACL(ZooDefs.Perms.WRITE, new Id("digest", DigestAuthenticationProvider.generateDigest("test:test")))); + ModelSpec<TestModel> aclModelSpec = ModelSpec.builder(modelSpec.path(), modelSpec.serializer()).withAclList(aclList).build(); + ModeledFramework<TestModel> client = ModeledFramework.wrap(async, aclModelSpec); + 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() ) + { + authCurator.start(); + ModeledFramework<TestModel> authClient = ModeledFramework.wrap(AsyncCuratorFramework.wrap(authCurator), aclModelSpec); + complete(authClient.update(new TestModel("John", "Galt", "Galt's Gulch", 42, BigInteger.valueOf(66))), (__, e) -> Assert.assertNull(e, "Should've succeeded")); + } + } }
