gapic-generator 0.3.3 → 0.6.0

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.
Files changed (50) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +34 -0
  3. data/lib/gapic/formatting_utils.rb +7 -7
  4. data/lib/gapic/generator/version.rb +1 -1
  5. data/lib/gapic/generators/default_generator.rb +16 -14
  6. data/lib/gapic/helpers/filepath_helper.rb +1 -0
  7. data/lib/gapic/helpers/namespace_helper.rb +8 -1
  8. data/lib/gapic/path_template/segment.rb +7 -0
  9. data/lib/gapic/presenters/field_presenter.rb +9 -9
  10. data/lib/gapic/presenters/file_presenter.rb +1 -1
  11. data/lib/gapic/presenters/gem_presenter.rb +28 -2
  12. data/lib/gapic/presenters/method_presenter.rb +23 -17
  13. data/lib/gapic/presenters/package_presenter.rb +11 -3
  14. data/lib/gapic/presenters/resource_presenter.rb +55 -35
  15. data/lib/gapic/presenters/service_presenter.rb +66 -23
  16. data/lib/gapic/ruby_info.rb +93 -0
  17. data/lib/gapic/schema/api.rb +63 -1
  18. data/templates/default/gem/gemfile.erb +3 -0
  19. data/templates/default/gem/gemspec.erb +7 -6
  20. data/templates/default/gem/rakefile.erb +1 -0
  21. data/templates/default/gem/test_helper.erb +8 -0
  22. data/templates/default/layouts/_ruby.erb +5 -4
  23. data/templates/default/lib/_service.erb +2 -0
  24. data/templates/default/proto_docs/_message.erb +2 -2
  25. data/templates/default/service/client.erb +1 -1
  26. data/templates/default/service/client/_client.erb +17 -4
  27. data/templates/default/service/client/_config.erb +33 -29
  28. data/templates/default/service/client/_credentials.erb +1 -1
  29. data/templates/default/service/client/_operations.erb +3 -1
  30. data/templates/default/service/client/method/def/_options_defaults.erb +2 -2
  31. data/templates/default/service/client/method/def/_request_normal.erb +2 -2
  32. data/templates/default/service/client/method/def/_request_streaming.erb +3 -3
  33. data/templates/default/service/client/method/def/_response_normal.erb +1 -1
  34. data/templates/default/service/client/method/def/_response_paged.erb +2 -2
  35. data/templates/default/service/client/method/docs/_error.erb +1 -1
  36. data/templates/default/service/client/method/docs/_request_normal.erb +2 -2
  37. data/templates/default/service/client/method/docs/_request_streaming.erb +2 -2
  38. data/templates/default/service/client/method/docs/_response.erb +1 -1
  39. data/templates/default/service/client/resource/_def.erb +1 -1
  40. data/templates/default/service/client/resource/_multi.erb +4 -7
  41. data/templates/default/service/client/resource/_single.erb +2 -3
  42. data/templates/default/service/credentials.erb +1 -1
  43. data/templates/default/service/operations.erb +1 -1
  44. data/templates/default/service/paths.erb +1 -1
  45. data/templates/default/service/test/_resource.erb +16 -0
  46. data/templates/default/service/test/client.erb +17 -4
  47. data/templates/default/service/test/client_operations.erb +3 -4
  48. data/templates/default/service/test/client_paths.erb +17 -0
  49. data/templates/default/service/test/method/_configure.erb +19 -0
  50. metadata +8 -3
@@ -0,0 +1,16 @@
1
+ <%- assert_locals resource -%>
2
+ <%- assert_locals service -%>
3
+ <%- full_client_name = defined?(client_name_full) ? client_name_full : service.client_name_full -%>
4
+ def test_<%= resource.path_helper%>
5
+ grpc_channel = ::GRPC::Core::Channel.new "localhost:8888", nil, :this_channel_is_insecure
6
+ ::Gapic::ServiceStub.stub :new, nil do
7
+ client = <%= full_client_name %>.new do |config|
8
+ config.credentials = grpc_channel
9
+ end
10
+ <%- resource.patterns.each do |pattern| -%>
11
+
12
+ path = client.<%= resource.path_helper%> <%= pattern.arguments_with_dummy_values %>
13
+ assert_equal <%= pattern.expected_path_for_dummy_values.inspect %>, path
14
+ <%- end -%>
15
+ end
16
+ end
@@ -2,8 +2,7 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
  <%= render partial: "shared/license" %>
5
- require "simplecov"
6
- require "minitest/autorun"
5
+ require "helper"
7
6
 
8
7
  require "gapic/grpc/service_stub"
9
8
 
@@ -17,8 +16,22 @@ class <%= service.client_name_full %>Test < Minitest::Test
17
16
  <% service.methods.each do |method| %>
18
17
  <%= indent render(partial: "service/test/method/#{method.kind}",
19
18
  locals: { method: method }), 2 %>
20
- <% if method != service.methods.last %>
21
19
 
22
20
  <% end %>
