Classes | Namespaces | Macros | Typedefs | Enumerations | Functions | Variables
h2_ssl_cert_test.cc File Reference
#include <stdio.h>
#include <string.h>
#include <gtest/gtest.h>
#include <openssl/crypto.h>
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
#include <grpcpp/support/string_ref.h>
#include "src/core/lib/channel/channel_args.h"
#include "src/core/lib/gpr/tmpfile.h"
#include "src/core/lib/gprpp/host_port.h"
#include "src/core/lib/security/credentials/credentials.h"
#include "src/core/lib/security/security_connector/ssl_utils_config.h"
#include "test/core/end2end/cq_verifier.h"
#include "test/core/end2end/data/ssl_test_data.h"
#include "test/core/end2end/end2end_tests.h"
#include "test/core/util/port.h"
#include "test/core/util/test_config.h"
Include dependency graph for h2_ssl_cert_test.cc:

Go to the source code of this file.

Classes

struct  grpc::testing::fullstack_secure_fixture_data
 
struct  grpc::testing::grpc_end2end_test_config_wrapper
 
class  grpc::testing::H2SslCertTest
 

Namespaces

 grpc
 
 grpc::testing
 

Macros

#define CLIENT_INIT(cert_type)
 
#define CLIENT_INIT_NAME(cert_type)   chttp2_init_client_simple_ssl_secure_fullstack_##cert_type
 
#define SERVER_INIT(REQUEST_TYPE)
 
#define SERVER_INIT_NAME(REQUEST_TYPE)   chttp2_init_server_simple_ssl_secure_fullstack_##REQUEST_TYPE
 
#define SSL_TEST(request_type, cert_type, result)
 
#define TEST_NAME(enum_name, cert_type, result)   "chttp2/ssl_" #enum_name "_" #cert_type "_" #result "_"
 

Typedefs

typedef struct grpc::testing::grpc_end2end_test_config_wrapper grpc::testing::grpc_end2end_test_config_wrapper
 

Enumerations

enum  grpc::testing::certtype { grpc::testing::NONE, grpc::testing::SELF_SIGNED, grpc::testing::SIGNED, grpc::testing::BAD_CERT_PAIR }
 
enum  grpc::testing::test_result { grpc::testing::SUCCESS, grpc::testing::FAIL }
 

Functions

static grpc_end2end_test_fixture grpc::testing::chttp2_create_fixture_secure_fullstack (grpc_channel_args *, grpc_channel_args *)
 
static void grpc::testing::chttp2_init_client_secure_fullstack (grpc_end2end_test_fixture *f, grpc_channel_args *client_args, grpc_channel_credentials *creds)
 
static void grpc::testing::chttp2_init_server_secure_fullstack (grpc_end2end_test_fixture *f, grpc_channel_args *server_args, grpc_server_credentials *server_creds)
 
void grpc::testing::chttp2_tear_down_secure_fullstack (grpc_end2end_test_fixture *f)
 
static void grpc::testing::drain_cq (grpc_completion_queue *cq)
 
static void grpc::testing::end_test (grpc_end2end_test_fixture *f)
 
static int grpc::testing::fail_server_auth_check (grpc_channel_args *server_args)
 
static gpr_timespec grpc::testing::five_seconds_time (void)
 
 grpc::testing::INSTANTIATE_TEST_SUITE_P (H2SslCert, H2SslCertTest, ::testing::ValuesIn(configs))
 
int main (int argc, char **argv)
 
static gpr_timespec grpc::testing::n_seconds_time (int n)
 
static void grpc::testing::process_auth_failure (void *state, grpc_auth_context *, const grpc_metadata *, size_t, grpc_process_auth_metadata_done_cb cb, void *user_data)
 
static void grpc::testing::shutdown_client (grpc_end2end_test_fixture *f)
 
static void grpc::testing::shutdown_server (grpc_end2end_test_fixture *f)
 
static void grpc::testing::simple_request_body (grpc_end2end_test_fixture f, test_result expected_result)
 
static void * grpc::testing::tag (intptr_t t)
 
 grpc::testing::TEST_P (H2SslCertTest, SimpleRequestBody)
 

Variables

static grpc_end2end_test_config_wrapper grpc::testing::configs []
 
static std::string test_server1_key_id
 

Macro Definition Documentation

◆ CLIENT_INIT

#define CLIENT_INIT (   cert_type)

