123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 |
- /*
- *
- * Copyright 2015 gRPC authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
- #include "src/cpp/common/secure_auth_context.h"
- #include <gtest/gtest.h>
- #include <grpc/grpc_security.h>
- #include <grpcpp/security/auth_context.h>
- #include "src/core/lib/security/context/security_context.h"
- #include "test/cpp/util/string_ref_helper.h"
- using grpc::testing::ToString;
- namespace grpc {
- namespace {
- class SecureAuthContextTest : public ::testing::Test {};
- // Created with nullptr
- TEST_F(SecureAuthContextTest, EmptyContext) {
- SecureAuthContext context(nullptr);
- EXPECT_TRUE(context.GetPeerIdentity().empty());
- EXPECT_TRUE(context.GetPeerIdentityPropertyName().empty());
- EXPECT_TRUE(context.FindPropertyValues("").empty());
- EXPECT_TRUE(context.FindPropertyValues("whatever").empty());
- EXPECT_TRUE(context.begin() == context.end());
- }
- TEST_F(SecureAuthContextTest, Properties) {
- grpc_core::RefCountedPtr<grpc_auth_context> ctx =
- grpc_core::MakeRefCounted<grpc_auth_context>(nullptr);
- SecureAuthContext context(ctx.get());
- ctx.reset();
- context.AddProperty("name", "chapi");
- context.AddProperty("name", "chapo");
- context.AddProperty("foo", "bar");
- EXPECT_TRUE(context.SetPeerIdentityPropertyName("name"));
- std::vector<grpc::string_ref> peer_identity = context.GetPeerIdentity();
- EXPECT_EQ(2u, peer_identity.size());
- EXPECT_EQ("chapi", ToString(peer_identity[0]));
- EXPECT_EQ("chapo", ToString(peer_identity[1]));
- EXPECT_EQ("name", context.GetPeerIdentityPropertyName());
- std::vector<grpc::string_ref> bar = context.FindPropertyValues("foo");
- EXPECT_EQ(1u, bar.size());
- EXPECT_EQ("bar", ToString(bar[0]));
- }
- TEST_F(SecureAuthContextTest, Iterators) {
- grpc_core::RefCountedPtr<grpc_auth_context> ctx =
- grpc_core::MakeRefCounted<grpc_auth_context>(nullptr);
- SecureAuthContext context(ctx.get());
- ctx.reset();
- context.AddProperty("name", "chapi");
- context.AddProperty("name", "chapo");
- context.AddProperty("foo", "bar");
- EXPECT_TRUE(context.SetPeerIdentityPropertyName("name"));
- AuthPropertyIterator iter = context.begin();
- EXPECT_TRUE(context.end() != iter);
- AuthProperty p0 = *iter;
- ++iter;
- AuthProperty p1 = *iter;
- iter++;
- AuthProperty p2 = *iter;
- EXPECT_EQ("name", ToString(p0.first));
- EXPECT_EQ("chapi", ToString(p0.second));
- EXPECT_EQ("name", ToString(p1.first));
- EXPECT_EQ("chapo", ToString(p1.second));
- EXPECT_EQ("foo", ToString(p2.first));
- EXPECT_EQ("bar", ToString(p2.second));
- ++iter;
- EXPECT_EQ(context.end(), iter);
- }
- } // namespace
- } // namespace grpc
- int main(int argc, char** argv) {
- ::testing::InitGoogleTest(&argc, argv);
- return RUN_ALL_TESTS();
- }
|