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