fake_credentials.cc
Go to the documentation of this file.
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 
20 
22 
23 #include <stdlib.h>
24 
25 #include <utility>
26 
27 #include "absl/strings/string_view.h"
28 
36 
37 /* -- Fake transport security credentials. -- */
38 
39 namespace {
40 
41 class grpc_fake_channel_credentials final : public grpc_channel_credentials {
42  public:
46  const char* target, const grpc_channel_args* args,
47  grpc_channel_args** /*new_args*/) override {
49  this->Ref(), std::move(call_creds), target, args);
50  }
51 
52  grpc_core::UniqueTypeName type() const override {
53  static grpc_core::UniqueTypeName::Factory kFactory("Fake");
54  return kFactory.Create();
55  }
56 
57  private:
58  int cmp_impl(const grpc_channel_credentials* other) const override {
59  // TODO(yashykt): Check if we can do something better here
61  static_cast<const grpc_channel_credentials*>(this), other);
62  }
63 };
64 
65 class grpc_fake_server_credentials final : public grpc_server_credentials {
66  public:
68  create_security_connector(const grpc_channel_args* /*args*/) override {
70  }
71 
72  grpc_core::UniqueTypeName type() const override {
73  static grpc_core::UniqueTypeName::Factory kFactory("Fake");
74  return kFactory.Create();
75  }
76 };
77 } // namespace
78 
80  return new grpc_fake_channel_credentials();
81 }
82 
85  return new grpc_fake_server_credentials();
86 }
87 
90  const_cast<char*>(GRPC_ARG_FAKE_SECURITY_EXPECTED_TARGETS),
91  expected_targets);
92 }
93 
95  const grpc_channel_args* args) {
96  const grpc_arg* expected_target_arg =
98  return grpc_channel_arg_get_string(expected_target_arg);
99 }
100 
101 /* -- Metadata-only test credentials. -- */
102 
105  grpc_core::ClientMetadataHandle initial_metadata,
107  initial_metadata->Append(
109  [](absl::string_view, const grpc_core::Slice&) { abort(); });
110  return grpc_core::Immediate(std::move(initial_metadata));
111 }
112 
114  static grpc_core::UniqueTypeName::Factory kFactory("MdOnlyTest");
115  return kFactory.Create();
116 }
117 
119  const char* md_key, const char* md_value) {
120  return new grpc_md_only_test_credentials(md_key, md_value);
121 }
grpc_arg
Definition: grpc_types.h:103
grpc_channel_arg_get_string
char * grpc_channel_arg_get_string(const grpc_arg *arg)
Definition: channel_args.cc:432
grpc_md_only_test_credentials_create
grpc_call_credentials * grpc_md_only_test_credentials_create(const char *md_key, const char *md_value)
Definition: fake_credentials.cc:118
grpc_core::UniqueTypeName::Factory::Create
UniqueTypeName Create()
Definition: unique_type_name.h:67
fake_credentials.h
grpc_call_credentials::GetRequestMetadataArgs
Definition: src/core/lib/security/credentials/credentials.h:196
grpc_core::Slice::Ref
Slice Ref() const
Definition: src/core/lib/slice/slice.h:368
metadata_batch.h
grpc_core::MetadataMap::Append
void Append(absl::string_view key, Slice value, MetadataParseErrorFn on_error)
Definition: metadata_batch.h:1156
grpc_channel_credentials::type
virtual grpc_core::UniqueTypeName type() const =0
grpc_core::Slice
Definition: src/core/lib/slice/slice.h:282
absl::string_view
Definition: abseil-cpp/absl/strings/string_view.h:167
grpc_call_credentials
Definition: src/core/lib/security/credentials/credentials.h:189
grpc_md_only_test_credentials::key_
grpc_core::Slice key_
Definition: fake_credentials.h:96
grpc_channel_arg_string_create
grpc_arg grpc_channel_arg_string_create(char *name, char *value)
Definition: channel_args.cc:476
grpc_channel_args
Definition: grpc_types.h:132
asyncio_get_stats.args
args
Definition: asyncio_get_stats.py:40
grpc_core::RefCountedPtr< grpc_channel_security_connector >
absl::move
constexpr absl::remove_reference_t< T > && move(T &&t) noexcept
Definition: abseil-cpp/absl/utility/utility.h:221
grpc_fake_channel_security_connector_create
grpc_core::RefCountedPtr< grpc_channel_security_connector > grpc_fake_channel_security_connector_create(grpc_core::RefCountedPtr< grpc_channel_credentials > channel_creds, grpc_core::RefCountedPtr< grpc_call_credentials > request_metadata_creds, const char *target, const grpc_channel_args *args)
Definition: fake_security_connector.cc:320
grpc_fake_transport_expected_targets_arg
grpc_arg grpc_fake_transport_expected_targets_arg(char *expected_targets)
Definition: fake_credentials.cc:88
security_connector.h
grpc_fake_transport_security_credentials_create
grpc_channel_credentials * grpc_fake_transport_security_credentials_create()
Definition: fake_credentials.cc:79
call_creds
void call_creds(grpc_end2end_test_config config)
Definition: call_creds.cc:523
grpc_md_only_test_credentials::value_
grpc_core::Slice value_
Definition: fake_credentials.h:97
grpc_core::slice_detail::BaseSlice::as_string_view
absl::string_view as_string_view() const
Definition: src/core/lib/slice/slice.h:89
grpc_md_only_test_credentials::Type
static grpc_core::UniqueTypeName Type()
Definition: fake_credentials.cc:113
grpc_fake_transport_security_server_credentials_create
grpc_server_credentials * grpc_fake_transport_security_server_credentials_create()
Definition: fake_credentials.cc:84
grpc_md_only_test_credentials
Definition: fake_credentials.h:72
grpc_server_credentials::type
virtual grpc_core::UniqueTypeName type() const =0
grpc_fake_transport_get_expected_targets
const char * grpc_fake_transport_get_expected_targets(const grpc_channel_args *args)
Definition: fake_credentials.cc:94
grpc_server_credentials::create_security_connector
virtual grpc_core::RefCountedPtr< grpc_server_security_connector > create_security_connector(const grpc_channel_args *args)=0
promise.h
grpc_core::MetadataHandle< ClientMetadata >
grpc_server_credentials
Definition: src/core/lib/security/credentials/credentials.h:259
grpc_core::UniqueTypeName
Definition: unique_type_name.h:56
grpc_core::ArenaPromise
Definition: arena_promise.h:152
grpc_core::QsortCompare
int QsortCompare(const T &a, const T &b)
Definition: useful.h:95
poll.h
grpc_md_only_test_credentials::GetRequestMetadata
grpc_core::ArenaPromise< absl::StatusOr< grpc_core::ClientMetadataHandle > > GetRequestMetadata(grpc_core::ClientMetadataHandle initial_metadata, const GetRequestMetadataArgs *args) override
Definition: fake_credentials.cc:104
ref_counted_ptr.h
channel_args.h
GRPC_ARG_FAKE_SECURITY_EXPECTED_TARGETS
#define GRPC_ARG_FAKE_SECURITY_EXPECTED_TARGETS
Definition: fake_credentials.h:40
grpc_core::Immediate
promise_detail::Immediate< T > Immediate(T value)
Definition: promise/promise.h:73
grpc_channel_credentials::cmp_impl
virtual int cmp_impl(const grpc_channel_credentials *other) const =0
grpc_fake_server_security_connector_create
grpc_core::RefCountedPtr< grpc_server_security_connector > grpc_fake_server_security_connector_create(grpc_core::RefCountedPtr< grpc_server_credentials > server_creds)
Definition: fake_security_connector.cc:330
grpc_channel_credentials::create_security_connector
virtual grpc_core::RefCountedPtr< grpc_channel_security_connector > create_security_connector(grpc_core::RefCountedPtr< grpc_call_credentials > call_creds, const char *target, const grpc_channel_args *args, grpc_channel_args **new_args)=0
grpc_core::UniqueTypeName::Factory
Definition: unique_type_name.h:60
grpc_channel_args_find
const grpc_arg * grpc_channel_args_find(const grpc_channel_args *args, const char *name)
Definition: channel_args.cc:393
setup.target
target
Definition: third_party/bloaty/third_party/protobuf/python/setup.py:179
grpc_channel_credentials
Definition: src/core/lib/security/credentials/credentials.h:96
grpc_core::RefCounted< grpc_channel_credentials >::Ref
RefCountedPtr< grpc_channel_credentials > Ref() GRPC_MUST_USE_RESULT
Definition: ref_counted.h:287
fake_security_connector.h
port_platform.h


grpc
Author(s):
autogenerated on Fri May 16 2025 02:58:22