1 /* 2 * 3 * Copyright 2016 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 #ifndef GRPC_CORE_LIB_SECURITY_CREDENTIALS_FAKE_FAKE_CREDENTIALS_H 20 #define GRPC_CORE_LIB_SECURITY_CREDENTIALS_FAKE_FAKE_CREDENTIALS_H 21 22 #include <grpc/support/port_platform.h> 23 24 #include "src/core/lib/security/credentials/credentials.h" 25 26 #define GRPC_ARG_FAKE_SECURITY_EXPECTED_TARGETS \ 27 "grpc.fake_security.expected_targets" 28 29 /* -- Fake transport security credentials. -- */ 30 31 /* Creates a fake transport security credentials object for testing. */ 32 grpc_channel_credentials* grpc_fake_transport_security_credentials_create(void); 33 34 /* Creates a fake server transport security credentials object for testing. */ 35 grpc_server_credentials* grpc_fake_transport_security_server_credentials_create( 36 void); 37 38 /* Used to verify the target names given to the fake transport security 39 * connector. 40 * 41 * The syntax of \a expected_targets by example: 42 * For LB channels: 43 * "backend_target_1,backend_target_2,...;lb_target_1,lb_target_2,..." 44 * For regular channels: 45 * "backend_taget_1,backend_target_2,..." 46 * 47 * That is to say, LB channels have a heading list of LB targets separated from 48 * the list of backend targets by a semicolon. For non-LB channels, only the 49 * latter is present. */ 50 grpc_arg grpc_fake_transport_expected_targets_arg(char* expected_targets); 51 52 /* Return the value associated with the expected targets channel arg or NULL */ 53 const char* grpc_fake_transport_get_expected_targets( 54 const grpc_channel_args* args); 55 56 /* -- Metadata-only Test credentials. -- */ 57 58 typedef struct { 59 grpc_call_credentials base; 60 grpc_mdelem md; 61 bool is_async; 62 } grpc_md_only_test_credentials; 63 64 #endif /* GRPC_CORE_LIB_SECURITY_CREDENTIALS_FAKE_FAKE_CREDENTIALS_H */ 65