23
- <% end %>
21
+ <%= indent render(partial: "service/test/method/configure", locals: { service: service }), 2 %>
22
+ <%- if service.lro? -%>
23
+
24
+ def test_<%= service.lro_client_var %>
25
+ grpc_channel = GRPC::Core::Channel.new "localhost:8888", nil, :this_channel_is_insecure
26
+
27
+ client = nil
28
+ Gapic::ServiceStub.stub :new, nil do
29
+ client = <%= service.client_name_full =%>.new do |config|
30
+ config.credentials = grpc_channel
31
+ end
32
+ end
33
+
34
+ assert_kind_of <%= service.operations_name_full %>, client.<%= service.lro_client_var %>
35
+ end
36
+ <%- end -%>
24
37
  end
@@ -2,8 +2,7 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
  <%= render partial: "shared/license" %>
5
- require "simplecov"
6
- require "minitest/autorun"
5
+ require "helper"
7
6
 
8
7
  require "gapic/grpc/service_stub"
9
8
 
@@ -17,8 +16,8 @@ class <%= service.operations_name_full %>Test < Minitest::Test
17
16
  <% service.lro_service.methods.each do |method| %>
18
17
  <%= indent render(partial: "service/test/method/#{method.kind}",
19
18
  locals: { client_name_full: service.operations_name_full, method: method }), 2 %>
20
- <% if method != service.lro_service.methods.last %>
21
19
 
22
20
  <% end %>
23
- <% end %>
21
+ <%= indent render(partial: "service/test/method/configure",
22
+ locals: { service: service, client_name_full: service.operations_name_full }), 2 %>
24
23
  end
@@ -0,0 +1,17 @@
1
+ <%- assert_locals service -%>
2
+ # frozen_string_literal: true
3
+
4
+ <%= render partial: "shared/license" %>
5
+ require "helper"
6
+
7
+ require "gapic/grpc/service_stub"
8
+
9
+ require "<%= service.service_require %>"
10
+
11
+ class <%= service.client_name_full %>PathsTest < Minitest::Test
12
+ <%- service.references.each do |resource| -%>
13
+ <%= indent render(partial: "service/test/resource",
14
+ locals: { resource: resource, service: service }), 2 %>
15
+
16
+ <%- end %>
17
+ end
@@ -0,0 +1,19 @@
1
+ <%- assert_locals service -%>
2
+ <%- full_client_name = defined?(client_name_full) ? client_name_full : service.client_name_full -%>
3
+ def test_configure
4
+ grpc_channel = GRPC::Core::Channel.new "localhost:8888", nil, :this_channel_is_insecure
5
+
6
+ client = block_config = config = nil
7
+ Gapic::ServiceStub.stub :new, nil do
8
+ client = <%= full_client_name =%>.new do |config|
9
+ config.credentials = grpc_channel
10
+ end
11
+ end
12
+
13
+ config = client.configure do |c|
14
+ block_config = c
15
+ end
16
+
17
+ assert_same block_config, config
18
+ assert_kind_of <%= full_client_name %>::Configuration, config
19
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gapic-generator
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.3
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ernest Landrito
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2020-04-13 00:00:00.000000000 Z
13
+ date: 2020-06-02 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: actionpack
@@ -233,6 +233,7 @@ files:
233
233
  - lib/gapic/presenters/sample_presenter.rb
234
234
  - lib/gapic/presenters/service_presenter.rb
235
235
  - lib/gapic/resource_lookup.rb
236
+ - lib/gapic/ruby_info.rb
236
237
  - lib/gapic/runner.rb
237
238
  - lib/gapic/schema.rb
238
239
  - lib/gapic/schema/api.rb
@@ -259,6 +260,7 @@ files:
259
260
  - templates/default/gem/rakefile.erb
260
261
  - templates/default/gem/readme.erb
261
262
  - templates/default/gem/rubocop.erb
263
+ - templates/default/gem/test_helper.erb
262
264
  - templates/default/gem/version.erb
263
265
  - templates/default/gem/yardopts.erb
264
266
  - templates/default/helpers/default_helper.rb
@@ -318,11 +320,14 @@ files:
318
320
  - templates/default/service/credentials.erb
319
321
  - templates/default/service/operations.erb
320
322
  - templates/default/service/paths.erb
323
+ - templates/default/service/test/_resource.erb
321
324
  - templates/default/service/test/client.erb
322
325
  - templates/default/service/test/client_operations.erb
326
+ - templates/default/service/test/client_paths.erb
323
327
  - templates/default/service/test/method/_assert_response.erb
324
328
  - templates/default/service/test/method/_bidi.erb
325
329
  - templates/default/service/test/method/_client.erb
330
+ - templates/default/service/test/method/_configure.erb
326
331
  - templates/default/service/test/method/_normal.erb
327
332
  - templates/default/service/test/method/_server.erb
328
333
  - templates/default/service/test/method/_setup.erb
@@ -349,7 +354,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
349
354
  - !ruby/object:Gem::Version
350
355
  version: '0'
351
356
  requirements: []
352
- rubygems_version: 3.1.2
357
+ rubygems_version: 3.0.3
353
358
  signing_key:
354
359
  specification_version: 4
355
360
  summary: An API Client Generator for Ruby in Ruby!