1 //
2 //
3 // Copyright 2022 gRPC authors.
4 //
5 // Licensed under the Apache License, Version 2.0 (the "License");
6 // you may not use this file except in compliance with the License.
7 // You may obtain a copy of the License at
8 //
9 // http://www.apache.org/licenses/LICENSE-2.0
10 //
11 // Unless required by applicable law or agreed to in writing, software
12 // distributed under the License is distributed on an "AS IS" BASIS,
13 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 // See the License for the specific language governing permissions and
15 // limitations under the License.
16 //
17 //
18
19 // Generated by tools/codegen/core/gen_grpc_tls_credentials_options.py
20
21 #include <grpc/support/port_platform.h>
22
23 #include <string>
24
25 #include <gmock/gmock.h>
26
27 #include "src/core/lib/security/credentials/xds/xds_credentials.h"
28 #include "src/core/lib/security/credentials/tls/grpc_tls_credentials_options.h"
29 #include "test/core/util/test_config.h"
30
31 namespace grpc_core {
32 namespace {
33
TEST(TlsCredentialsOptionsComparatorTest,DifferentCertRequestType)34 TEST(TlsCredentialsOptionsComparatorTest, DifferentCertRequestType) {
35 auto* options_1 = grpc_tls_credentials_options_create();
36 auto* options_2 = grpc_tls_credentials_options_create();
37 options_1->set_cert_request_type(GRPC_SSL_DONT_REQUEST_CLIENT_CERTIFICATE);
38 options_2->set_cert_request_type(GRPC_SSL_REQUEST_CLIENT_CERTIFICATE_AND_VERIFY);
39 EXPECT_FALSE(*options_1 == *options_2);
40 EXPECT_FALSE(*options_2 == *options_1);
41 delete options_1;
42 delete options_2;
43 }
TEST(TlsCredentialsOptionsComparatorTest,DifferentVerifyServerCert)44 TEST(TlsCredentialsOptionsComparatorTest, DifferentVerifyServerCert) {
45 auto* options_1 = grpc_tls_credentials_options_create();
46 auto* options_2 = grpc_tls_credentials_options_create();
47 options_1->set_verify_server_cert(false);
48 options_2->set_verify_server_cert(true);
49 EXPECT_FALSE(*options_1 == *options_2);
50 EXPECT_FALSE(*options_2 == *options_1);
51 delete options_1;
52 delete options_2;
53 }
TEST(TlsCredentialsOptionsComparatorTest,DifferentMinTlsVersion)54 TEST(TlsCredentialsOptionsComparatorTest, DifferentMinTlsVersion) {
55 auto* options_1 = grpc_tls_credentials_options_create();
56 auto* options_2 = grpc_tls_credentials_options_create();
57 options_1->set_min_tls_version(grpc_tls_version::TLS1_2);
58 options_2->set_min_tls_version(grpc_tls_version::TLS1_3);
59 EXPECT_FALSE(*options_1 == *options_2);
60 EXPECT_FALSE(*options_2 == *options_1);
61 delete options_1;
62 delete options_2;
63 }
TEST(TlsCredentialsOptionsComparatorTest,DifferentMaxTlsVersion)64 TEST(TlsCredentialsOptionsComparatorTest, DifferentMaxTlsVersion) {
65 auto* options_1 = grpc_tls_credentials_options_create();
66 auto* options_2 = grpc_tls_credentials_options_create();
67 options_1->set_max_tls_version(grpc_tls_version::TLS1_2);
68 options_2->set_max_tls_version(grpc_tls_version::TLS1_3);
69 EXPECT_FALSE(*options_1 == *options_2);
70 EXPECT_FALSE(*options_2 == *options_1);
71 delete options_1;
72 delete options_2;
73 }
TEST(TlsCredentialsOptionsComparatorTest,DifferentCertificateVerifier)74 TEST(TlsCredentialsOptionsComparatorTest, DifferentCertificateVerifier) {
75 auto* options_1 = grpc_tls_credentials_options_create();
76 auto* options_2 = grpc_tls_credentials_options_create();
77 options_1->set_certificate_verifier(MakeRefCounted<HostNameCertificateVerifier>());
78 options_2->set_certificate_verifier(MakeRefCounted<XdsCertificateVerifier>(nullptr));
79 EXPECT_FALSE(*options_1 == *options_2);
80 EXPECT_FALSE(*options_2 == *options_1);
81 delete options_1;
82 delete options_2;
83 }
TEST(TlsCredentialsOptionsComparatorTest,DifferentCheckCallHost)84 TEST(TlsCredentialsOptionsComparatorTest, DifferentCheckCallHost) {
85 auto* options_1 = grpc_tls_credentials_options_create();
86 auto* options_2 = grpc_tls_credentials_options_create();
87 options_1->set_check_call_host(false);
88 options_2->set_check_call_host(true);
89 EXPECT_FALSE(*options_1 == *options_2);
90 EXPECT_FALSE(*options_2 == *options_1);
91 delete options_1;
92 delete options_2;
93 }
TEST(TlsCredentialsOptionsComparatorTest,DifferentCertificateProvider)94 TEST(TlsCredentialsOptionsComparatorTest, DifferentCertificateProvider) {
95 auto* options_1 = grpc_tls_credentials_options_create();
96 auto* options_2 = grpc_tls_credentials_options_create();
97 options_1->set_certificate_provider(MakeRefCounted<StaticDataCertificateProvider>("root_cert_1", PemKeyCertPairList()));
98 options_2->set_certificate_provider(MakeRefCounted<StaticDataCertificateProvider>("root_cert_2", PemKeyCertPairList()));
99 EXPECT_FALSE(*options_1 == *options_2);
100 EXPECT_FALSE(*options_2 == *options_1);
101 delete options_1;
102 delete options_2;
103 }
TEST(TlsCredentialsOptionsComparatorTest,DifferentWatchRootCert)104 TEST(TlsCredentialsOptionsComparatorTest, DifferentWatchRootCert) {
105 auto* options_1 = grpc_tls_credentials_options_create();
106 auto* options_2 = grpc_tls_credentials_options_create();
107 options_1->set_watch_root_cert(false);
108 options_2->set_watch_root_cert(true);
109 EXPECT_FALSE(*options_1 == *options_2);
110 EXPECT_FALSE(*options_2 == *options_1);
111 delete options_1;
112 delete options_2;
113 }
TEST(TlsCredentialsOptionsComparatorTest,DifferentRootCertName)114 TEST(TlsCredentialsOptionsComparatorTest, DifferentRootCertName) {
115 auto* options_1 = grpc_tls_credentials_options_create();
116 auto* options_2 = grpc_tls_credentials_options_create();
117 options_1->set_root_cert_name("root_cert_name_1");
118 options_2->set_root_cert_name("root_cert_name_2");
119 EXPECT_FALSE(*options_1 == *options_2);
120 EXPECT_FALSE(*options_2 == *options_1);
121 delete options_1;
122 delete options_2;
123 }
TEST(TlsCredentialsOptionsComparatorTest,DifferentWatchIdentityPair)124 TEST(TlsCredentialsOptionsComparatorTest, DifferentWatchIdentityPair) {
125 auto* options_1 = grpc_tls_credentials_options_create();
126 auto* options_2 = grpc_tls_credentials_options_create();
127 options_1->set_watch_identity_pair(false);
128 options_2->set_watch_identity_pair(true);
129 EXPECT_FALSE(*options_1 == *options_2);
130 EXPECT_FALSE(*options_2 == *options_1);
131 delete options_1;
132 delete options_2;
133 }
TEST(TlsCredentialsOptionsComparatorTest,DifferentIdentityCertName)134 TEST(TlsCredentialsOptionsComparatorTest, DifferentIdentityCertName) {
135 auto* options_1 = grpc_tls_credentials_options_create();
136 auto* options_2 = grpc_tls_credentials_options_create();
137 options_1->set_identity_cert_name("identity_cert_name_1");
138 options_2->set_identity_cert_name("identity_cert_name_2");
139 EXPECT_FALSE(*options_1 == *options_2);
140 EXPECT_FALSE(*options_2 == *options_1);
141 delete options_1;
142 delete options_2;
143 }
TEST(TlsCredentialsOptionsComparatorTest,DifferentTlsSessionKeyLogFilePath)144 TEST(TlsCredentialsOptionsComparatorTest, DifferentTlsSessionKeyLogFilePath) {
145 auto* options_1 = grpc_tls_credentials_options_create();
146 auto* options_2 = grpc_tls_credentials_options_create();
147 options_1->set_tls_session_key_log_file_path("file_path_1");
148 options_2->set_tls_session_key_log_file_path("file_path_2");
149 EXPECT_FALSE(*options_1 == *options_2);
150 EXPECT_FALSE(*options_2 == *options_1);
151 delete options_1;
152 delete options_2;
153 }
TEST(TlsCredentialsOptionsComparatorTest,DifferentCrlDirectory)154 TEST(TlsCredentialsOptionsComparatorTest, DifferentCrlDirectory) {
155 auto* options_1 = grpc_tls_credentials_options_create();
156 auto* options_2 = grpc_tls_credentials_options_create();
157 options_1->set_crl_directory("crl_directory_1");
158 options_2->set_crl_directory("crl_directory_2");
159 EXPECT_FALSE(*options_1 == *options_2);
160 EXPECT_FALSE(*options_2 == *options_1);
161 delete options_1;
162 delete options_2;
163 }
TEST(TlsCredentialsOptionsComparatorTest,DifferentCrlProvider)164 TEST(TlsCredentialsOptionsComparatorTest, DifferentCrlProvider) {
165 auto* options_1 = grpc_tls_credentials_options_create();
166 auto* options_2 = grpc_tls_credentials_options_create();
167 options_1->set_crl_provider(*experimental::CreateStaticCrlProvider({}));
168 options_2->set_crl_provider(*experimental::CreateStaticCrlProvider({}));
169 EXPECT_FALSE(*options_1 == *options_2);
170 EXPECT_FALSE(*options_2 == *options_1);
171 delete options_1;
172 delete options_2;
173 }
TEST(TlsCredentialsOptionsComparatorTest,DifferentSendClientCaListValues)174 TEST(TlsCredentialsOptionsComparatorTest, DifferentSendClientCaListValues) {
175 auto* options_1 = grpc_tls_credentials_options_create();
176 auto* options_2 = grpc_tls_credentials_options_create();
177 options_1->set_send_client_ca_list(false);
178 options_2->set_send_client_ca_list(true);
179 EXPECT_FALSE(*options_1 == *options_2);
180 EXPECT_FALSE(*options_2 == *options_1);
181 delete options_1;
182 delete options_2;
183 }
184
185 } // namespace
186 } // namespace grpc_core
187
main(int argc,char ** argv)188 int main(int argc, char** argv) {
189 testing::InitGoogleTest(&argc, argv);
190 grpc::testing::TestEnvironment env(&argc, argv);
191 grpc_init();
192 auto result = RUN_ALL_TESTS();
193 grpc_shutdown();
194 return result;
195 }
196