19 #include <gmock/gmock.h>
20 #include <gtest/gtest.h>
42 args_.AddPairToMetadata(
"foo",
"bar");
43 args_.SetLocalEndpoint(
"ipv4:255.255.255.255:123");
45 std::vector<std::unique_ptr<Rbac::Permission>>
rules;
46 rules.push_back(absl::make_unique<Rbac::Permission>(
51 rules.push_back(absl::make_unique<Rbac::Permission>(
59 args_.AddPairToMetadata(
"foo",
"not_bar");
60 args_.SetLocalEndpoint(
"ipv4:255.255.255.255:123");
62 std::vector<std::unique_ptr<Rbac::Permission>>
rules;
63 rules.push_back(absl::make_unique<Rbac::Permission>(
68 rules.push_back(absl::make_unique<Rbac::Permission>(
77 args_.AddPairToMetadata(
"foo",
"bar");
78 args_.SetLocalEndpoint(
"ipv4:255.255.255.255:123");
80 std::vector<std::unique_ptr<Rbac::Permission>>
rules;
81 rules.push_back(absl::make_unique<Rbac::Permission>(
86 rules.push_back(absl::make_unique<Rbac::Permission>(
95 args_.AddPairToMetadata(
"foo",
"not_bar");
97 std::vector<std::unique_ptr<Rbac::Permission>>
rules;
98 rules.push_back(absl::make_unique<Rbac::Permission>(
110 args_.AddPairToMetadata(
":path",
"/different/foo");
122 args_.AddPairToMetadata(
":path",
"/expected/foo");
134 args_.AddPairToMetadata(
"foo",
"bar");
135 args_.SetLocalEndpoint(
"ipv4:255.255.255.255:123");
137 std::vector<std::unique_ptr<Rbac::Permission>> sub_and_rules;
138 sub_and_rules.push_back(absl::make_unique<Rbac::Permission>(
143 std::vector<std::unique_ptr<Rbac::Permission>> sub_or_rules;
144 sub_or_rules.push_back(absl::make_unique<Rbac::Permission>(
146 std::vector<std::unique_ptr<Rbac::Permission>> and_rules;
147 and_rules.push_back(absl::make_unique<Rbac::Permission>(
149 and_rules.push_back(absl::make_unique<Rbac::Permission>(
157 args_.AddPairToMetadata(
"foo",
"bar");
158 args_.SetLocalEndpoint(
"ipv4:255.255.255.255:123");
160 std::vector<std::unique_ptr<Rbac::Permission>> sub_and_rules;
161 sub_and_rules.push_back(absl::make_unique<Rbac::Permission>(
166 sub_and_rules.push_back(absl::make_unique<Rbac::Permission>(
172 std::vector<std::unique_ptr<Rbac::Permission>> sub_or_rules;
173 sub_or_rules.push_back(absl::make_unique<Rbac::Permission>(
175 std::vector<std::unique_ptr<Rbac::Permission>> and_rules;
176 and_rules.push_back(absl::make_unique<Rbac::Permission>(
178 and_rules.push_back(absl::make_unique<Rbac::Permission>(
187 ReqServerNameAuthorizationMatcherSuccessfulMatch) {
197 ReqServerNameAuthorizationMatcherFailedMatch) {
207 args_.AddPairToMetadata(
":path",
"expected/path");
218 args_.AddPairToMetadata(
":path",
"different/path");
229 PathAuthorizationMatcherFailedMatchMissingPath) {
252 args_.AddPairToMetadata(
"key123",
"foo_xxx");
262 args_.AddPairToMetadata(
"key123",
"foo");
272 args_.AddPairToMetadata(
":method",
"GET");
282 args_.AddPairToMetadata(
":method",
"GET");
292 args_.AddPairToMetadata(
":authority",
"localhost");
302 args_.AddPairToMetadata(
":authority",
"localhost");
312 args_.AddPairToMetadata(
":path",
"/expected/path");
322 args_.AddPairToMetadata(
":path",
"/expected/path");
332 HeaderAuthorizationMatcherFailedMatchMultivaluedHeader) {
333 args_.AddPairToMetadata(
"key123",
"foo");
334 args_.AddPairToMetadata(
"key123",
"bar");
344 HeaderAuthorizationMatcherFailedMatchMissingHeader) {
354 args_.SetLocalEndpoint(
"ipv4:1.2.3.4:123");
363 args_.SetLocalEndpoint(
"ipv4:1.2.3.4:123");
372 IpAuthorizationMatcherSourceIpSuccessfulMatch) {
373 args_.SetPeerEndpoint(
"ipv6:[1:2:3::]:456");
382 args_.SetPeerEndpoint(
"ipv6:[1:2::3::]:456");
391 IpAuthorizationMatcherRemoteIpSuccessfulMatch) {
392 args_.SetPeerEndpoint(
"ipv6:[1:2:3::]:456");
401 args_.SetPeerEndpoint(
"ipv6:[1:2::]:456");
410 IpAuthorizationMatcherDirectRemoteIpSuccessfulMatch) {
411 args_.SetPeerEndpoint(
"ipv4:1.2.3.4:123");
420 IpAuthorizationMatcherDirectRemoteIpFailedMatch) {
421 args_.SetPeerEndpoint(
"ipv4:1.2.3.4:123");
430 args_.SetLocalEndpoint(
"ipv4:255.255.255.255:123");
437 args_.SetLocalEndpoint(
"ipv4:255.255.255.255:123");
444 AuthenticatedMatcherUnAuthenticatedConnection) {
455 AuthenticatedMatcherAuthenticatedConnectionMatcherUnset) {
469 "https://foo.domain.com");
499 "foo.test.domain.com");
501 "bar.test.domain.com");
506 "bar.test.domain.com",
516 "foo.test.domain.com");
520 "bar.test.domain.com",
527 AuthenticatedMatcherSuccessfulSubjectMatches) {
558 AuthenticatedMatcherWithoutClientCertMatchesSuccessfullyOnEmptyPrincipal) {
582 args_.AddPairToMetadata(
"key123",
"foo");
584 std::vector<std::unique_ptr<Rbac::Permission>>
rules;
585 rules.push_back(absl::make_unique<Rbac::Permission>(
597 args_.AddPairToMetadata(
"key123",
"foo");
599 std::vector<std::unique_ptr<Rbac::Permission>>
rules;
600 rules.push_back(absl::make_unique<Rbac::Permission>(
613 int main(
int argc,
char** argv) {