ASSERT_TRUE(cap.parse("allow *", NULL));
ASSERT_TRUE(cap.is_allow_all());
- ASSERT_TRUE(cap.is_capable(NULL, CEPH_ENTITY_TYPE_MON, EntityName(),
- "foo", "asdf", map<string,string>(), true, true, true, entity_addr_t()));
+ ASSERT_TRUE(cap.is_capable(NULL, {}, "foo", "asdf", {}, true, true, true,
+ {}));
MonCap cap2;
ASSERT_FALSE(cap2.is_allow_all());
b.parse("192.168.2.3");
c.parse("192.167.2.3");
- ASSERT_TRUE(cap.is_capable(NULL, CEPH_ENTITY_TYPE_MON, EntityName(),
- "foo", "asdf", map<string,string>(),
- true, true, true,
+ ASSERT_TRUE(cap.is_capable(NULL, {}, "foo", "asdf", {}, true, true, true,
a));
- ASSERT_TRUE(cap.is_capable(NULL, CEPH_ENTITY_TYPE_MON, EntityName(),
- "foo", "asdf", map<string,string>(),
- true, true, true,
+ ASSERT_TRUE(cap.is_capable(NULL, {}, "foo", "asdf", {}, true, true, true,
b));
- ASSERT_FALSE(cap.is_capable(NULL, CEPH_ENTITY_TYPE_MON, EntityName(),
- "foo", "asdf", map<string,string>(),
- true, true, true,
+ ASSERT_FALSE(cap.is_capable(NULL, {}, "foo", "asdf", {}, true, true, true,
c));
}
name.from_str("osd.123");
map<string,string> ca;
- ASSERT_TRUE(cap.is_capable(NULL, CEPH_ENTITY_TYPE_MON,
- name, "osd", "", ca, true, false, false,
- entity_addr_t()));
- ASSERT_TRUE(cap.is_capable(NULL, CEPH_ENTITY_TYPE_MON,
- name, "osd", "", ca, true, true, false,
- entity_addr_t()));
- ASSERT_TRUE(cap.is_capable(NULL, CEPH_ENTITY_TYPE_MON,
- name, "osd", "", ca, true, true, true,
- entity_addr_t()));
- ASSERT_TRUE(cap.is_capable(NULL, CEPH_ENTITY_TYPE_MON,
- name, "osd", "", ca, true, true, true,
- entity_addr_t()));
- ASSERT_TRUE(cap.is_capable(NULL, CEPH_ENTITY_TYPE_MON,
- name, "mon", "", ca, true, false,false,
- entity_addr_t()));
-
- ASSERT_FALSE(cap.is_capable(NULL, CEPH_ENTITY_TYPE_MON,
- name, "mds", "", ca, true, true, true,
- entity_addr_t()));
- ASSERT_FALSE(cap.is_capable(NULL, CEPH_ENTITY_TYPE_MON,
- name, "mon", "", ca, true, true, true,
- entity_addr_t()));
+ ASSERT_TRUE(cap.is_capable(NULL, name, "osd", "", ca, true, false, false,
+ {}));
+ ASSERT_TRUE(cap.is_capable(NULL, name, "osd", "", ca, true, true, false, {}));
+ ASSERT_TRUE(cap.is_capable(NULL, name, "osd", "", ca, true, true, true, {}));
+ ASSERT_TRUE(cap.is_capable(NULL, name, "osd", "", ca, true, true, true, {}));
+ ASSERT_TRUE(cap.is_capable(NULL, name, "mon", "", ca, true, false, false,
+ {}));
+
+ ASSERT_FALSE(cap.is_capable(NULL, name, "mds", "", ca, true, true, true, {}));
+ ASSERT_FALSE(cap.is_capable(NULL, name, "mon", "", ca, true, true, true, {}));
ca.clear();
- ASSERT_FALSE(cap.is_capable(NULL, CEPH_ENTITY_TYPE_MON,
- name, "", "config-key get", ca, true, true, true,
- entity_addr_t()));
+ ASSERT_FALSE(cap.is_capable(NULL, name, "", "config-key get", ca, true, true,
+ true, {}));
ca["key"] = "daemon-private/osd.123";
- ASSERT_FALSE(cap.is_capable(NULL, CEPH_ENTITY_TYPE_MON,
- name, "", "config-key get", ca, true, true, true,
- entity_addr_t()));
+ ASSERT_FALSE(cap.is_capable(NULL, name, "", "config-key get", ca, true, true,
+ true, {}));
ca["key"] = "daemon-private/osd.12/asdf";
- ASSERT_FALSE(cap.is_capable(NULL, CEPH_ENTITY_TYPE_MON,
- name, "", "config-key get", ca, true, true, true,
- entity_addr_t()));
+ ASSERT_FALSE(cap.is_capable(NULL, name, "", "config-key get", ca, true, true,
+ true, {}));
ca["key"] = "daemon-private/osd.123/";
- ASSERT_TRUE(cap.is_capable(NULL, CEPH_ENTITY_TYPE_MON,
- name, "", "config-key get", ca, true, true, true,
- entity_addr_t()));
- ASSERT_TRUE(cap.is_capable(NULL, CEPH_ENTITY_TYPE_MON,
- name, "", "config-key get", ca, true, true, true,
- entity_addr_t()));
- ASSERT_TRUE(cap.is_capable(NULL, CEPH_ENTITY_TYPE_MON,
- name, "", "config-key get", ca, true, true, true,
- entity_addr_t()));
+ ASSERT_TRUE(cap.is_capable(NULL, name, "", "config-key get", ca, true, true,
+ true, {}));
+ ASSERT_TRUE(cap.is_capable(NULL, name, "", "config-key get", ca, true, true,
+ true, {}));
+ ASSERT_TRUE(cap.is_capable(NULL, name, "", "config-key get", ca, true, true,
+ true, {}));
ca["key"] = "daemon-private/osd.123/foo";
- ASSERT_TRUE(cap.is_capable(NULL, CEPH_ENTITY_TYPE_MON,
- name, "", "config-key get", ca, true, true, true,
- entity_addr_t()));
- ASSERT_TRUE(cap.is_capable(NULL, CEPH_ENTITY_TYPE_MON,
- name, "", "config-key put", ca, true, true, true,
- entity_addr_t()));
- ASSERT_TRUE(cap.is_capable(NULL, CEPH_ENTITY_TYPE_MON,
- name, "", "config-key set", ca, true, true, true,
- entity_addr_t()));
- ASSERT_TRUE(cap.is_capable(NULL, CEPH_ENTITY_TYPE_MON,
- name, "", "config-key exists", ca, true, true, true,
- entity_addr_t()));
- ASSERT_TRUE(cap.is_capable(NULL, CEPH_ENTITY_TYPE_MON,
- name, "", "config-key delete", ca, true, true, true,
- entity_addr_t()));
+ ASSERT_TRUE(cap.is_capable(NULL, name, "", "config-key get", ca, true, true,
+ true, {}));
+ ASSERT_TRUE(cap.is_capable(NULL, name, "", "config-key put", ca, true, true,
+ true, {}));
+ ASSERT_TRUE(cap.is_capable(NULL, name, "", "config-key set", ca, true, true,
+ true, {}));
+ ASSERT_TRUE(cap.is_capable(NULL, name, "", "config-key exists", ca, true,
+ true, true, {}));
+ ASSERT_TRUE(cap.is_capable(NULL, name, "", "config-key delete", ca, true,
+ true, true, {}));
}
TEST(MonCap, CommandRegEx) {
MonCap cap;
ASSERT_FALSE(cap.is_allow_all());
- ASSERT_TRUE(cap.parse("allow command abc with arg regex \"^[0-9a-z.]*$\"", NULL));
+ ASSERT_TRUE(cap.parse("allow command abc with arg regex \"^[0-9a-z.]*$\"",
+ NULL));
EntityName name;
name.from_str("osd.123");
- ASSERT_TRUE(cap.is_capable(nullptr, CEPH_ENTITY_TYPE_OSD, name, "",
- "abc", {{"arg", "12345abcde"}}, true, true, true,
- entity_addr_t()));
- ASSERT_FALSE(cap.is_capable(nullptr, CEPH_ENTITY_TYPE_OSD, name, "",
- "abc", {{"arg", "~!@#$"}}, true, true, true,
- entity_addr_t()));
+ ASSERT_TRUE(cap.is_capable(nullptr, name, "", "abc", {{"arg", "12345abcde"}},
+ true, true, true, {}));
+ ASSERT_FALSE(cap.is_capable(nullptr, name, "", "abc", {{"arg", "~!@#$"}},
+ true, true, true, {}));
ASSERT_TRUE(cap.parse("allow command abc with arg regex \"[*\"", NULL));
- ASSERT_FALSE(cap.is_capable(nullptr, CEPH_ENTITY_TYPE_OSD, name, "",
- "abc", {{"arg", ""}}, true, true, true,
- entity_addr_t()));
+ ASSERT_FALSE(cap.is_capable(nullptr, name, "", "abc", {{"arg", ""}}, true,
+ true, true, {}));
}
TEST(MonCap, ProfileBootstrapRBD) {
EntityName name;
name.from_str("mon.a");
- ASSERT_TRUE(cap.is_capable(nullptr, CEPH_ENTITY_TYPE_MON, name, "",
+ ASSERT_TRUE(cap.is_capable(nullptr, name, "",
"auth get-or-create", {
{"entity", "client.rbd"},
{"caps_mon", "profile rbd"},
{"caps_osd", "profile rbd pool=foo, profile rbd-read-only"},
}, true, true, true,
- entity_addr_t()));
- ASSERT_FALSE(cap.is_capable(nullptr, CEPH_ENTITY_TYPE_MON, name, "",
+ {}));
+ ASSERT_FALSE(cap.is_capable(nullptr, name, "",
"auth get-or-create", {
{"entity", "client.rbd"},
{"caps_mon", "allow *"},
{"caps_osd", "profile rbd"},
}, true, true, true,
- entity_addr_t()));
- ASSERT_FALSE(cap.is_capable(nullptr, CEPH_ENTITY_TYPE_MON, name, "",
+ {}));
+ ASSERT_FALSE(cap.is_capable(nullptr, name, "",
"auth get-or-create", {
{"entity", "client.rbd"},
{"caps_mon", "profile rbd"},
{"caps_osd", "profile rbd pool=foo, allow *, profile rbd-read-only"},
}, true, true, true,
- entity_addr_t()));
+ {}));
}
TEST(MonCap, ProfileBootstrapRBDMirror) {
EntityName name;
name.from_str("mon.a");
- ASSERT_TRUE(cap.is_capable(nullptr, CEPH_ENTITY_TYPE_MON, name, "",
+ ASSERT_TRUE(cap.is_capable(nullptr, name, "",
"auth get-or-create", {
{"entity", "client.rbd"},
{"caps_mon", "profile rbd-mirror"},
{"caps_osd", "profile rbd pool=foo, profile rbd-read-only"},
}, true, true, true,
- entity_addr_t()));
- ASSERT_FALSE(cap.is_capable(nullptr, CEPH_ENTITY_TYPE_MON, name, "",
+ {}));
+ ASSERT_FALSE(cap.is_capable(nullptr, name, "",
"auth get-or-create", {
{"entity", "client.rbd"},
{"caps_mon", "profile rbd"},
{"caps_osd", "profile rbd pool=foo, profile rbd-read-only"},
}, true, true, true,
- entity_addr_t()));
- ASSERT_FALSE(cap.is_capable(nullptr, CEPH_ENTITY_TYPE_MON, name, "",
+ {}));
+ ASSERT_FALSE(cap.is_capable(nullptr, name, "",
"auth get-or-create", {
{"entity", "client.rbd"},
{"caps_mon", "allow *"},
{"caps_osd", "profile rbd"},
}, true, true, true,
- entity_addr_t()));
- ASSERT_FALSE(cap.is_capable(nullptr, CEPH_ENTITY_TYPE_MON, name, "",
+ {}));
+ ASSERT_FALSE(cap.is_capable(nullptr, name, "",
"auth get-or-create", {
{"entity", "client.rbd"},
{"caps_mon", "profile rbd-mirror"},
{"caps_osd", "profile rbd pool=foo, allow *, profile rbd-read-only"},
}, true, true, true,
- entity_addr_t()));
+ {}));
}
TEST(MonCap, ProfileRBD) {
EntityName name;
name.from_str("mon.a");
- ASSERT_FALSE(cap.is_capable(nullptr, CEPH_ENTITY_TYPE_MON, name, "config-key",
+ ASSERT_FALSE(cap.is_capable(nullptr, name, "config-key",
"config-key get", {
{"key", "rbd/mirror/peer/1/1234"},
- }, true, false, false, entity_addr_t()));
+ }, true, false, false, {}));
}
TEST(MonCap, ProfileRBDMirror) {
EntityName name;
name.from_str("mon.a");
- ASSERT_TRUE(cap.is_capable(nullptr, CEPH_ENTITY_TYPE_MON, name, "config-key",
+ ASSERT_TRUE(cap.is_capable(nullptr, name, "config-key",
"config-key get", {
{"key", "rbd/mirror/peer/1/1234"},
- }, true, false, false, entity_addr_t()));
+ }, true, false, false, {}));
}