From: Nishtha Rai Date: Fri, 31 Jul 2015 17:31:04 +0000 (+0530) Subject: mds/MDSAuthCaps: add test cases for is_capable X-Git-Tag: v10.0.0~123^2~48 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=d12a388f8573c8b9e277c7a92c4a1609552646a1;p=ceph.git mds/MDSAuthCaps: add test cases for is_capable --- diff --git a/src/test/mds/TestMDSAuthCaps.cc b/src/test/mds/TestMDSAuthCaps.cc index 3620c122e05..b8ac5555684 100644 --- a/src/test/mds/TestMDSAuthCaps.cc +++ b/src/test/mds/TestMDSAuthCaps.cc @@ -110,26 +110,35 @@ TEST(MDSAuthCaps, AllowAll) { ASSERT_TRUE(cap.parse(g_ceph_context, "allow *", NULL)); ASSERT_TRUE(cap.allow_all()); - ASSERT_TRUE(cap.is_capable("foo/bar", 0, 0, 0777, 0, MAY_READ | MAY_WRITE)); + ASSERT_TRUE(cap.is_capable("foo/bar", 0, 0, 0777, 0, 0, MAY_READ | MAY_WRITE)); } TEST(MDSAuthCaps, AllowUid) { MDSAuthCaps cap; ASSERT_TRUE(cap.parse(g_ceph_context, "allow * uid=10", NULL)); ASSERT_FALSE(cap.allow_all()); - ASSERT_TRUE(cap.is_capable("foo", 0, 0, 0777, 10, MAY_READ | MAY_WRITE)); - ASSERT_FALSE(cap.is_capable("foo", 0, 0, 0777, -1, MAY_READ | MAY_WRITE)); - ASSERT_FALSE(cap.is_capable("foo", 0, 0, 0777, 0, MAY_READ | MAY_WRITE)); + ASSERT_TRUE(cap.is_capable("foo", 0, 0, 0777, 10, 0, MAY_READ | MAY_WRITE)); + ASSERT_FALSE(cap.is_capable("foo", 0, 0, 0777, -1, 0, MAY_READ | MAY_WRITE)); + ASSERT_FALSE(cap.is_capable("foo", 0, 0, 0777, 0, 0, MAY_READ | MAY_WRITE)); + ASSERT_TRUE(cap.is_capable("foo", 0, 10, 0775, 10, 10, MAY_READ)); + ASSERT_TRUE(cap.is_capable("foo", 0, 10, 0777, 10, 10, MAY_WRITE)); + ASSERT_TRUE(cap.is_capable("foo", 10, 10, 0755, 10, 10, MAY_WRITE)); + ASSERT_FALSE(cap.is_capable("foo", 0, 0, 0777, 0, 10, MAY_READ|MAY_CREATE)); + ASSERT_FALSE(cap.is_capable("foo", 10, 10, 0755, 0, 0, MAY_READ)); + ASSERT_TRUE(cap.is_capable("foo", 0, 10, 0777, 10, 10, MAY_READ|MAY_CREATE)); + ASSERT_TRUE(cap.is_capable("foo", 0, 10, 0557, 10, 10, MAY_READ)); + ASSERT_FALSE(cap.is_capable("foo", 0, 0, 0557, 10, 10, MAY_READ|MAY_CREATE)); + ASSERT_FALSE(cap.is_capable("foo", 10, 10, 0577, 10, 10, MAY_WRITE)); } TEST(MDSAuthCaps, AllowPath) { MDSAuthCaps cap; ASSERT_TRUE(cap.parse(g_ceph_context, "allow * path=/sandbox", NULL)); ASSERT_FALSE(cap.allow_all()); - ASSERT_TRUE(cap.is_capable("sandbox/foo", 0, 0, 0777, 0, MAY_READ | MAY_WRITE)); - ASSERT_TRUE(cap.is_capable("sandbox", 0, 0, 0777, 0, MAY_READ | MAY_WRITE)); - ASSERT_FALSE(cap.is_capable("sandboxed", 0, 0, 0777, 0, MAY_READ | MAY_WRITE)); - ASSERT_FALSE(cap.is_capable("foo", 0, 0, 0777, 0, MAY_READ | MAY_WRITE)); + ASSERT_TRUE(cap.is_capable("sandbox/foo", 0, 0, 0777, 0, 0, MAY_READ | MAY_WRITE)); + ASSERT_TRUE(cap.is_capable("sandbox", 0, 0, 0777, 0, 0, MAY_READ | MAY_WRITE)); + ASSERT_FALSE(cap.is_capable("sandboxed", 0, 0, 0777, 0, 0, MAY_READ | MAY_WRITE)); + ASSERT_FALSE(cap.is_capable("foo", 0, 0, 0777, 0, 0, MAY_READ | MAY_WRITE)); } TEST(MDSAuthCaps, OutputParsed) { @@ -170,5 +179,4 @@ TEST(MDSAuthCaps, OutputParsed) { ASSERT_TRUE(cap.parse(g_ceph_context, test_values[i].input, &cout)); ASSERT_EQ(test_values[i].output, stringify(cap)); } -} - +} \ No newline at end of file