aboutsummaryrefslogtreecommitdiffhomepage
path: root/test
diff options
context:
space:
mode:
authorGravatar yang-g <yangg@google.com>2016-02-19 00:19:39 -0800
committerGravatar yang-g <yangg@google.com>2016-02-19 00:19:39 -0800
commit4c8aed3dbad9fdf749052a79d8f5f608bfb120fe (patch)
tree69830acec974fb5b30a82b17f335c2aab26a70fb /test
parent17197ddc714d5268a6b1fca678ac8b94ed74f3bd (diff)
Add a helper to return all the secure types
Diffstat (limited to 'test')
-rw-r--r--test/cpp/end2end/end2end_test.cc51
-rw-r--r--test/cpp/util/test_credentials_provider.cc6
-rw-r--r--test/cpp/util/test_credentials_provider.h3
3 files changed, 43 insertions, 17 deletions
diff --git a/test/cpp/end2end/end2end_test.cc b/test/cpp/end2end/end2end_test.cc
index df9aae7436..ce8e4d2a10 100644
--- a/test/cpp/end2end/end2end_test.cc
+++ b/test/cpp/end2end/end2end_test.cc
@@ -1365,25 +1365,42 @@ TEST_P(SecureEnd2endTest, ClientAuthContext) {
EXPECT_EQ("*.test.youtube.com", ToString(auth_ctx->GetPeerIdentity()[2]));
}
-INSTANTIATE_TEST_CASE_P(
- End2end, End2endTest,
- ::testing::Values(TestScenario(false, kInsecureCredentialsType),
- TestScenario(false, kTlsCredentialsType)));
-
-INSTANTIATE_TEST_CASE_P(
- End2endServerTryCancel, End2endServerTryCancelTest,
- ::testing::Values(TestScenario(false, kInsecureCredentialsType)));
-
-INSTANTIATE_TEST_CASE_P(
- ProxyEnd2end, ProxyEnd2endTest,
- ::testing::Values(TestScenario(false, kInsecureCredentialsType),
- TestScenario(false, kTlsCredentialsType),
- TestScenario(true, kInsecureCredentialsType),
- TestScenario(true, kTlsCredentialsType)));
+std::vector<TestScenario> CreateTestScenarios(bool use_proxy,
+ bool test_insecure,
+ bool test_secure) {
+ std::vector<TestScenario> scenarios;
+ std::vector<grpc::string> credentials_types;
+ if (test_secure) {
+ credentials_types = GetSecureCredentialsTypeList();
+ }
+ if (test_insecure) {
+ credentials_types.push_back(kInsecureCredentialsType);
+ }
+ for (auto it = credentials_types.begin(); it != credentials_types.end();
+ ++it) {
+ scenarios.push_back(TestScenario(false, *it));
+ if (use_proxy) {
+ scenarios.push_back(TestScenario(true, *it));
+ }
+ }
+ return scenarios;
+}
+
+INSTANTIATE_TEST_CASE_P(End2end, End2endTest,
+ ::testing::ValuesIn(CreateTestScenarios(false, true,
+ true)));
+
+INSTANTIATE_TEST_CASE_P(End2endServerTryCancel, End2endServerTryCancelTest,
+ ::testing::ValuesIn(CreateTestScenarios(false, true,
+ false)));
+
+INSTANTIATE_TEST_CASE_P(ProxyEnd2end, ProxyEnd2endTest,
+ ::testing::ValuesIn(CreateTestScenarios(true, true,
+ true)));
INSTANTIATE_TEST_CASE_P(SecureEnd2end, SecureEnd2endTest,
- ::testing::Values(TestScenario(false,
- kTlsCredentialsType)));
+ ::testing::ValuesIn(CreateTestScenarios(false, false,
+ true)));
} // namespace
} // namespace testing
diff --git a/test/cpp/util/test_credentials_provider.cc b/test/cpp/util/test_credentials_provider.cc
index f8380cdb65..69651700fe 100644
--- a/test/cpp/util/test_credentials_provider.cc
+++ b/test/cpp/util/test_credentials_provider.cc
@@ -70,5 +70,11 @@ std::shared_ptr<ServerCredentials> GetServerCredentials(
return nullptr;
}
+std::vector<grpc::string> GetSecureCredentialsTypeList() {
+ std::vector<grpc::string> types;
+ types.push_back(kTlsCredentialsType);
+ return types;
+}
+
} // namespace testing
} // namespace grpc
diff --git a/test/cpp/util/test_credentials_provider.h b/test/cpp/util/test_credentials_provider.h
index 4f25e3be66..f4105d94b8 100644
--- a/test/cpp/util/test_credentials_provider.h
+++ b/test/cpp/util/test_credentials_provider.h
@@ -55,6 +55,9 @@ std::shared_ptr<ChannelCredentials> GetChannelCredentials(
std::shared_ptr<ServerCredentials> GetServerCredentials(
const grpc::string& type);
+// Provide a list of secure credentials type.
+std::vector<grpc::string> GetSecureCredentialsTypeList();
+
} // namespace testing
} // namespace grpc