gapic-generator 0.11.0 → 0.45.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +299 -0
- data/CONTRIBUTING.md +1 -1
- data/README.md +71 -37
- data/bin/protoc-gen-ruby_gapic +2 -2
- data/lib/gapic/file_formatter.rb +23 -19
- data/lib/gapic/formatting_utils.rb +22 -9
- data/lib/gapic/gem_builder.rb +15 -17
- data/lib/gapic/generator/version.rb +1 -1
- data/lib/gapic/generators/base_generator.rb +6 -4
- data/lib/gapic/generators/default_generator.rb +70 -34
- data/lib/gapic/generators/default_generator_parameters.rb +9 -3
- data/lib/gapic/grpc_service_config/parser.rb +2 -2
- data/lib/gapic/model/api_metadata.rb +173 -0
- data/lib/gapic/model/method/http_annotation.rb +158 -60
- data/lib/gapic/model/method/lro.rb +8 -5
- data/lib/gapic/model/method/routing.rb +3 -18
- data/lib/gapic/model/mixins.rb +76 -10
- data/lib/gapic/model/service/nonstandard_lro_provider.rb +10 -11
- data/lib/gapic/package_snippets.rb +159 -0
- data/lib/gapic/path_pattern/parser.rb +11 -2
- data/lib/gapic/path_pattern/pattern.rb +18 -1
- data/lib/gapic/path_pattern/segment.rb +11 -4
- data/lib/gapic/presenters/enum_presenter.rb +14 -0
- data/lib/gapic/presenters/enum_value_presenter.rb +4 -1
- data/lib/gapic/presenters/field_presenter.rb +78 -21
- data/lib/gapic/presenters/gem_presenter.rb +109 -35
- data/lib/gapic/presenters/message_presenter.rb +15 -0
- data/lib/gapic/presenters/method/http_binding_presenter.rb +128 -0
- data/lib/gapic/presenters/method/rest_pagination_info.rb +25 -16
- data/lib/gapic/presenters/method_presenter.rb +109 -35
- data/lib/gapic/presenters/method_rest_presenter.rb +70 -137
- data/lib/gapic/presenters/package_presenter.rb +63 -18
- data/lib/gapic/presenters/resource_presenter.rb +9 -3
- data/lib/gapic/presenters/service/lro_client_presenter.rb +14 -14
- data/lib/gapic/presenters/service/mixin_client_presenter.rb +89 -0
- data/lib/gapic/presenters/service/sub_client_presenter.rb +84 -0
- data/lib/gapic/presenters/service_presenter.rb +183 -31
- data/lib/gapic/presenters/service_rest_presenter.rb +180 -27
- data/lib/gapic/presenters/snippet/client_call_presenter.rb +82 -0
- data/lib/gapic/presenters/snippet/client_initialization_presenter.rb +87 -0
- data/lib/gapic/presenters/snippet/declaration_presenter.rb +91 -0
- data/lib/gapic/presenters/snippet/expression_presenter.rb +135 -0
- data/lib/gapic/presenters/snippet/iteration_presenter.rb +118 -0
- data/lib/gapic/presenters/snippet/parameter_presenter.rb +67 -0
- data/lib/gapic/presenters/snippet/request_initialization_presenters.rb +202 -0
- data/lib/gapic/presenters/snippet/response_handling_presenters.rb +329 -0
- data/lib/gapic/presenters/snippet/statement_presenter.rb +134 -0
- data/lib/gapic/presenters/snippet/type_presenter.rb +98 -0
- data/lib/gapic/presenters/snippet_presenter.rb +199 -10
- data/lib/gapic/presenters.rb +2 -0
- data/lib/gapic/runner.rb +1 -1
- data/lib/gapic/schema/api.rb +49 -3
- data/lib/gapic/schema/loader.rb +67 -22
- data/lib/gapic/schema/parameter_schema.rb +8 -8
- data/lib/gapic/schema/proto_tools.rb +193 -0
- data/lib/gapic/schema/request_param_parser.rb +5 -7
- data/lib/gapic/schema/service_config_parser.rb +38 -4
- data/lib/gapic/schema/wrappers.rb +192 -31
- data/lib/gapic/uri_template/parser.rb +15 -7
- data/lib/google/cloud/tools/snippetgen/configlanguage/v1/snippet_config_language_pb.rb +104 -0
- data/lib/google/cloud/tools/snippetgen/snippetindex/v1/snippet_index_pb.rb +58 -0
- data/lib/google/protobuf/compiler/plugin_pb.rb +47 -0
- data/templates/default/binding_override.text.erb +6 -0
- data/templates/default/gem/gemfile.text.erb +12 -0
- data/templates/default/gem/{gemspec.erb → gemspec.text.erb} +3 -11
- data/templates/default/gem/{readme.erb → readme.text.erb} +10 -6
- data/templates/default/gem/{rubocop.erb → rubocop.text.erb} +3 -0
- data/templates/default/gem/{test_helper.erb → test_helper.text.erb} +4 -2
- data/templates/default/gem/toys.text.erb +12 -0
- data/templates/default/helpers/default_helper.rb +33 -1
- data/templates/default/lib/_binding_override.text.erb +49 -0
- data/templates/default/lib/{_package.erb → _package.text.erb} +6 -9
- data/templates/default/lib/_package_rest.text.erb +24 -0
- data/templates/default/lib/{_service.erb → _service.text.erb} +11 -23
- data/templates/default/lib/package/_self_configure.text.erb +16 -0
- data/templates/default/lib/package/_self_configure_defaults.text.erb +13 -0
- data/templates/default/lib/package/self_configure/_binding_default.text.erb +15 -0
- data/templates/default/lib/rest/_rest.text.erb +46 -0
- data/templates/default/package_rest.text.erb +6 -0
- data/templates/default/proto_docs/_deprecated.text.erb +9 -0
- data/templates/default/proto_docs/{_enum.erb → _enum.text.erb} +1 -0
- data/templates/default/proto_docs/{_message.erb → _message.text.erb} +2 -0
- data/templates/default/service/client/{_client.erb → _client.text.erb} +60 -12
- data/templates/default/service/client/{_config.erb → _config.text.erb} +39 -8
- data/templates/default/service/client/{_operations.erb → _operations.text.erb} +24 -3
- data/templates/default/service/client/method/{_def.erb → _def.text.erb} +2 -2
- data/templates/default/service/client/method/def/{_options_defaults.erb → _options_defaults.text.erb} +2 -1
- data/templates/default/service/client/method/def/_request_normal.text.erb +18 -0
- data/templates/default/service/client/method/def/_request_streaming.text.erb +23 -0
- data/templates/default/service/client/method/def/{_response.erb → _response.text.erb} +2 -0
- data/templates/default/service/client/method/def/{_response_nonstandard_lro.erb → _response_nonstandard_lro.text.erb} +1 -1
- data/templates/default/service/client/method/def/_response_normal.text.erb +4 -0
- data/templates/default/service/client/method/def/{_response_normal.erb → _response_normal_lro.text.erb} +1 -3
- data/templates/default/service/client/method/def/{_response_paged.erb → _response_paged.text.erb} +1 -1
- data/templates/default/service/client/method/docs/{_request_normal.erb → _request_normal.text.erb} +1 -1
- data/templates/default/service/client/method/docs/_snippets.text.erb +6 -0
- data/templates/default/service/client/resource/_def.text.erb +7 -0
- data/templates/default/service/nonstandard_lro.text.erb +6 -0
- data/templates/default/service/rest/client/{_client.erb → _client.text.erb} +82 -13
- data/templates/default/service/rest/client/_config.text.erb +178 -0
- data/templates/default/service/rest/client/_operations.text.erb +124 -0
- data/templates/default/service/rest/client/method/{_def.erb → _def.text.erb} +7 -1
- data/templates/default/service/rest/client/method/def/{_options_defaults.erb → _options_defaults.text.erb} +8 -3
- data/templates/default/service/rest/client/method/def/{_response.erb → _response.text.erb} +4 -0
- data/templates/default/service/rest/client/method/def/{_response_nonstandard_lro.erb → _response_nonstandard_lro.text.erb} +5 -4
- data/templates/default/service/rest/client/method/def/_response_normal.text.erb +5 -0
- data/templates/default/service/rest/client/method/def/_response_normal_lro.text.erb +7 -0
- data/templates/default/service/rest/client/method/def/_response_paged.text.erb +7 -0
- data/templates/default/service/rest/client/method/def/_response_server_streaming.text.erb +11 -0
- data/templates/default/service/rest/client/method/docs/{_request.erb → _request.text.erb} +1 -3
- data/templates/default/service/rest/client/method/docs/_result.text.erb +10 -0
- data/templates/default/service/rest/client/method/docs/_snippets.text.erb +6 -0
- data/templates/default/service/{nonstandard_lro.erb → rest/nonstandard_lro.text.erb} +1 -1
- data/templates/default/service/rest/operations.text.erb +6 -0
- data/templates/default/service/rest/service_stub/_service_stub.text.erb +63 -0
- data/templates/default/service/rest/service_stub/grpc_transcoding_method/_def.text.erb +37 -0
- data/templates/default/service/rest/service_stub/method/_def.text.erb +35 -0
- data/templates/default/service/rest/service_stub/method/def/_response.text.erb +37 -0
- data/templates/default/service/rest/test/{client.erb → client.text.erb} +3 -3
- data/templates/default/service/rest/test/method/_assert_response.text.erb +2 -0
- data/templates/default/service/rest/test/method/{_configure.erb → _configure.text.erb} +3 -2
- data/templates/default/service/rest/test/method/_normal.text.erb +60 -0
- data/templates/default/service/rest/test/method/_server.text.erb +60 -0
- data/templates/default/service/rest/test/method/{_setup.erb → _setup.text.erb} +26 -10
- data/templates/default/service/test/{_resource.erb → _resource.text.erb} +1 -1
- data/templates/default/service/test/{client.erb → client.text.erb} +3 -2
- data/templates/default/service/test/client_paths.text.erb +33 -0
- data/templates/default/service/test/method/{_bidi.erb → _bidi.text.erb} +1 -1
- data/templates/default/service/test/method/{_client.erb → _client.text.erb} +1 -1
- data/templates/default/service/test/method/{_configure.erb → _configure.text.erb} +2 -1
- data/templates/default/service/test/method/{_normal.erb → _normal.text.erb} +1 -1
- data/templates/default/service/test/method/{_server.erb → _server.text.erb} +1 -1
- data/templates/default/service/test/method/{_setup.erb → _setup.text.erb} +19 -2
- data/templates/default/snippets/{gemfile.erb → gemfile.text.erb} +2 -2
- data/templates/default/snippets/snippet/_body.text.erb +24 -0
- data/templates/default/snippets/snippet/_inline.text.erb +11 -0
- data/templates/default/snippets/snippet/_standalone.text.erb +25 -0
- data/templates/default/snippets/{standalone.erb → standalone.text.erb} +1 -1
- metadata +198 -273
- data/lib/google/api/annotations.pb.rb +0 -39
- data/lib/google/api/auth.pb.rb +0 -75
- data/lib/google/api/backend.pb.rb +0 -59
- data/lib/google/api/billing.pb.rb +0 -53
- data/lib/google/api/client.pb.rb +0 -43
- data/lib/google/api/context.pb.rb +0 -47
- data/lib/google/api/control.pb.rb +0 -38
- data/lib/google/api/documentation.pb.rb +0 -56
- data/lib/google/api/endpoint.pb.rb +0 -42
- data/lib/google/api/field_behavior.pb.rb +0 -51
- data/lib/google/api/http.pb.rb +0 -60
- data/lib/google/api/label.pb.rb +0 -49
- data/lib/google/api/launch_stage.pb.rb +0 -37
- data/lib/google/api/log.pb.rb +0 -47
- data/lib/google/api/logging.pb.rb +0 -48
- data/lib/google/api/metric.pb.rb +0 -90
- data/lib/google/api/monitored_resource.pb.rb +0 -68
- data/lib/google/api/monitoring.pb.rb +0 -48
- data/lib/google/api/quota.pb.rb +0 -63
- data/lib/google/api/resource.pb.rb +0 -80
- data/lib/google/api/routing.pb.rb +0 -58
- data/lib/google/api/service.pb.rb +0 -90
- data/lib/google/api/source_info.pb.rb +0 -44
- data/lib/google/api/system_parameter.pb.rb +0 -51
- data/lib/google/api/usage.pb.rb +0 -47
- data/lib/google/cloud/extended_operations.pb.rb +0 -57
- data/lib/google/longrunning/operations.pb.rb +0 -115
- data/lib/google/protobuf/any.pb.rb +0 -40
- data/lib/google/protobuf/api.pb.rb +0 -69
- data/lib/google/protobuf/compiler/plugin.pb.rb +0 -79
- data/lib/google/protobuf/descriptor.pb.rb +0 -360
- data/lib/google/protobuf/duration.pb.rb +0 -41
- data/lib/google/protobuf/empty.pb.rb +0 -36
- data/lib/google/protobuf/source_context.pb.rb +0 -39
- data/lib/google/protobuf/struct.pb.rb +0 -65
- data/lib/google/protobuf/type.pb.rb +0 -128
- data/lib/google/protobuf/wrappers.pb.rb +0 -80
- data/lib/google/rpc/status.pb.rb +0 -46
- data/templates/default/gem/gemfile.erb +0 -4
- data/templates/default/lib/rest/_rest.erb +0 -9
- data/templates/default/service/client/method/def/_request_normal.erb +0 -4
- data/templates/default/service/client/method/def/_request_streaming.erb +0 -9
- data/templates/default/service/client/method/docs/_deprecated.erb +0 -5
- data/templates/default/service/client/method/docs/_snippets.erb +0 -6
- data/templates/default/service/client/resource/_def.erb +0 -6
- data/templates/default/service/rest/client/_config.erb +0 -122
- data/templates/default/service/rest/client/method/def/_response_normal.erb +0 -6
- data/templates/default/service/rest/client/method/def/_response_paged.erb +0 -7
- data/templates/default/service/rest/client/method/docs/_result.erb +0 -6
- data/templates/default/service/rest/service_stub/_service_stub.erb +0 -25
- data/templates/default/service/rest/service_stub/grpc_transcoding_method/_def.erb +0 -24
- data/templates/default/service/rest/service_stub/method/_def.erb +0 -20
- data/templates/default/service/rest/service_stub/method/def/_response.erb +0 -17
- data/templates/default/service/rest/test/method/_assert_response.erb +0 -2
- data/templates/default/service/rest/test/method/_normal.erb +0 -71
- data/templates/default/service/test/client_paths.erb +0 -15
- data/templates/default/snippets/snippet/_structure.erb +0 -71
- /data/gem_templates/{binary.erb → binary.text.erb} +0 -0
- /data/gem_templates/{dockerfile.erb → dockerfile.text.erb} +0 -0
- /data/gem_templates/{entrypoint.erb → entrypoint.text.erb} +0 -0
- /data/gem_templates/{gapic_sh.erb → gapic_sh.text.erb} +0 -0
- /data/gem_templates/{gemfile.erb → gemfile.text.erb} +0 -0
- /data/gem_templates/{gemspec.erb → gemspec.text.erb} +0 -0
- /data/gem_templates/{generator.erb → generator.text.erb} +0 -0
- /data/gem_templates/{gitignore.erb → gitignore.text.erb} +0 -0
- /data/gem_templates/{rakefile.erb → rakefile.text.erb} +0 -0
- /data/gem_templates/{readme.erb → readme.text.erb} +0 -0
- /data/gem_templates/{rubocop.erb → rubocop.text.erb} +0 -0
- /data/gem_templates/shared/{_header.erb → _header.text.erb} +0 -0
- /data/gem_templates/shared/{_license.erb → _license.text.erb} +0 -0
- /data/gem_templates/shared/{_warning.erb → _warning.text.erb} +0 -0
- /data/gem_templates/{test_generator.erb → test_generator.text.erb} +0 -0
- /data/gem_templates/{test_helper.erb → test_helper.text.erb} +0 -0
- /data/gem_templates/{version.erb → version.text.erb} +0 -0
- /data/templates/default/gem/{_version.erb → _version.text.erb} +0 -0
- /data/templates/default/gem/{changelog.erb → changelog.text.erb} +0 -0
- /data/templates/default/gem/{entrypoint.erb → entrypoint.text.erb} +0 -0
- /data/templates/default/gem/{gapic_metadata_json.erb → gapic_metadata_json.text.erb} +0 -0
- /data/templates/default/gem/{gitignore.erb → gitignore.text.erb} +0 -0
- /data/templates/default/gem/{license.erb → license.text.erb} +0 -0
- /data/templates/default/gem/{rakefile.erb → rakefile.text.erb} +0 -0
- /data/templates/default/gem/{version.erb → version.text.erb} +0 -0
- /data/templates/default/gem/{yardopts.erb → yardopts.text.erb} +0 -0
- /data/templates/default/layouts/{_ruby.erb → _ruby.text.erb} +0 -0
- /data/templates/default/{package.erb → package.text.erb} +0 -0
- /data/templates/default/proto_docs/{_proto_file.erb → _proto_file.text.erb} +0 -0
- /data/templates/default/proto_docs/{proto_file.erb → proto_file.text.erb} +0 -0
- /data/templates/default/proto_docs/{readme.erb → readme.text.erb} +0 -0
- /data/templates/default/service/{_helpers.erb → _helpers.text.erb} +0 -0
- /data/templates/default/service/client/{_credentials.erb → _credentials.text.erb} +0 -0
- /data/templates/default/service/client/{_nonstandard_lro.erb → _nonstandard_lro.text.erb} +0 -0
- /data/templates/default/service/client/{_paths.erb → _paths.text.erb} +0 -0
- /data/templates/default/service/client/{_requires.erb → _requires.text.erb} +0 -0
- /data/templates/default/service/client/{_resource.erb → _resource.text.erb} +0 -0
- /data/templates/default/service/client/{_self_configure.erb → _self_configure.text.erb} +0 -0
- /data/templates/default/service/client/{_self_configure_defaults.erb → _self_configure_defaults.text.erb} +0 -0
- /data/templates/default/service/client/method/def/{_request.erb → _request.text.erb} +0 -0
- /data/templates/default/service/client/method/def/{_rescue.erb → _rescue.text.erb} +0 -0
- /data/templates/default/service/client/method/def/{_routing_params.erb → _routing_params.text.erb} +0 -0
- /data/templates/default/service/client/method/docs/{_error.erb → _error.text.erb} +0 -0
- /data/templates/default/service/client/method/docs/{_request.erb → _request.text.erb} +0 -0
- /data/templates/default/service/client/method/docs/{_request_field.erb → _request_field.text.erb} +0 -0
- /data/templates/default/service/client/method/docs/{_request_streaming.erb → _request_streaming.text.erb} +0 -0
- /data/templates/default/service/client/method/docs/{_response.erb → _response.text.erb} +0 -0
- /data/templates/default/service/client/method/docs/{_sample.erb → _sample.text.erb} +0 -0
- /data/templates/default/service/client/method/docs/{_sample_response.erb → _sample_response.text.erb} +0 -0
- /data/templates/default/service/client/method/docs/{_samples.erb → _samples.text.erb} +0 -0
- /data/templates/default/service/client/method/docs/request_field/{_arg.erb → _arg.text.erb} +0 -0
- /data/templates/default/service/client/method/docs/request_field/{_hash.erb → _hash.text.erb} +0 -0
- /data/templates/default/service/client/method/docs/sample_response/{_comment.erb → _comment.text.erb} +0 -0
- /data/templates/default/service/client/method/docs/sample_response/{_define.erb → _define.text.erb} +0 -0
- /data/templates/default/service/client/method/docs/sample_response/{_loop.erb → _loop.text.erb} +0 -0
- /data/templates/default/service/client/method/docs/sample_response/{_print.erb → _print.text.erb} +0 -0
- /data/templates/default/service/client/method/docs/sample_response/{_write_file.erb → _write_file.text.erb} +0 -0
- /data/templates/default/service/client/resource/{_doc.erb → _doc.text.erb} +0 -0
- /data/templates/default/service/client/resource/{_multi.erb → _multi.text.erb} +0 -0
- /data/templates/default/service/client/resource/{_single.erb → _single.text.erb} +0 -0
- /data/templates/default/service/{client.erb → client.text.erb} +0 -0
- /data/templates/default/service/{credentials.erb → credentials.text.erb} +0 -0
- /data/templates/default/service/{operations.erb → operations.text.erb} +0 -0
- /data/templates/default/service/{paths.erb → paths.text.erb} +0 -0
- /data/templates/default/service/rest/client/method/def/{_rescue.erb → _rescue.text.erb} +0 -0
- /data/templates/default/service/rest/client/method/docs/{_error.erb → _error.text.erb} +0 -0
- /data/templates/default/service/rest/{client.erb → client.text.erb} +0 -0
- /data/templates/default/service/rest/{grpc_transcoding.erb → grpc_transcoding.text.erb} +0 -0
- /data/templates/default/service/rest/service_stub/grpc_transcoding_method/def/{_query_string_param.erb → _query_string_param.text.erb} +0 -0
- /data/templates/default/service/rest/service_stub/method/def/{_request.erb → _request.text.erb} +0 -0
- /data/templates/default/service/rest/{service_stub.erb → service_stub.text.erb} +0 -0
- /data/templates/default/service/{rest.erb → rest.text.erb} +0 -0
- /data/templates/default/service/test/{client_operations.erb → client_operations.text.erb} +0 -0
- /data/templates/default/service/test/method/{_assert_response.erb → _assert_response.text.erb} +0 -0
- /data/templates/default/service/test/{smoke.erb → smoke.text.erb} +0 -0
- /data/templates/default/{service.erb → service.text.erb} +0 -0
- /data/templates/default/shared/{_header.erb → _header.text.erb} +0 -0
- /data/templates/default/shared/{_license.erb → _license.text.erb} +0 -0
- /data/templates/default/shared/{_warning.erb → _warning.text.erb} +0 -0
@@ -3,13 +3,13 @@
|
|
3
3
|
require "helper"
|
4
4
|
require "gapic/rest"
|
5
5
|
require "<%= service.proto_service_require %>"
|
6
|
-
require "<%= service.service_require %>"
|
6
|
+
require "<%= service.rest.service_require %>"
|
7
7
|
|
8
8
|
|
9
|
-
class <%= service.client_name_full %>Test < Minitest::Test
|
9
|
+
class <%= service.rest.client_name_full %>Test < Minitest::Test
|
10
10
|
<%= indent render(partial: "service/rest/test/method/setup"), 2 %>
|
11
11
|
|
12
|
-
<% service.methods.each do |method| %>
|
12
|
+
<% service.rest.methods.each do |method| %>
|
13
13
|
<%= indent render(partial: "service/rest/test/method/#{method.kind}",
|
14
14
|
locals: { method: method }), 2 %>
|
15
15
|
|
@@ -4,8 +4,9 @@ def test_configure
|
|
4
4
|
credentials_token = :dummy_value
|
5
5
|
|
6
6
|
client = block_config = config = nil
|
7
|
-
|
8
|
-
|
7
|
+
dummy_stub = ClientStub.new nil
|
8
|
+
Gapic::Rest::ClientStub.stub :new, dummy_stub do
|
9
|
+
client = <%= full_client_name %>.new do |config|
|
9
10
|
config.credentials = credentials_token
|
10
11
|
end
|
11
12
|
end
|
@@ -0,0 +1,60 @@
|
|
1
|
+
<%- assert_locals method -%>
|
2
|
+
<%- full_client_name = defined?(client_name_full) ? client_name_full : method.service.rest.client_name_full -%>
|
3
|
+
<%- fields = method.fields_with_first_oneof -%>
|
4
|
+
def test_<%= method.name %>
|
5
|
+
# Create test objects.
|
6
|
+
client_result = <%= method.return_type %>.new
|
7
|
+
http_response = OpenStruct.new body: client_result.to_json
|
8
|
+
|
9
|
+
call_options = {}
|
10
|
+
|
11
|
+
# Create request parameters for a unary method.
|
12
|
+
<%- fields.each do |field| -%>
|
13
|
+
<%= field.value_name %> = <%= field.default_value %>
|
14
|
+
<%- end -%>
|
15
|
+
|
16
|
+
<%= method.name %>_client_stub = ClientStub.new http_response do |_verb, uri:, body:, params:, options:, method_name:|
|
17
|
+
assert options.metadata.key? :"x-goog-api-client"
|
18
|
+
assert options.metadata[:"x-goog-api-client"].include? "rest"
|
19
|
+
refute options.metadata[:"x-goog-api-client"].include? "grpc"
|
20
|
+
end
|
21
|
+
|
22
|
+
<%= method.service.rest.service_name_full %>::<%= method.service.rest.service_stub_name %>.stub :<%= method.rest.transcoding_helper_name %>, ["", "", {}] do
|
23
|
+
Gapic::Rest::ClientStub.stub :new, <%= method.name %>_client_stub do
|
24
|
+
# Create client
|
25
|
+
client = <%= full_client_name %>.new do |config|
|
26
|
+
config.credentials = :dummy_value
|
27
|
+
end
|
28
|
+
|
29
|
+
# Use hash object
|
30
|
+
client.<%= method.name %>({ <%= fields.map(&:as_kwarg).join ", " %> }) do |_result, response|
|
31
|
+
<%= indent_tail render(partial: "service/rest/test/method/assert_response", locals: { method: method }), 6 %>
|
32
|
+
end
|
33
|
+
|
34
|
+
<%- if fields.any? -%>
|
35
|
+
# Use named arguments
|
36
|
+
client.<%= method.name %> <%= fields.map(&:as_kwarg).join ", " %> do |_result, response|
|
37
|
+
<%= indent_tail render(partial: "service/rest/test/method/assert_response", locals: { method: method }), 6 %>
|
38
|
+
end
|
39
|
+
|
40
|
+
<%- end -%>
|
41
|
+
# Use protobuf object
|
42
|
+
client.<%= method.name %> <%= method.request_type %>.new(<%= fields.map(&:as_kwarg).join ", " %>) do |_result, response|
|
43
|
+
<%= indent_tail render(partial: "service/rest/test/method/assert_response", locals: { method: method }), 6 %>
|
44
|
+
end
|
45
|
+
|
46
|
+
# Use hash object with options
|
47
|
+
client.<%= method.name %>({ <%= fields.map(&:as_kwarg).join ", " %> }, call_options) do |_result, response|
|
48
|
+
<%= indent_tail render(partial: "service/rest/test/method/assert_response", locals: { method: method }), 6 %>
|
49
|
+
end
|
50
|
+
|
51
|
+
# Use protobuf object with options
|
52
|
+
client.<%= method.name %>(<%= method.request_type %>.new(<%= fields.map(&:as_kwarg).join ", " %>), call_options) do |_result, response|
|
53
|
+
<%= indent_tail render(partial: "service/rest/test/method/assert_response", locals: { method: method }), 6 %>
|
54
|
+
end
|
55
|
+
|
56
|
+
# Verify method calls
|
57
|
+
assert_equal <%= fields.any? ? 5 : 4 %>, <%= method.name %>_client_stub.call_count
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|
@@ -0,0 +1,60 @@
|
|
1
|
+
<%- assert_locals method -%>
|
2
|
+
<%- full_client_name = defined?(client_name_full) ? client_name_full : method.service.rest.client_name_full -%>
|
3
|
+
<%- fields = method.fields_with_first_oneof -%>
|
4
|
+
def test_<%= method.name %>
|
5
|
+
# Create test objects.
|
6
|
+
client_result = <%= method.return_type %>.new
|
7
|
+
http_response = OpenStruct.new body: client_result.to_json
|
8
|
+
|
9
|
+
call_options = {}
|
10
|
+
|
11
|
+
# Create request parameters for a unary method.
|
12
|
+
<%- fields.each do |field| -%>
|
13
|
+
<%= field.value_name %> = <%= field.default_value %>
|
14
|
+
<%- end -%>
|
15
|
+
|
16
|
+
<%= method.name %>_client_stub = ClientStub.new http_response do |_verb, uri:, body:, params:, options:, is_server_streaming:, method_name:|
|
17
|
+
assert options.metadata.key? :"x-goog-api-client"
|
18
|
+
assert options.metadata[:"x-goog-api-client"].include? "rest"
|
19
|
+
refute options.metadata[:"x-goog-api-client"].include? "grpc"
|
20
|
+
end
|
21
|
+
|
22
|
+
<%= method.service.rest.service_name_full %>::<%= method.service.rest.service_stub_name %>.stub :<%= method.rest.transcoding_helper_name %>, ["", "", {}] do
|
23
|
+
Gapic::Rest::ClientStub.stub :new, <%= method.name %>_client_stub do
|
24
|
+
# Create client
|
25
|
+
client = <%= full_client_name %>.new do |config|
|
26
|
+
config.credentials = :dummy_value
|
27
|
+
end
|
28
|
+
|
29
|
+
# Use hash object
|
30
|
+
client.<%= method.name %>({ <%= fields.map(&:as_kwarg).join ", " %> }) do |_result, response|
|
31
|
+
<%= indent_tail render(partial: "service/rest/test/method/assert_response", locals: { method: method }), 6 %>
|
32
|
+
end.first
|
33
|
+
|
34
|
+
<%- if fields.any? -%>
|
35
|
+
# Use named arguments
|
36
|
+
client.<%= method.name %> <%= fields.map(&:as_kwarg).join ", " %> do |_result, response|
|
37
|
+
<%= indent_tail render(partial: "service/rest/test/method/assert_response", locals: { method: method }), 6 %>
|
38
|
+
end.first
|
39
|
+
|
40
|
+
<%- end -%>
|
41
|
+
# Use protobuf object
|
42
|
+
client.<%= method.name %> <%= method.request_type %>.new(<%= fields.map(&:as_kwarg).join ", " %>) do |_result, response|
|
43
|
+
<%= indent_tail render(partial: "service/rest/test/method/assert_response", locals: { method: method }), 6 %>
|
44
|
+
end.first
|
45
|
+
|
46
|
+
# Use hash object with options
|
47
|
+
client.<%= method.name %>({ <%= fields.map(&:as_kwarg).join ", " %> }, call_options) do |_result, response|
|
48
|
+
<%= indent_tail render(partial: "service/rest/test/method/assert_response", locals: { method: method }), 6 %>
|
49
|
+
end.first
|
50
|
+
|
51
|
+
# Use protobuf object with options
|
52
|
+
client.<%= method.name %>(<%= method.request_type %>.new(<%= fields.map(&:as_kwarg).join ", " %>), call_options) do |_result, response|
|
53
|
+
<%= indent_tail render(partial: "service/rest/test/method/assert_response", locals: { method: method }), 6 %>
|
54
|
+
end.first
|
55
|
+
|
56
|
+
# Verify method calls
|
57
|
+
assert_equal <%= fields.any? ? 5 : 4 %>, <%= method.name %>_client_stub.call_count
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|
@@ -8,24 +8,24 @@ class ClientStub
|
|
8
8
|
@requests = []
|
9
9
|
end
|
10
10
|
|
11
|
-
def make_get_request uri:, params: {}, options: {}
|
12
|
-
make_http_request :get, uri: uri, body: nil, params: params, options: options
|
11
|
+
def make_get_request uri:, params: {}, options: {}, method_name: nil
|
12
|
+
make_http_request :get, uri: uri, body: nil, params: params, options: options, method_name: method_name
|
13
13
|
end
|
14
14
|
|
15
|
-
def make_delete_request uri:, params: {}, options: {}
|
16
|
-
make_http_request :delete, uri: uri, body: nil, params: params, options: options
|
15
|
+
def make_delete_request uri:, params: {}, options: {}, method_name: nil
|
16
|
+
make_http_request :delete, uri: uri, body: nil, params: params, options: options, method_name: method_name
|
17
17
|
end
|
18
18
|
|
19
|
-
def make_post_request uri:, body: nil, params: {}, options: {}
|
20
|
-
make_http_request :post, uri: uri, body: body, params: params, options: options
|
19
|
+
def make_post_request uri:, body: nil, params: {}, options: {}, method_name: nil
|
20
|
+
make_http_request :post, uri: uri, body: body, params: params, options: options, method_name: method_name
|
21
21
|
end
|
22
22
|
|
23
|
-
def make_patch_request uri:, body:, params: {}, options: {}
|
24
|
-
make_http_request :patch, uri: uri, body: body, params: params, options: options
|
23
|
+
def make_patch_request uri:, body:, params: {}, options: {}, method_name: nil
|
24
|
+
make_http_request :patch, uri: uri, body: body, params: params, options: options, method_name: method_name
|
25
25
|
end
|
26
26
|
|
27
|
-
def make_put_request uri:, body:, params: {}, options: {}
|
28
|
-
make_http_request :put, uri: uri, body: body, params: params, options: options
|
27
|
+
def make_put_request uri:, body:, params: {}, options: {}, method_name: nil
|
28
|
+
make_http_request :put, uri: uri, body: body, params: params, options: options, method_name: method_name
|
29
29
|
end
|
30
30
|
|
31
31
|
def make_http_request *args, **kwargs
|
@@ -35,4 +35,20 @@ class ClientStub
|
|
35
35
|
|
36
36
|
@response
|
37
37
|
end
|
38
|
+
|
39
|
+
def endpoint
|
40
|
+
"endpoint.example.com"
|
41
|
+
end
|
42
|
+
|
43
|
+
def universe_domain
|
44
|
+
"example.com"
|
45
|
+
end
|
46
|
+
|
47
|
+
def stub_logger
|
48
|
+
nil
|
49
|
+
end
|
50
|
+
|
51
|
+
def logger
|
52
|
+
nil
|
53
|
+
end
|
38
54
|
end
|
@@ -3,7 +3,7 @@
|
|
3
3
|
<%- full_client_name = defined?(client_name_full) ? client_name_full : service.client_name_full -%>
|
4
4
|
def test_<%= resource.path_helper%>
|
5
5
|
grpc_channel = ::GRPC::Core::Channel.new "localhost:8888", nil, :this_channel_is_insecure
|
6
|
-
::Gapic::ServiceStub.stub :new,
|
6
|
+
::Gapic::ServiceStub.stub :new, DummyStub.new do
|
7
7
|
client = <%= full_client_name %>.new do |config|
|
8
8
|
config.credentials = grpc_channel
|
9
9
|
end
|
@@ -15,7 +15,7 @@ class <%= service.client_name_full %>Test < Minitest::Test
|
|
15
15
|
<%= indent render(partial: "service/test/method/#{method.kind}",
|
16
16
|
locals: { method: method }), 2 %>
|
17
17
|
|
18
|
-
|
18
|
+
<%- end -%>
|
19
19
|
<%= indent render(partial: "service/test/method/configure", locals: { service: service }), 2 %>
|
20
20
|
<%- if service.lro? -%>
|
21
21
|
|
@@ -23,7 +23,8 @@ class <%= service.client_name_full %>Test < Minitest::Test
|
|
23
23
|
grpc_channel = GRPC::Core::Channel.new "localhost:8888", nil, :this_channel_is_insecure
|
24
24
|
|
25
25
|
client = nil
|
26
|
-
|
26
|
+
dummy_stub = ClientStub.new nil, nil
|
27
|
+
Gapic::ServiceStub.stub :new, dummy_stub do
|
27
28
|
client = <%= service.client_name_full =%>.new do |config|
|
28
29
|
config.credentials = grpc_channel
|
29
30
|
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
<%- assert_locals service -%>
|
2
|
+
<%= render partial: "shared/header" %>
|
3
|
+
require "helper"
|
4
|
+
|
5
|
+
require "gapic/grpc/service_stub"
|
6
|
+
|
7
|
+
require "<%= service.service_require %>"
|
8
|
+
|
9
|
+
class <%= service.client_name_full %>PathsTest < Minitest::Test
|
10
|
+
class DummyStub
|
11
|
+
def endpoint
|
12
|
+
"endpoint.example.com"
|
13
|
+
end
|
14
|
+
|
15
|
+
def universe_domain
|
16
|
+
"example.com"
|
17
|
+
end
|
18
|
+
|
19
|
+
def stub_logger
|
20
|
+
nil
|
21
|
+
end
|
22
|
+
|
23
|
+
def logger
|
24
|
+
nil
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
<%- start_line_spacer -%>
|
29
|
+
<%- service.deduped_references.each do |resource| -%>
|
30
|
+
<%- locals = { resource: resource, service: service } -%>
|
31
|
+
<%= line_spacer %><%= indent render(partial: "service/test/resource", locals: locals), 2 %>
|
32
|
+
<%- end -%>
|
33
|
+
end
|
@@ -10,7 +10,7 @@ def test_<%= method.name %>
|
|
10
10
|
|
11
11
|
# Create request parameters for a bidi streaming method.
|
12
12
|
<%- fields.each do |field| -%>
|
13
|
-
<%= field.
|
13
|
+
<%= field.value_name %> = <%= field.default_value %>
|
14
14
|
<%- end -%>
|
15
15
|
|
16
16
|
<%= method.name %>_client_stub = ClientStub.new [grpc_response].to_enum, grpc_operation do |name, request, options:|
|
@@ -10,7 +10,7 @@ def test_<%= method.name %>
|
|
10
10
|
|
11
11
|
# Create request parameters for a client streaming method.
|
12
12
|
<%- fields.each do |field| -%>
|
13
|
-
<%= field.
|
13
|
+
<%= field.value_name %> = <%= field.default_value %>
|
14
14
|
<%- end -%>
|
15
15
|
|
16
16
|
<%= method.name %>_client_stub = ClientStub.new grpc_response, grpc_operation do |name, request, options:|
|
@@ -4,7 +4,8 @@ def test_configure
|
|
4
4
|
grpc_channel = GRPC::Core::Channel.new "localhost:8888", nil, :this_channel_is_insecure
|
5
5
|
|
6
6
|
client = block_config = config = nil
|
7
|
-
|
7
|
+
dummy_stub = ClientStub.new nil, nil
|
8
|
+
Gapic::ServiceStub.stub :new, dummy_stub do
|
8
9
|
client = <%= full_client_name =%>.new do |config|
|
9
10
|
config.credentials = grpc_channel
|
10
11
|
end
|
@@ -10,7 +10,7 @@ def test_<%= method.name %>
|
|
10
10
|
|
11
11
|
# Create request parameters for a unary method.
|
12
12
|
<%- fields.each do |field| -%>
|
13
|
-
<%= field.
|
13
|
+
<%= field.value_name %> = <%= field.default_value %>
|
14
14
|
<%- end -%>
|
15
15
|
|
16
16
|
<%= method.name %>_client_stub = ClientStub.new grpc_response, grpc_operation do |name, request, options:|
|
@@ -10,7 +10,7 @@ def test_<%= method.name %>
|
|
10
10
|
|
11
11
|
# Create request parameters for a server streaming method.
|
12
12
|
<%- fields.each do |field| -%>
|
13
|
-
<%= field.
|
13
|
+
<%= field.value_name %> = <%= field.default_value %>
|
14
14
|
<%- end -%>
|
15
15
|
|
16
16
|
<%= method.name %>_client_stub = ClientStub.new [grpc_response].to_enum, grpc_operation do |name, request, options:|
|
@@ -14,8 +14,25 @@ class ClientStub
|
|
14
14
|
|
15
15
|
@requests << @block&.call(*args, **kwargs)
|
16
16
|
|
17
|
-
|
17
|
+
catch :response do
|
18
|
+
yield @response, @operation if block_given?
|
19
|
+
@response
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
def endpoint
|
24
|
+
"endpoint.example.com"
|
25
|
+
end
|
26
|
+
|
27
|
+
def universe_domain
|
28
|
+
"example.com"
|
29
|
+
end
|
30
|
+
|
31
|
+
def stub_logger
|
32
|
+
nil
|
33
|
+
end
|
18
34
|
|
19
|
-
|
35
|
+
def logger
|
36
|
+
nil
|
20
37
|
end
|
21
38
|
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
<%- assert_locals snippet -%>
|
2
|
+
<%- unless snippet.client_initialization.render.empty? -%>
|
3
|
+
<%= snippet.client_initialization.render %>
|
4
|
+
|
5
|
+
<%- end -%>
|
6
|
+
<%- unless snippet.request_initialization.render_precall.empty? -%>
|
7
|
+
<%= snippet.request_initialization.render_precall %>
|
8
|
+
|
9
|
+
<%- end -%>
|
10
|
+
<%= snippet.client_call.render %>
|
11
|
+
<%- unless snippet.request_initialization.render_postcall.empty? -%>
|
12
|
+
|
13
|
+
<%= snippet.request_initialization.render_postcall %>
|
14
|
+
<%- end -%>
|
15
|
+
<%- unless snippet.response_handling.render.empty? -%>
|
16
|
+
|
17
|
+
<%= snippet.response_handling.render %>
|
18
|
+
<%- end -%>
|
19
|
+
<%- unless snippet.final_statements.empty? -%>
|
20
|
+
|
21
|
+
<%- snippet.final_statements.each do |statement| -%>
|
22
|
+
<%= statement.render %>
|
23
|
+
<%- end -%>
|
24
|
+
<%- end -%>
|
@@ -0,0 +1,11 @@
|
|
1
|
+
<%- assert_locals snippet -%>
|
2
|
+
require "<%= snippet.require_path %>"
|
3
|
+
<%- snippet.snippet_method_parameters.each do |param| -%>
|
4
|
+
|
5
|
+
<%- if param.description -%>
|
6
|
+
<%= indent wrap(param.description, 78), "# " %>
|
7
|
+
<%- end -%>
|
8
|
+
# <%= param.name %> = <%= param.example.exist? ? param.example.render : "..." %>
|
9
|
+
<%- end -%>
|
10
|
+
|
11
|
+
<%= render partial: "snippets/snippet/body", locals: { snippet: snippet} -%>
|
@@ -0,0 +1,25 @@
|
|
1
|
+
<%- assert_locals snippet -%>
|
2
|
+
require "<%= snippet.require_path %>"
|
3
|
+
|
4
|
+
##
|
5
|
+
# <%= snippet.snippet_name %>
|
6
|
+
#
|
7
|
+
<%= indent wrap(snippet.disclaimer, 78), "# " %>
|
8
|
+
#
|
9
|
+
<%= indent wrap(snippet.description, 78), "# " %>
|
10
|
+
<%- unless snippet.snippet_method_parameters.empty? -%>
|
11
|
+
#
|
12
|
+
<%- end -%>
|
13
|
+
<%- snippet.snippet_method_parameters.each do |param| -%>
|
14
|
+
# @param <%= param.name %> [<%= param.type.render %>]
|
15
|
+
<%- if param.description -%>
|
16
|
+
<%= indent wrap(param.description, 74), "# " %>
|
17
|
+
<%- end -%>
|
18
|
+
<%- if param.example.exist? -%>
|
19
|
+
# (Example: `<%= param.example.render %>`)
|
20
|
+
<%- end -%>
|
21
|
+
<%- end -%>
|
22
|
+
#
|
23
|
+
def <%= snippet.snippet_method_name %><%= snippet.snippet_method_parameters_render %>
|
24
|
+
<%= indent render(partial: "snippets/snippet/body", locals: { snippet: snippet }), " " %>
|
25
|
+
end
|
@@ -2,5 +2,5 @@
|
|
2
2
|
<%= render partial: "shared/header" -%>
|
3
3
|
|
4
4
|
# [START <%= snippet.region_tag %>]
|
5
|
-
<%= render partial: "snippets/snippet/
|
5
|
+
<%= render partial: "snippets/snippet/standalone", locals: { snippet: snippet} -%>
|
6
6
|
# [END <%= snippet.region_tag %>]
|