grpc 1.30.2-x86-mingw32
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of grpc might be problematic. Click here for more details.
- checksums.yaml +7 -0
- data/etc/roots.pem +4644 -0
- data/grpc_c.32.ruby +0 -0
- data/grpc_c.64.ruby +0 -0
- data/src/ruby/bin/math_client.rb +140 -0
- data/src/ruby/bin/math_pb.rb +34 -0
- data/src/ruby/bin/math_server.rb +191 -0
- data/src/ruby/bin/math_services_pb.rb +51 -0
- data/src/ruby/bin/noproto_client.rb +93 -0
- data/src/ruby/bin/noproto_server.rb +97 -0
- data/src/ruby/ext/grpc/ext-export.clang +1 -0
- data/src/ruby/ext/grpc/ext-export.gcc +6 -0
- data/src/ruby/ext/grpc/extconf.rb +107 -0
- data/src/ruby/ext/grpc/rb_byte_buffer.c +64 -0
- data/src/ruby/ext/grpc/rb_byte_buffer.h +35 -0
- data/src/ruby/ext/grpc/rb_call.c +1050 -0
- data/src/ruby/ext/grpc/rb_call.h +53 -0
- data/src/ruby/ext/grpc/rb_call_credentials.c +297 -0
- data/src/ruby/ext/grpc/rb_call_credentials.h +31 -0
- data/src/ruby/ext/grpc/rb_channel.c +835 -0
- data/src/ruby/ext/grpc/rb_channel.h +34 -0
- data/src/ruby/ext/grpc/rb_channel_args.c +155 -0
- data/src/ruby/ext/grpc/rb_channel_args.h +38 -0
- data/src/ruby/ext/grpc/rb_channel_credentials.c +267 -0
- data/src/ruby/ext/grpc/rb_channel_credentials.h +32 -0
- data/src/ruby/ext/grpc/rb_completion_queue.c +100 -0
- data/src/ruby/ext/grpc/rb_completion_queue.h +36 -0
- data/src/ruby/ext/grpc/rb_compression_options.c +470 -0
- data/src/ruby/ext/grpc/rb_compression_options.h +29 -0
- data/src/ruby/ext/grpc/rb_enable_cpp.cc +22 -0
- data/src/ruby/ext/grpc/rb_event_thread.c +143 -0
- data/src/ruby/ext/grpc/rb_event_thread.h +21 -0
- data/src/ruby/ext/grpc/rb_grpc.c +328 -0
- data/src/ruby/ext/grpc/rb_grpc.h +76 -0
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +573 -0
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +865 -0
- data/src/ruby/ext/grpc/rb_loader.c +57 -0
- data/src/ruby/ext/grpc/rb_loader.h +25 -0
- data/src/ruby/ext/grpc/rb_server.c +372 -0
- data/src/ruby/ext/grpc/rb_server.h +32 -0
- data/src/ruby/ext/grpc/rb_server_credentials.c +243 -0
- data/src/ruby/ext/grpc/rb_server_credentials.h +32 -0
- data/src/ruby/lib/grpc.rb +37 -0
- data/src/ruby/lib/grpc/2.3/grpc_c.so +0 -0
- data/src/ruby/lib/grpc/2.4/grpc_c.so +0 -0
- data/src/ruby/lib/grpc/2.5/grpc_c.so +0 -0
- data/src/ruby/lib/grpc/2.6/grpc_c.so +0 -0
- data/src/ruby/lib/grpc/2.7/grpc_c.so +0 -0
- data/src/ruby/lib/grpc/core/status_codes.rb +135 -0
- data/src/ruby/lib/grpc/core/time_consts.rb +56 -0
- data/src/ruby/lib/grpc/errors.rb +277 -0
- data/src/ruby/lib/grpc/generic/active_call.rb +669 -0
- data/src/ruby/lib/grpc/generic/bidi_call.rb +233 -0
- data/src/ruby/lib/grpc/generic/client_stub.rb +501 -0
- data/src/ruby/lib/grpc/generic/interceptor_registry.rb +53 -0
- data/src/ruby/lib/grpc/generic/interceptors.rb +186 -0
- data/src/ruby/lib/grpc/generic/rpc_desc.rb +204 -0
- data/src/ruby/lib/grpc/generic/rpc_server.rb +551 -0
- data/src/ruby/lib/grpc/generic/service.rb +211 -0
- data/src/ruby/lib/grpc/google_rpc_status_utils.rb +40 -0
- data/src/ruby/lib/grpc/grpc.rb +24 -0
- data/src/ruby/lib/grpc/logconfig.rb +44 -0
- data/src/ruby/lib/grpc/notifier.rb +45 -0
- data/src/ruby/lib/grpc/structs.rb +15 -0
- data/src/ruby/lib/grpc/version.rb +18 -0
- data/src/ruby/pb/README.md +42 -0
- data/src/ruby/pb/generate_proto_ruby.sh +51 -0
- data/src/ruby/pb/grpc/health/checker.rb +75 -0
- data/src/ruby/pb/grpc/health/v1/health_pb.rb +31 -0
- data/src/ruby/pb/grpc/health/v1/health_services_pb.rb +62 -0
- data/src/ruby/pb/grpc/testing/duplicate/echo_duplicate_services_pb.rb +44 -0
- data/src/ruby/pb/grpc/testing/metrics_pb.rb +28 -0
- data/src/ruby/pb/grpc/testing/metrics_services_pb.rb +49 -0
- data/src/ruby/pb/src/proto/grpc/testing/empty_pb.rb +17 -0
- data/src/ruby/pb/src/proto/grpc/testing/messages_pb.rb +105 -0
- data/src/ruby/pb/src/proto/grpc/testing/test_pb.rb +16 -0
- data/src/ruby/pb/src/proto/grpc/testing/test_services_pb.rb +118 -0
- data/src/ruby/pb/test/client.rb +769 -0
- data/src/ruby/pb/test/server.rb +252 -0
- data/src/ruby/pb/test/xds_client.rb +213 -0
- data/src/ruby/spec/call_credentials_spec.rb +42 -0
- data/src/ruby/spec/call_spec.rb +180 -0
- data/src/ruby/spec/channel_connection_spec.rb +126 -0
- data/src/ruby/spec/channel_credentials_spec.rb +82 -0
- data/src/ruby/spec/channel_spec.rb +234 -0
- data/src/ruby/spec/client_auth_spec.rb +126 -0
- data/src/ruby/spec/client_server_spec.rb +664 -0
- data/src/ruby/spec/compression_options_spec.rb +149 -0
- data/src/ruby/spec/debug_message_spec.rb +134 -0
- data/src/ruby/spec/error_sanity_spec.rb +49 -0
- data/src/ruby/spec/errors_spec.rb +142 -0
- data/src/ruby/spec/generic/active_call_spec.rb +672 -0
- data/src/ruby/spec/generic/client_interceptors_spec.rb +153 -0
- data/src/ruby/spec/generic/client_stub_spec.rb +1083 -0
- data/src/ruby/spec/generic/interceptor_registry_spec.rb +65 -0
- data/src/ruby/spec/generic/rpc_desc_spec.rb +374 -0
- data/src/ruby/spec/generic/rpc_server_pool_spec.rb +127 -0
- data/src/ruby/spec/generic/rpc_server_spec.rb +748 -0
- data/src/ruby/spec/generic/server_interceptors_spec.rb +218 -0
- data/src/ruby/spec/generic/service_spec.rb +263 -0
- data/src/ruby/spec/google_rpc_status_utils_spec.rb +282 -0
- data/src/ruby/spec/pb/codegen/grpc/testing/package_options.proto +28 -0
- data/src/ruby/spec/pb/codegen/grpc/testing/package_options_import.proto +22 -0
- data/src/ruby/spec/pb/codegen/grpc/testing/package_options_import2.proto +23 -0
- data/src/ruby/spec/pb/codegen/grpc/testing/package_options_ruby_style.proto +41 -0
- data/src/ruby/spec/pb/codegen/package_option_spec.rb +82 -0
- data/src/ruby/spec/pb/duplicate/codegen_spec.rb +57 -0
- data/src/ruby/spec/pb/health/checker_spec.rb +236 -0
- data/src/ruby/spec/server_credentials_spec.rb +79 -0
- data/src/ruby/spec/server_spec.rb +209 -0
- data/src/ruby/spec/spec_helper.rb +61 -0
- data/src/ruby/spec/support/helpers.rb +107 -0
- data/src/ruby/spec/support/services.rb +160 -0
- data/src/ruby/spec/testdata/README +1 -0
- data/src/ruby/spec/testdata/ca.pem +20 -0
- data/src/ruby/spec/testdata/client.key +28 -0
- data/src/ruby/spec/testdata/client.pem +20 -0
- data/src/ruby/spec/testdata/server1.key +28 -0
- data/src/ruby/spec/testdata/server1.pem +22 -0
- data/src/ruby/spec/time_consts_spec.rb +74 -0
- metadata +394 -0
@@ -0,0 +1,61 @@
|
|
1
|
+
# Copyright 2015 gRPC authors.
|
2
|
+
#
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
+
# you may not use this file except in compliance with the License.
|
5
|
+
# You may obtain a copy of the License at
|
6
|
+
#
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
8
|
+
#
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
+
# See the License for the specific language governing permissions and
|
13
|
+
# limitations under the License.
|
14
|
+
|
15
|
+
spec_dir = File.expand_path(File.dirname(__FILE__))
|
16
|
+
root_dir = File.expand_path(File.join(spec_dir, '..'))
|
17
|
+
lib_dir = File.expand_path(File.join(root_dir, 'lib'))
|
18
|
+
|
19
|
+
$LOAD_PATH.unshift(spec_dir)
|
20
|
+
$LOAD_PATH.unshift(lib_dir)
|
21
|
+
$LOAD_PATH.uniq!
|
22
|
+
|
23
|
+
# set up coverage
|
24
|
+
require 'simplecov'
|
25
|
+
SimpleCov.start do
|
26
|
+
add_filter 'spec'
|
27
|
+
add_filter 'bin'
|
28
|
+
SimpleCov.command_name ENV['COVERAGE_NAME']
|
29
|
+
end if ENV['COVERAGE_NAME']
|
30
|
+
|
31
|
+
require 'rspec'
|
32
|
+
require 'logging'
|
33
|
+
require 'rspec/logging_helper'
|
34
|
+
require 'grpc'
|
35
|
+
|
36
|
+
require_relative 'support/services'
|
37
|
+
require_relative 'support/helpers'
|
38
|
+
|
39
|
+
# GRPC is the general RPC module
|
40
|
+
#
|
41
|
+
# Configure its logging for fine-grained log control during test runs
|
42
|
+
module GRPC
|
43
|
+
extend Logging.globally
|
44
|
+
end
|
45
|
+
Logging.logger.root.appenders = Logging.appenders.stdout
|
46
|
+
Logging.logger.root.level = :info
|
47
|
+
Logging.logger['GRPC'].level = :info
|
48
|
+
Logging.logger['GRPC::ActiveCall'].level = :info
|
49
|
+
Logging.logger['GRPC::BidiCall'].level = :info
|
50
|
+
|
51
|
+
# Configure RSpec to capture log messages for each test. The output from the
|
52
|
+
# logs will be stored in the @log_output variable. It is a StringIO instance.
|
53
|
+
RSpec.configure do |config|
|
54
|
+
include RSpec::LoggingHelper
|
55
|
+
config.capture_log_messages # comment this out to see logs during test runs
|
56
|
+
include GRPC::Spec::Helpers
|
57
|
+
end
|
58
|
+
|
59
|
+
RSpec::Expectations.configuration.warn_about_potential_false_positives = false
|
60
|
+
|
61
|
+
Thread.abort_on_exception = true
|
@@ -0,0 +1,107 @@
|
|
1
|
+
# Copyright 2017 gRPC authors.
|
2
|
+
#
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
+
# you may not use this file except in compliance with the License.
|
5
|
+
# You may obtain a copy of the License at
|
6
|
+
#
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
8
|
+
#
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
+
# See the License for the specific language governing permissions and
|
13
|
+
# limitations under the License.
|
14
|
+
|
15
|
+
# GRPC contains the General RPC module.
|
16
|
+
module GRPC
|
17
|
+
##
|
18
|
+
# GRPC RSpec base module
|
19
|
+
#
|
20
|
+
module Spec
|
21
|
+
##
|
22
|
+
# A module that is used for providing generic helpers across the
|
23
|
+
# GRPC test suite
|
24
|
+
#
|
25
|
+
module Helpers
|
26
|
+
# Shortcut syntax for a GRPC RPC Server
|
27
|
+
RpcServer = GRPC::RpcServer
|
28
|
+
|
29
|
+
##
|
30
|
+
# Build an RPC server used for testing
|
31
|
+
#
|
32
|
+
def build_rpc_server(server_opts: {},
|
33
|
+
client_opts: {})
|
34
|
+
@server = new_rpc_server_for_testing({ poll_period: 1 }.merge(server_opts))
|
35
|
+
@port = @server.add_http2_port('0.0.0.0:0', :this_port_is_insecure)
|
36
|
+
@host = "0.0.0.0:#{@port}"
|
37
|
+
@client_opts = client_opts
|
38
|
+
@server
|
39
|
+
end
|
40
|
+
|
41
|
+
##
|
42
|
+
# Run services on an RPC server, yielding to allow testing within
|
43
|
+
#
|
44
|
+
# @param [RpcServer] server
|
45
|
+
# @param [Array<Class>] services
|
46
|
+
#
|
47
|
+
def run_services_on_server(server, services: [])
|
48
|
+
services.each do |s|
|
49
|
+
server.handle(s)
|
50
|
+
end
|
51
|
+
t = Thread.new { server.run }
|
52
|
+
server.wait_till_running
|
53
|
+
|
54
|
+
yield
|
55
|
+
|
56
|
+
server.stop
|
57
|
+
t.join
|
58
|
+
end
|
59
|
+
|
60
|
+
##
|
61
|
+
# Build an insecure stub from a given stub class
|
62
|
+
#
|
63
|
+
# @param [Class] klass
|
64
|
+
# @param [String] host
|
65
|
+
#
|
66
|
+
def build_insecure_stub(klass, host: nil, opts: nil)
|
67
|
+
host ||= @host
|
68
|
+
opts ||= @client_opts
|
69
|
+
klass.new(host, :this_channel_is_insecure, **opts)
|
70
|
+
end
|
71
|
+
|
72
|
+
##
|
73
|
+
# Build an RPCServer for use in tests. Adds args
|
74
|
+
# that are useful for all tests.
|
75
|
+
#
|
76
|
+
# @param [Hash] server_opts
|
77
|
+
#
|
78
|
+
def new_rpc_server_for_testing(server_opts = {})
|
79
|
+
server_opts[:server_args] ||= {}
|
80
|
+
update_server_args_hash(server_opts[:server_args])
|
81
|
+
RpcServer.new(**server_opts)
|
82
|
+
end
|
83
|
+
|
84
|
+
##
|
85
|
+
# Build an GRPC::Core::Server for use in tests. Adds args
|
86
|
+
# that are useful for all tests.
|
87
|
+
#
|
88
|
+
# @param [Hash] server_args
|
89
|
+
#
|
90
|
+
def new_core_server_for_testing(server_args)
|
91
|
+
server_args.nil? && server_args = {}
|
92
|
+
update_server_args_hash(server_args)
|
93
|
+
GRPC::Core::Server.new(server_args)
|
94
|
+
end
|
95
|
+
|
96
|
+
def update_server_args_hash(server_args)
|
97
|
+
so_reuseport_arg = 'grpc.so_reuseport'
|
98
|
+
unless server_args[so_reuseport_arg].nil?
|
99
|
+
fail 'Unexpected. grpc.so_reuseport already set.'
|
100
|
+
end
|
101
|
+
# Run tests without so_reuseport to eliminate the chance of
|
102
|
+
# cross-talk.
|
103
|
+
server_args[so_reuseport_arg] = 0
|
104
|
+
end
|
105
|
+
end
|
106
|
+
end
|
107
|
+
end
|
@@ -0,0 +1,160 @@
|
|
1
|
+
# Copyright 2017 gRPC authors.
|
2
|
+
#
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
+
# you may not use this file except in compliance with the License.
|
5
|
+
# You may obtain a copy of the License at
|
6
|
+
#
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
8
|
+
#
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
+
# See the License for the specific language governing permissions and
|
13
|
+
# limitations under the License.
|
14
|
+
|
15
|
+
# Test stubs for various scenarios
|
16
|
+
require 'spec_helper'
|
17
|
+
|
18
|
+
# A test message
|
19
|
+
class EchoMsg
|
20
|
+
attr_reader :msg
|
21
|
+
|
22
|
+
def initialize(msg: '')
|
23
|
+
@msg = msg
|
24
|
+
end
|
25
|
+
|
26
|
+
def self.marshal(o)
|
27
|
+
o.msg
|
28
|
+
end
|
29
|
+
|
30
|
+
def self.unmarshal(msg)
|
31
|
+
EchoMsg.new(msg: msg)
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
# A test service with an echo implementation.
|
36
|
+
class EchoService
|
37
|
+
include GRPC::GenericService
|
38
|
+
rpc :an_rpc, EchoMsg, EchoMsg
|
39
|
+
rpc :a_client_streaming_rpc, stream(EchoMsg), EchoMsg
|
40
|
+
rpc :a_server_streaming_rpc, EchoMsg, stream(EchoMsg)
|
41
|
+
rpc :a_bidi_rpc, stream(EchoMsg), stream(EchoMsg)
|
42
|
+
rpc :a_client_streaming_rpc_unimplemented, stream(EchoMsg), EchoMsg
|
43
|
+
attr_reader :received_md
|
44
|
+
|
45
|
+
def initialize(**kw)
|
46
|
+
@trailing_metadata = kw
|
47
|
+
@received_md = []
|
48
|
+
end
|
49
|
+
|
50
|
+
def an_rpc(req, call)
|
51
|
+
GRPC.logger.info('echo service received a request')
|
52
|
+
call.output_metadata.update(@trailing_metadata)
|
53
|
+
@received_md << call.metadata unless call.metadata.nil?
|
54
|
+
req
|
55
|
+
end
|
56
|
+
|
57
|
+
def a_client_streaming_rpc(call)
|
58
|
+
# iterate through requests so call can complete
|
59
|
+
call.output_metadata.update(@trailing_metadata)
|
60
|
+
call.each_remote_read.each do |r|
|
61
|
+
GRPC.logger.info(r)
|
62
|
+
end
|
63
|
+
EchoMsg.new
|
64
|
+
end
|
65
|
+
|
66
|
+
def a_server_streaming_rpc(_req, call)
|
67
|
+
call.output_metadata.update(@trailing_metadata)
|
68
|
+
[EchoMsg.new, EchoMsg.new]
|
69
|
+
end
|
70
|
+
|
71
|
+
def a_bidi_rpc(requests, call)
|
72
|
+
call.output_metadata.update(@trailing_metadata)
|
73
|
+
requests.each do |r|
|
74
|
+
GRPC.logger.info(r)
|
75
|
+
end
|
76
|
+
[EchoMsg.new, EchoMsg.new]
|
77
|
+
end
|
78
|
+
end
|
79
|
+
|
80
|
+
EchoStub = EchoService.rpc_stub_class
|
81
|
+
|
82
|
+
# For testing server interceptors
|
83
|
+
class TestServerInterceptor < GRPC::ServerInterceptor
|
84
|
+
def request_response(request:, call:, method:)
|
85
|
+
GRPC.logger.info("Received request/response call at method #{method}" \
|
86
|
+
" with request #{request} for call #{call}")
|
87
|
+
call.output_metadata[:interc] = 'from_request_response'
|
88
|
+
GRPC.logger.info("[GRPC::Ok] (#{method.owner.name}.#{method.name})")
|
89
|
+
yield
|
90
|
+
end
|
91
|
+
|
92
|
+
def client_streamer(call:, method:)
|
93
|
+
call.output_metadata[:interc] = 'from_client_streamer'
|
94
|
+
call.each_remote_read.each do |r|
|
95
|
+
GRPC.logger.info("In interceptor: #{r}")
|
96
|
+
end
|
97
|
+
GRPC.logger.info(
|
98
|
+
"Received client streamer call at method #{method} for call #{call}"
|
99
|
+
)
|
100
|
+
yield
|
101
|
+
end
|
102
|
+
|
103
|
+
def server_streamer(request:, call:, method:)
|
104
|
+
GRPC.logger.info("Received server streamer call at method #{method} with request" \
|
105
|
+
" #{request} for call #{call}")
|
106
|
+
call.output_metadata[:interc] = 'from_server_streamer'
|
107
|
+
yield
|
108
|
+
end
|
109
|
+
|
110
|
+
def bidi_streamer(requests:, call:, method:)
|
111
|
+
requests.each do |r|
|
112
|
+
GRPC.logger.info("Bidi request: #{r}")
|
113
|
+
end
|
114
|
+
GRPC.logger.info("Received bidi streamer call at method #{method} with requests" \
|
115
|
+
" #{requests} for call #{call}")
|
116
|
+
call.output_metadata[:interc] = 'from_bidi_streamer'
|
117
|
+
yield
|
118
|
+
end
|
119
|
+
end
|
120
|
+
|
121
|
+
# For testing client interceptors
|
122
|
+
class TestClientInterceptor < GRPC::ClientInterceptor
|
123
|
+
def request_response(request:, call:, method:, metadata: {})
|
124
|
+
GRPC.logger.info("Intercepted request/response call at method #{method}" \
|
125
|
+
" with request #{request} for call #{call}" \
|
126
|
+
" and metadata: #{metadata}")
|
127
|
+
metadata['foo'] = 'bar_from_request_response'
|
128
|
+
yield
|
129
|
+
end
|
130
|
+
|
131
|
+
def client_streamer(requests:, call:, method:, metadata: {})
|
132
|
+
GRPC.logger.info("Received client streamer call at method #{method}" \
|
133
|
+
" with requests #{requests} for call #{call}" \
|
134
|
+
" and metadata: #{metadata}")
|
135
|
+
requests.each do |r|
|
136
|
+
GRPC.logger.info("In client interceptor: #{r}")
|
137
|
+
end
|
138
|
+
metadata['foo'] = 'bar_from_client_streamer'
|
139
|
+
yield
|
140
|
+
end
|
141
|
+
|
142
|
+
def server_streamer(request:, call:, method:, metadata: {})
|
143
|
+
GRPC.logger.info("Received server streamer call at method #{method}" \
|
144
|
+
" with request #{request} for call #{call}" \
|
145
|
+
" and metadata: #{metadata}")
|
146
|
+
metadata['foo'] = 'bar_from_server_streamer'
|
147
|
+
yield
|
148
|
+
end
|
149
|
+
|
150
|
+
def bidi_streamer(requests:, call:, method:, metadata: {})
|
151
|
+
GRPC.logger.info("Received bidi streamer call at method #{method}" \
|
152
|
+
"with requests #{requests} for call #{call}" \
|
153
|
+
" and metadata: #{metadata}")
|
154
|
+
requests.each do |r|
|
155
|
+
GRPC.logger.info("In client interceptor: #{r}")
|
156
|
+
end
|
157
|
+
metadata['foo'] = 'bar_from_bidi_streamer'
|
158
|
+
yield
|
159
|
+
end
|
160
|
+
end
|
@@ -0,0 +1 @@
|
|
1
|
+
These are test keys *NOT* to be used in production.
|
@@ -0,0 +1,20 @@
|
|
1
|
+
-----BEGIN CERTIFICATE-----
|
2
|
+
MIIDWjCCAkKgAwIBAgIUWrP0VvHcy+LP6UuYNtiL9gBhD5owDQYJKoZIhvcNAQEL
|
3
|
+
BQAwVjELMAkGA1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoM
|
4
|
+
GEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZDEPMA0GA1UEAwwGdGVzdGNhMB4XDTIw
|
5
|
+
MDMxNzE4NTk1MVoXDTMwMDMxNTE4NTk1MVowVjELMAkGA1UEBhMCQVUxEzARBgNV
|
6
|
+
BAgMClNvbWUtU3RhdGUxITAfBgNVBAoMGEludGVybmV0IFdpZGdpdHMgUHR5IEx0
|
7
|
+
ZDEPMA0GA1UEAwwGdGVzdGNhMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
|
8
|
+
AQEAsGL0oXflF0LzoM+Bh+qUU9yhqzw2w8OOX5mu/iNCyUOBrqaHi7mGHx73GD01
|
9
|
+
diNzCzvlcQqdNIH6NQSL7DTpBjca66jYT9u73vZe2MDrr1nVbuLvfu9850cdxiUO
|
10
|
+
Inv5xf8+sTHG0C+a+VAvMhsLiRjsq+lXKRJyk5zkbbsETybqpxoJ+K7CoSy3yc/k
|
11
|
+
QIY3TipwEtwkKP4hzyo6KiGd/DPexie4nBUInN3bS1BUeNZ5zeaIC2eg3bkeeW7c
|
12
|
+
qT55b+Yen6CxY0TEkzBK6AKt/WUialKMgT0wbTxRZO7kUCH3Sq6e/wXeFdJ+HvdV
|
13
|
+
LPlAg5TnMaNpRdQih/8nRFpsdwIDAQABoyAwHjAMBgNVHRMEBTADAQH/MA4GA1Ud
|
14
|
+
DwEB/wQEAwICBDANBgkqhkiG9w0BAQsFAAOCAQEAkTrKZjBrJXHps/HrjNCFPb5a
|
15
|
+
THuGPCSsepe1wkKdSp1h4HGRpLoCgcLysCJ5hZhRpHkRihhef+rFHEe60UePQO3S
|
16
|
+
CVTtdJB4CYWpcNyXOdqefrbJW5QNljxgi6Fhvs7JJkBqdXIkWXtFk2eRgOIP2Eo9
|
17
|
+
/OHQHlYnwZFrk6sp4wPyR+A95S0toZBcyDVz7u+hOW0pGK3wviOe9lvRgj/H3Pwt
|
18
|
+
bewb0l+MhRig0/DVHamyVxrDRbqInU1/GTNCwcZkXKYFWSf92U+kIcTth24Q1gcw
|
19
|
+
eZiLl5FfrWokUNytFElXob0V0a5/kbhiLc3yWmvWqHTpqCALbVyF+rKJo2f5Kw==
|
20
|
+
-----END CERTIFICATE-----
|
@@ -0,0 +1,28 @@
|
|
1
|
+
-----BEGIN PRIVATE KEY-----
|
2
|
+
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCyqYRp+DXVp72N
|
3
|
+
FbQH8hdhTZLycZXOlJhmMsrJmrjn2p7pI/8mTZ/0FC+SGWBGZV+ELiHrmCX5zfaI
|
4
|
+
Lr9Iuw7Ghr3Vzoefi8r62rLupVPNi/qdqyjWk2dECHC9Z3+Ag3KzKTyerXWjKcvy
|
5
|
+
KVmM0ZxE0RXhDW/RoQbqZsU2GKg1B2rhUU8KN0gVmKn0rJHOxzRVSYeYLYp5Yn7K
|
6
|
+
rtPJcKyo9aVuEr7dGANzpyF6lg/nYBWc+9SGwkoLdFvKvABYJMyrbNhHUQfv0fza
|
7
|
+
Z0P86dfTENrDxzALrzGnqcx3KTrwJjkZ/aSr1tyD0/tXvukRFiPxWBJhjHQ70GqT
|
8
|
+
FQY19RbhAgMBAAECggEAIL8JUhL4awyvpWhQ8xPgTSlWwbEn8BE0TacJnCILuhNM
|
9
|
+
BRdf8LlRk/8PKQwVpVF3TFbYSMI+U6b4hMVssfv3HVQc/083dHq+3XOwUCVlUstR
|
10
|
+
SAzTE2E5EDMr1stdh0SQhV4Nilfos9s5Uk1Z6IGSztoz1GgOErIc/mGPy/aA/hbr
|
11
|
+
fRWHvTp35+MbCJSvZuOeevX2iLs0dNzqdk6DiOWIH/BVGirVPtO6ykrkuTj1FWiN
|
12
|
+
hyZ3MBChShlNH2poNX46ntOc7nEus0qteOgxBK8lummFEtlehCA7hd/8xuvYlP0k
|
13
|
+
7aN684LCRDajmAGpoZO57NSDYQhAFGZeUZ93SMFucQKBgQDe7GGkzZFEiv91u1q9
|
14
|
+
lgMy1h5dZjIZKgQaOarPC6wCQMUdqCf6cSLsAPr4T8EDoWsnY7dSnrTZ6YCIFL1T
|
15
|
+
idg8M3BQXipICCJkFORS76pKKZ0wMn3/NgkSepsmNct91WHr6okvx4tOaoRCtdzU
|
16
|
+
g7jt4Mr3sfLCiZtqTQyySdMUEwKBgQDNK+ZFKL0XhkWZP+PGKjWG8LWpPiK3d78/
|
17
|
+
wYBFXzSTGlkr6FvRmYtZeNwXWRYLB4UxZ9At4hbJVEdi/2dITOz/sehVDyCAjjs3
|
18
|
+
gycsc3UJqiZbcw5XKhI5TWBuWxkKENdbMSayogVbp2aSYoRblH764//t0ACmbfTW
|
19
|
+
KUQRQPB/uwKBgQC5QjjjfPL8w4cJkGoYpFKELO2PMR7xSrmeEc6hwlFwjeNCgjy3
|
20
|
+
JM6g0y++rIj7O2qRkY0IXFxvvF3UuWedxTCu1xC/uYHp2ti506LsScB7YZoAM/YB
|
21
|
+
4iYn9Tx6xLoYGP0H0iGwU2SyBlNkHT8oXU+SYP5MWtYkVbeS3/VtNWz1gQKBgQCA
|
22
|
+
6Nk4kN0mH7YxEKRzSOfyzeDF4oV7kuB2FYUbkTL+TirC3K58JiYY5Egc31trOKFm
|
23
|
+
Jlz1xz0b6DkmKWTiV3r9OPHKJ8P7IeJxAZWmZzCdDuwkv0i+WW+z0zsIe3JjEavN
|
24
|
+
3zb6O7R0HtziksWoqMeTqZeO+wa9iw6vVKQw1wWEqwKBgFHfahFs0DZ5cUTpGpBt
|
25
|
+
F/AQG7ukgipB6N6AkB9kDbgCs1FLgd199MQrEncug5hfpq8QerbyMatmA+GXoGMb
|
26
|
+
7vztKEH85yzp4n02FNL6H7xL4VVILvyZHdolmiORJ4qT2hZnl8pEQ2TYuF4RlHUd
|
27
|
+
nSwXX+2o0J/nF85fm4AwWKAc
|
28
|
+
-----END PRIVATE KEY-----
|
@@ -0,0 +1,20 @@
|
|
1
|
+
-----BEGIN CERTIFICATE-----
|
2
|
+
MIIDNzCCAh8CFGyX00RCepOv/qCJ1oVdTtY92U83MA0GCSqGSIb3DQEBCwUAMFYx
|
3
|
+
CzAJBgNVBAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEwHwYDVQQKDBhJbnRl
|
4
|
+
cm5ldCBXaWRnaXRzIFB0eSBMdGQxDzANBgNVBAMMBnRlc3RjYTAeFw0yMDAzMTgw
|
5
|
+
MTA2MTBaFw0zMDAzMTYwMTA2MTBaMFoxCzAJBgNVBAYTAkFVMRMwEQYDVQQIDApT
|
6
|
+
b21lLVN0YXRlMSEwHwYDVQQKDBhJbnRlcm5ldCBXaWRnaXRzIFB0eSBMdGQxEzAR
|
7
|
+
BgNVBAMMCnRlc3RjbGllbnQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB
|
8
|
+
AQCyqYRp+DXVp72NFbQH8hdhTZLycZXOlJhmMsrJmrjn2p7pI/8mTZ/0FC+SGWBG
|
9
|
+
ZV+ELiHrmCX5zfaILr9Iuw7Ghr3Vzoefi8r62rLupVPNi/qdqyjWk2dECHC9Z3+A
|
10
|
+
g3KzKTyerXWjKcvyKVmM0ZxE0RXhDW/RoQbqZsU2GKg1B2rhUU8KN0gVmKn0rJHO
|
11
|
+
xzRVSYeYLYp5Yn7KrtPJcKyo9aVuEr7dGANzpyF6lg/nYBWc+9SGwkoLdFvKvABY
|
12
|
+
JMyrbNhHUQfv0fzaZ0P86dfTENrDxzALrzGnqcx3KTrwJjkZ/aSr1tyD0/tXvukR
|
13
|
+
FiPxWBJhjHQ70GqTFQY19RbhAgMBAAEwDQYJKoZIhvcNAQELBQADggEBAFXCewK8
|
14
|
+
cWT+zWxXyGFnouFSBzTi0BMBJRrhsiNoiQxkqityJHWFExiQZie+7CA+EabXCQUB
|
15
|
+
+JwMSWM29j3mSw10DTfmC3rhheQqGxy304BZyUpdpvI2dt3p/mcsE7O+p4sQrSep
|
16
|
+
gijiDssKAfxTAmUM93N6+Q8yJK5immxlbeYfijoBvmkzyB/B+qNRPsx0n7aFGnfv
|
17
|
+
oWfkW296iPhWLiwknpC3xB6oK3vRbK4Zj1OaGb0grK7VN8EyhBix2xVF61i4dzCK
|
18
|
+
kMIpl7CUpw1Mb2z8q3F2bHBS7iF7g1Ccn5VGcO+aJ+6PWydaeqJ6VEBF0Nwv9woe
|
19
|
+
mL5AluNRLaqjZvE=
|
20
|
+
-----END CERTIFICATE-----
|
@@ -0,0 +1,28 @@
|
|
1
|
+
-----BEGIN PRIVATE KEY-----
|
2
|
+
MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDnE443EknxvxBq
|
3
|
+
6+hvn/t09hl8hx366EBYvZmVM/NC+7igXRAjiJiA/mIaCvL3MS0Iz5hBLxSGICU+
|
4
|
+
WproA3GCIFITIwcf/ETyWj/5xpgZ4AKrLrjQmmX8mhwUajfF3UvwMJrCOVqPp67t
|
5
|
+
PtP+2kBXaqrXdvnvXR41FsIB8V7zIAuIZB6bHQhiGVlc1sgZYsE2EGG9WMmHtS86
|
6
|
+
qkAOTjG2XyjmPTGAwhGDpYkYrpzp99IiDh4/Veai81hn0ssQkbry0XRD/Ig3jcHh
|
7
|
+
23WiriPNJ0JsbgXUSLKRPZObA9VgOLy2aXoN84IMaeK3yy+cwSYG/99w93fUZJte
|
8
|
+
MXwz4oYZAgMBAAECggEBAIVn2Ncai+4xbH0OLWckabwgyJ4IM9rDc0LIU368O1kU
|
9
|
+
koais8qP9dujAWgfoh3sGh/YGgKn96VnsZjKHlyMgF+r4TaDJn3k2rlAOWcurGlj
|
10
|
+
1qaVlsV4HiEzp7pxiDmHhWvp4672Bb6iBG+bsjCUOEk/n9o9KhZzIBluRhtxCmw5
|
11
|
+
nw4Do7z00PTvN81260uPWSc04IrytvZUiAIx/5qxD72bij2xJ8t/I9GI8g4FtoVB
|
12
|
+
8pB6S/hJX1PZhh9VlU6Yk+TOfOVnbebG4W5138LkB835eqk3Zz0qsbc2euoi8Hxi
|
13
|
+
y1VGwQEmMQ63jXz4c6g+X55ifvUK9Jpn5E8pq+pMd7ECgYEA93lYq+Cr54K4ey5t
|
14
|
+
sWMa+ye5RqxjzgXj2Kqr55jb54VWG7wp2iGbg8FMlkQwzTJwebzDyCSatguEZLuB
|
15
|
+
gRGroRnsUOy9vBvhKPOch9bfKIl6qOgzMJB267fBVWx5ybnRbWN/I7RvMQf3k+9y
|
16
|
+
biCIVnxDLEEYyx7z85/5qxsXg/MCgYEA7wmWKtCTn032Hy9P8OL49T0X6Z8FlkDC
|
17
|
+
Rk42ygrc/MUbugq9RGUxcCxoImOG9JXUpEtUe31YDm2j+/nbvrjl6/bP2qWs0V7l
|
18
|
+
dTJl6dABP51pCw8+l4cWgBBX08Lkeen812AAFNrjmDCjX6rHjWHLJcpS18fnRRkP
|
19
|
+
V1d/AHWX7MMCgYEA6Gsw2guhp0Zf2GCcaNK5DlQab8OL4Hwrpttzo4kuTlwtqNKp
|
20
|
+
Q9H4al9qfF4Cr1TFya98+EVYf8yFRM3NLNjZpe3gwYf2EerlJj7VLcahw0KKzoN1
|
21
|
+
QBENfwgPLRk5sDkx9VhSmcfl/diLroZdpAwtv3vo4nEoxeuGFbKTGx3Qkf0CgYEA
|
22
|
+
xyR+dcb05Ygm3w4klHQTowQ10s1H80iaUcZBgQuR1ghEtDbUPZHsoR5t1xCB02ys
|
23
|
+
DgAwLv1bChIvxvH/L6KM8ovZ2LekBX4AviWxoBxJnfz/EVau98B0b1auRN6eSC83
|
24
|
+
FRuGldlSOW1z/nSh8ViizSYE5H5HX1qkXEippvFRE88CgYB3Bfu3YQY60ITWIShv
|
25
|
+
nNkdcbTT9eoP9suaRJjw92Ln+7ZpALYlQMKUZmJ/5uBmLs4RFwUTQruLOPL4yLTH
|
26
|
+
awADWUzs3IRr1fwn9E+zM8JVyKCnUEM3w4N5UZskGO2klashAd30hWO+knRv/y0r
|
27
|
+
uGIYs9Ek7YXlXIRVrzMwcsrt1w==
|
28
|
+
-----END PRIVATE KEY-----
|
@@ -0,0 +1,22 @@
|
|
1
|
+
-----BEGIN CERTIFICATE-----
|
2
|
+
MIIDtDCCApygAwIBAgIUbJfTREJ6k6/+oInWhV1O1j3ZT0IwDQYJKoZIhvcNAQEL
|
3
|
+
BQAwVjELMAkGA1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoM
|
4
|
+
GEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZDEPMA0GA1UEAwwGdGVzdGNhMB4XDTIw
|
5
|
+
MDMxODAzMTA0MloXDTMwMDMxNjAzMTA0MlowZTELMAkGA1UEBhMCVVMxETAPBgNV
|
6
|
+
BAgMCElsbGlub2lzMRAwDgYDVQQHDAdDaGljYWdvMRUwEwYDVQQKDAxFeGFtcGxl
|
7
|
+
LCBDby4xGjAYBgNVBAMMESoudGVzdC5nb29nbGUuY29tMIIBIjANBgkqhkiG9w0B
|
8
|
+
AQEFAAOCAQ8AMIIBCgKCAQEA5xOONxJJ8b8Qauvob5/7dPYZfIcd+uhAWL2ZlTPz
|
9
|
+
Qvu4oF0QI4iYgP5iGgry9zEtCM+YQS8UhiAlPlqa6ANxgiBSEyMHH/xE8lo/+caY
|
10
|
+
GeACqy640Jpl/JocFGo3xd1L8DCawjlaj6eu7T7T/tpAV2qq13b5710eNRbCAfFe
|
11
|
+
8yALiGQemx0IYhlZXNbIGWLBNhBhvVjJh7UvOqpADk4xtl8o5j0xgMIRg6WJGK6c
|
12
|
+
6ffSIg4eP1XmovNYZ9LLEJG68tF0Q/yIN43B4dt1oq4jzSdCbG4F1EiykT2TmwPV
|
13
|
+
YDi8tml6DfOCDGnit8svnMEmBv/fcPd31GSbXjF8M+KGGQIDAQABo2swaTAJBgNV
|
14
|
+
HRMEAjAAMAsGA1UdDwQEAwIF4DBPBgNVHREESDBGghAqLnRlc3QuZ29vZ2xlLmZy
|
15
|
+
ghh3YXRlcnpvb2kudGVzdC5nb29nbGUuYmWCEioudGVzdC55b3V0dWJlLmNvbYcE
|
16
|
+
wKgBAzANBgkqhkiG9w0BAQsFAAOCAQEAS8hDQA8PSgipgAml7Q3/djwQ644ghWQv
|
17
|
+
C2Kb+r30RCY1EyKNhnQnIIh/OUbBZvh0M0iYsy6xqXgfDhCB93AA6j0i5cS8fkhH
|
18
|
+
Jl4RK0tSkGQ3YNY4NzXwQP/vmUgfkw8VBAZ4Y4GKxppdATjffIW+srbAmdDruIRM
|
19
|
+
wPeikgOoRrXf0LA1fi4TqxARzeRwenQpayNfGHTvVF9aJkl8HoaMunTAdG5pIVcr
|
20
|
+
9GKi/gEMpXUJbbVv3U5frX1Wo4CFo+rZWJ/LyCMeb0jciNLxSdMwj/E/ZuExlyeZ
|
21
|
+
gc9ctPjSMvgSyXEKv6Vwobleeg88V2ZgzenziORoWj4KszG/lbQZvg==
|
22
|
+
-----END CERTIFICATE-----
|