gapic-generator 0.3.3 → 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
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!