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 <grpc/credentials.h>
28
29 #include "src/core/lib/security/credentials/xds/xds_credentials.h"
30 #include "src/core/lib/security/credentials/tls/grpc_tls_credentials_options.h"
31 #include "test/core/test_util/test_config.h"
32
33 namespace grpc_core {
34 namespace {
35
TEST(TlsCredentialsOptionsComparatorTest,DifferentCertRequestType)36 TEST(TlsCredentialsOptionsComparatorTest, DifferentCertRequestType) {
37 auto* options_1 = grpc_tls_credentials_options_create();
38 auto* options_2 = grpc_tls_credentials_options_create();
39 options_1->set_cert_request_type(GRPC_SSL_DONT_REQUEST_CLIENT_CERTIFICATE);
40 options_2->set_cert_request_type(GRPC_SSL_REQUEST_CLIENT_CERTIFICATE_AND_VERIFY);
41 EXPECT_FALSE(*options_1 == *options_2);
42 EXPECT_FALSE(*options_2 == *options_1);
43 delete options_1;
44 delete options_2;
45 }
TEST(TlsCredentialsOptionsComparatorTest,DifferentVerifyServerCert)46 TEST(TlsCredentialsOptionsComparatorTest, DifferentVerifyServerCert) {
47 auto* options_1 = grpc_tls_credentials_options_create();
48 auto* options_2 = grpc_tls_credentials_options_create();
49 options_1->set_verify_server_cert(false);
50 options_2->set_verify_server_cert(true);
51 EXPECT_FALSE(*options_1 == *options_2);
52 EXPECT_FALSE(*options_2 == *options_1);
53 delete options_1;
54 delete options_2;
55 }
TEST(TlsCredentialsOptionsComparatorTest,DifferentMinTlsVersion)56 TEST(TlsCredentialsOptionsComparatorTest, DifferentMinTlsVersion) {
57 auto* options_1 = grpc_tls_credentials_options_create();
58 auto* options_2 = grpc_tls_credentials_options_create();
59 options_1->set_min_tls_version(grpc_tls_version::TLS1_2);
60 options_2->set_min_tls_version(grpc_tls_version::TLS1_3);
61 EXPECT_FALSE(*options_1 == *options_2);
62 EXPECT_FALSE(*options_2 == *options_1);
63 delete options_1;
64 delete options_2;
65 }
TEST(TlsCredentialsOptionsComparatorTest,DifferentMaxTlsVersion)66 TEST(TlsCredentialsOptionsComparatorTest, DifferentMaxTlsVersion) {
67 auto* options_1 = grpc_tls_credentials_options_create();
68 auto* options_2 = grpc_tls_credentials_options_create();
69 options_1->set_max_tls_version(grpc_tls_version::TLS1_2);
70 options_2->set_max_tls_version(grpc_tls_version::TLS1_3);
71 EXPECT_FALSE(*options_1 == *options_2);
72 EXPECT_FALSE(*options_2 == *options_1);
73 delete options_1;
74 delete options_2;
75 }
TEST(TlsCredentialsOptionsComparatorTest,DifferentCertificateVerifier)76 TEST(TlsCredentialsOptionsComparatorTest, DifferentCertificateVerifier) {
77 auto* options_1 = grpc_tls_credentials_options_create();
78 auto* options_2 = grpc_tls_credentials_options_create();
79 options_1->set_certificate_verifier(MakeRefCounted<HostNameCertificateVerifier>());
80 options_2->set_certificate_verifier(MakeRefCounted<XdsCertificateVerifier>(nullptr));
81 EXPECT_FALSE(*options_1 == *options_2);
82 EXPECT_FALSE(*options_2 == *options_1);
83 delete options_1;
84 delete options_2;
85 }
TEST(TlsCredentialsOptionsComparatorTest,DifferentCheckCallHost)86 TEST(TlsCredentialsOptionsComparatorTest, DifferentCheckCallHost) {
87 auto* options_1 = grpc_tls_credentials_options_create();
88 auto* options_2 = grpc_tls_credentials_options_create();
89 options_1->set_check_call_host(false);
90 options_2->set_check_call_host(true);
91 EXPECT_FALSE(*options_1 == *options_2);
92 EXPECT_FALSE(*options_2 == *options_1);
93 delete options_1;
94 delete options_2;
95 }
TEST(TlsCredentialsOptionsComparatorTest,DifferentCertificateProvider)96 TEST(TlsCredentialsOptionsComparatorTest, DifferentCertificateProvider) {
97 auto* options_1 = grpc_tls_credentials_options_create();
98 auto* options_2 = grpc_tls_credentials_options_create();
99 options_1->set_certificate_provider(MakeRefCounted<StaticDataCertificateProvider>("root_cert_1", PemKeyCertPairList()));
100 options_2->set_certificate_provider(MakeRefCounted<StaticDataCertificateProvider>("root_cert_2", PemKeyCertPairList()));
101 EXPECT_FALSE(*options_1 == *options_2);
102 EXPECT_FALSE(*options_2 == *options_1);
103 delete options_1;
104 delete options_2;
105 }
TEST(TlsCredentialsOptionsComparatorTest,DifferentWatchRootCert)106 TEST(TlsCredentialsOptionsComparatorTest, DifferentWatchRootCert) {
107 auto* options_1 = grpc_tls_credentials_options_create();
108 auto* options_2 = grpc_tls_credentials_options_create();
109 options_1->set_watch_root_cert(false);
110 options_2->set_watch_root_cert(true);
111 EXPECT_FALSE(*options_1 == *options_2);
112 EXPECT_FALSE(*options_2 == *options_1);
113 delete options_1;
114 delete options_2;
115 }
TEST(TlsCredentialsOptionsComparatorTest,DifferentRootCertName)116 TEST(TlsCredentialsOptionsComparatorTest, DifferentRootCertName) {
117 auto* options_1 = grpc_tls_credentials_options_create();
118 auto* options_2 = grpc_tls_credentials_options_create();
119 options_1->set_root_cert_name("root_cert_name_1");
120 options_2->set_root_cert_name("root_cert_name_2");
121 EXPECT_FALSE(*options_1 == *options_2);
122 EXPECT_FALSE(*options_2 == *options_1);
123 delete options_1;
124 delete options_2;
125 }
TEST(TlsCredentialsOptionsComparatorTest,DifferentWatchIdentityPair)126 TEST(TlsCredentialsOptionsComparatorTest, DifferentWatchIdentityPair) {
127 auto* options_1 = grpc_tls_credentials_options_create();
128 auto* options_2 = grpc_tls_credentials_options_create();
129 options_1->set_watch_identity_pair(false);
130 options_2->set_watch_identity_pair(true);
131 EXPECT_FALSE(*options_1 == *options_2);
132 EXPECT_FALSE(*options_2 == *options_1);
133 delete options_1;
134 delete options_2;
135 }
TEST(TlsCredentialsOptionsComparatorTest,DifferentIdentityCertName)136 TEST(TlsCredentialsOptionsComparatorTest, DifferentIdentityCertName) {
137 auto* options_1 = grpc_tls_credentials_options_create();
138 auto* options_2 = grpc_tls_credentials_options_create();
139 options_1->set_identity_cert_name("identity_cert_name_1");
140 options_2->set_identity_cert_name("identity_cert_name_2");
141 EXPECT_FALSE(*options_1 == *options_2);
142 EXPECT_FALSE(*options_2 == *options_1);
143 delete options_1;
144 delete options_2;
145 }
TEST(TlsCredentialsOptionsComparatorTest,DifferentTlsSessionKeyLogFilePath)146 TEST(TlsCredentialsOptionsComparatorTest, DifferentTlsSessionKeyLogFilePath) {
147 auto* options_1 = grpc_tls_credentials_options_create();
148 auto* options_2 = grpc_tls_credentials_options_create();
149 options_1->set_tls_session_key_log_file_path("file_path_1");
150 options_2->set_tls_session_key_log_file_path("file_path_2");
151 EXPECT_FALSE(*options_1 == *options_2);
152 EXPECT_FALSE(*options_2 == *options_1);
153 delete options_1;
154 delete options_2;
155 }
TEST(TlsCredentialsOptionsComparatorTest,DifferentCrlDirectory)156 TEST(TlsCredentialsOptionsComparatorTest, DifferentCrlDirectory) {
157 auto* options_1 = grpc_tls_credentials_options_create();
158 auto* options_2 = grpc_tls_credentials_options_create();
159 options_1->set_crl_directory("crl_directory_1");
160 options_2->set_crl_directory("crl_directory_2");
161 EXPECT_FALSE(*options_1 == *options_2);
162 EXPECT_FALSE(*options_2 == *options_1);
163 delete options_1;
164 delete options_2;
165 }
TEST(TlsCredentialsOptionsComparatorTest,DifferentCrlProvider)166 TEST(TlsCredentialsOptionsComparatorTest, DifferentCrlProvider) {
167 auto* options_1 = grpc_tls_credentials_options_create();
168 auto* options_2 = grpc_tls_credentials_options_create();
169 options_1->set_crl_provider(*experimental::CreateStaticCrlProvider({}));
170 options_2->set_crl_provider(*experimental::CreateStaticCrlProvider({}));
171 EXPECT_FALSE(*options_1 == *options_2);
172 EXPECT_FALSE(*options_2 == *options_1);
173 delete options_1;
174 delete options_2;
175 }
TEST(TlsCredentialsOptionsComparatorTest,DifferentSendClientCaListValues)176 TEST(TlsCredentialsOptionsComparatorTest, DifferentSendClientCaListValues) {
177 auto* options_1 = grpc_tls_credentials_options_create();
178 auto* options_2 = grpc_tls_credentials_options_create();
179 options_1->set_send_client_ca_list(false);
180 options_2->set_send_client_ca_list(true);
181 EXPECT_FALSE(*options_1 == *options_2);
182 EXPECT_FALSE(*options_2 == *options_1);
183 delete options_1;
184 delete options_2;
185 }
186
187 } // namespace
188 } // namespace grpc_core
189
main(int argc,char ** argv)190 int main(int argc, char** argv) {
191 testing::InitGoogleTest(&argc, argv);
192 grpc::testing::TestEnvironment env(&argc, argv);
193 grpc_init();
194 auto result = RUN_ALL_TESTS();
195 grpc_shutdown();
196 return result;
197 }
198