Definition at line 154 of file h2_ssl_cert_test.cc.

◆ CLIENT_INIT_NAME

#define CLIENT_INIT_NAME (   cert_type)    chttp2_init_client_simple_ssl_secure_fullstack_##cert_type

Definition at line 149 of file h2_ssl_cert_test.cc.

◆ SERVER_INIT

#define SERVER_INIT (   REQUEST_TYPE)
Value:
static void SERVER_INIT_NAME(REQUEST_TYPE)( \
grpc_end2end_test_fixture * f, grpc_channel_args * server_args) { \
grpc_ssl_pem_key_cert_pair pem_cert_key_pair; \
if (!test_server1_key_id.empty()) { \
pem_cert_key_pair.private_key = test_server1_key_id.c_str(); \
pem_cert_key_pair.cert_chain = test_server1_cert; \
} else { \
pem_cert_key_pair.private_key = test_server1_key; \
pem_cert_key_pair.cert_chain = test_server1_cert; \
} \
grpc_server_credentials* ssl_creds = \
grpc_ssl_server_credentials_create_ex( \
test_root_cert, &pem_cert_key_pair, 1, REQUEST_TYPE, NULL); \
if (fail_server_auth_check(server_args)) { \
grpc_auth_metadata_processor processor = {process_auth_failure, NULL, \
NULL}; \
grpc_server_credentials_set_auth_metadata_processor(ssl_creds, \
processor); \
} \
chttp2_init_server_secure_fullstack(f, server_args, ssl_creds); \
}

Definition at line 120 of file h2_ssl_cert_test.cc.

◆ SERVER_INIT_NAME

#define SERVER_INIT_NAME (   REQUEST_TYPE)    chttp2_init_server_simple_ssl_secure_fullstack_##REQUEST_TYPE

Definition at line 117 of file h2_ssl_cert_test.cc.

◆ SSL_TEST

#define SSL_TEST (   request_type,
  cert_type,
  result 
)
Value:
{ \
{TEST_NAME(request_type, cert_type, result), \
FEATURE_MASK_SUPPORTS_DELAYED_CONNECTION | \
FEATURE_MASK_SUPPORTS_PER_CALL_CREDENTIALS | \
FEATURE_MASK_SUPPORTS_CLIENT_CHANNEL, \
"foo.test.google.fr", \
chttp2_create_fixture_secure_fullstack, \
CLIENT_INIT_NAME(cert_type), \
SERVER_INIT_NAME(request_type), \
chttp2_tear_down_secure_fullstack}, \
result \
}

Definition at line 203 of file h2_ssl_cert_test.cc.

◆ TEST_NAME

#define TEST_NAME (   enum_name,
  cert_type,
  result 
)    "chttp2/ssl_" #enum_name "_" #cert_type "_" #result "_"

Definition at line 198 of file h2_ssl_cert_test.cc.

Function Documentation

◆ main()

int main ( int  argc,
char **  argv 
)

Definition at line 374 of file h2_ssl_cert_test.cc.

Variable Documentation

◆ test_server1_key_id

std::string test_server1_key_id
static

Definition at line 41 of file h2_ssl_cert_test.cc.

grpc::testing::process_auth_failure
static void process_auth_failure(void *state, grpc_auth_context *, const grpc_metadata *, size_t, grpc_process_auth_metadata_done_cb cb, void *user_data)
Definition: h2_ssl_cert_test.cc:64
_gevent_test_main.result
result
Definition: _gevent_test_main.py:96
test_server1_cert
const char test_server1_cert[]
grpc_channel_args
Definition: grpc_types.h:132
autogen_x86imm.f
f
Definition: autogen_x86imm.py:9
TEST_NAME
#define TEST_NAME(enum_name, cert_type, result)
Definition: h2_ssl_cert_test.cc:198
test_server1_key_id
static std::string test_server1_key_id
Definition: h2_ssl_cert_test.cc:41
grpc::testing::fail_server_auth_check
static int fail_server_auth_check(grpc_channel_args *server_args)
Definition: h2_ssl_cert_test.cc:105
SERVER_INIT_NAME
#define SERVER_INIT_NAME(REQUEST_TYPE)
Definition: h2_ssl_cert_test.cc:117
test_root_cert
const char test_root_cert[]
test_server1_key
const char test_server1_key[]


grpc
Author(s):
autogenerated on Fri May 16 2025 03:01:19