nonnative 1.58.0 → 1.59.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 69182fbc9168ccfd1ca3518278932214060f8d394cc462804c85f4080f0ecbb7
4
- data.tar.gz: 2482137fe8952a37601fa21d82b526c2b6341a32a18c34ce6f8ac928eee01a0b
3
+ metadata.gz: 4b9753ee7672c1f7c2b0568af40a3d1953edffcc6e897d380e646d13dfd74b3b
4
+ data.tar.gz: c679b34d22b5cb385405f389408cc3b0d2c4efd4ff163fbe6627366c61d082b8
5
5
  SHA512:
6
- metadata.gz: 3f7abce509b8a1b7401b5bbc10e3b38925c129d6d85b7e756fa816793378623eb81da044728a1ab162159f5a6a070fd5f6a003204abb8a1cf34c9f0d68027744
7
- data.tar.gz: 1d12e60528f00e3708015150164b3b64d9b5ffb23955507ce6a2670ab11413ccc349b9d21f30652949209cb4cc8526d652e81415fadf3818b57b8afcf2c7f8cf
6
+ metadata.gz: 4a9bd84919b5e1129e0a0511c53aad69abd9ce907189e1f23079fb7affa551470da302a1a69305a0aa3b0e23cc5c31845baf7be9ead94bc3da8fb97381a25816
7
+ data.tar.gz: f235c01883c19d56a5c327919988ed1710f0e6c5761c48fc1da9cc56d26200a5bc1a91a68bb2d8b08d28ee903a4f5df72da2ad6ba772cafce85c0695c0304ee7
data/CHANGELOG.md CHANGED
@@ -2,6 +2,22 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
4
4
 
5
+ ## [1.59.0](https://github.com/alexfalkowski/nonnative/compare/v1.58.2...v1.59.0) (2022-04-25)
6
+
7
+
8
+ ### Features
9
+
10
+ * **cucumber:** verify system start errors ([#117](https://github.com/alexfalkowski/nonnative/issues/117)) ([f8c7f7f](https://github.com/alexfalkowski/nonnative/commit/f8c7f7f4cb4d1506e1b8ae038bd6c46f7ce529a2))
11
+
12
+ ### [1.58.2](https://github.com/alexfalkowski/nonnative/compare/v1.58.1...v1.58.2) (2022-04-13)
13
+
14
+ ### [1.58.1](https://github.com/alexfalkowski/nonnative/compare/v1.58.0...v1.58.1) (2022-04-06)
15
+
16
+
17
+ ### Bug Fixes
18
+
19
+ * use host ([#115](https://github.com/alexfalkowski/nonnative/issues/115)) ([98cccf3](https://github.com/alexfalkowski/nonnative/commit/98cccf3f7c0918cfb00650283cf472dd4e24fbbc))
20
+
5
21
  ## [1.58.0](https://github.com/alexfalkowski/nonnative/compare/v1.57.1...v1.58.0) (2022-04-06)
6
22
 
7
23
 
data/Gemfile.lock CHANGED
@@ -1,12 +1,11 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- nonnative (1.58.0)
4
+ nonnative (1.59.0)
5
5
  concurrent-ruby (~> 1.0, >= 1.0.5)
6
6
  cucumber (>= 7, < 8)
7
7
  get_process_mem (~> 0.2.1)
8
8
  grpc (>= 1, < 2)
9
- grpc-tools (>= 1, < 2)
10
9
  puma (~> 5.0)
11
10
  rest-client (~> 2.1)
12
11
  rspec-benchmark (~> 0.6.0)
@@ -73,7 +72,6 @@ GEM
73
72
  grpc (1.45.0-universal-darwin)
74
73
  google-protobuf (~> 3.19)
75
74
  googleapis-common-protos-types (~> 1.0)
76
- grpc-tools (1.45.0)
77
75
  http-accept (1.7.0)
78
76
  http-cookie (1.0.4)
79
77
  domain_name (~> 0.5)
@@ -90,10 +88,10 @@ GEM
90
88
  ruby2_keywords (~> 0.0.1)
91
89
  netrc (0.11.0)
92
90
  nio4r (2.5.8)
93
- nokogiri (1.13.3-x86_64-darwin)
91
+ nokogiri (1.13.4-x86_64-darwin)
94
92
  racc (~> 1.4)
95
93
  parallel (1.22.1)
96
- parser (3.1.1.0)
94
+ parser (3.1.2.0)
97
95
  ast (~> 2.4.1)
98
96
  puma (5.6.4)
99
97
  nio4r (~> 2.0)
@@ -102,7 +100,7 @@ GEM
102
100
  rack-protection (2.2.0)
103
101
  rack
104
102
  rainbow (3.1.1)
105
- regexp_parser (2.2.1)
103
+ regexp_parser (2.3.0)
106
104
  rest-client (2.1.0)
107
105
  http-accept (>= 1.7.0, < 2.0)
108
106
  http-cookie (>= 1.0.2, < 2.0)
@@ -129,7 +127,7 @@ GEM
129
127
  diff-lcs (>= 1.2.0, < 2.0)
130
128
  rspec-support (~> 3.11.0)
131
129
  rspec-support (3.11.0)
132
- rubocop (1.26.1)
130
+ rubocop (1.27.0)
133
131
  parallel (~> 1.10)
134
132
  parser (>= 3.1.0.0)
135
133
  rainbow (>= 2.2.2, < 4.0)
@@ -138,7 +136,7 @@ GEM
138
136
  rubocop-ast (>= 1.16.0, < 2.0)
139
137
  ruby-progressbar (~> 1.7)
140
138
  unicode-display_width (>= 1.4.0, < 3.0)
141
- rubocop-ast (1.16.0)
139
+ rubocop-ast (1.17.0)
142
140
  parser (>= 3.1.1.0)
143
141
  ruby-progressbar (1.11.0)
144
142
  ruby2_keywords (0.0.5)
data/README.md CHANGED
@@ -134,7 +134,7 @@ Define your server:
134
134
  module Nonnative
135
135
  class EchoServer < Nonnative::Server
136
136
  def perform_start
137
- @socket_server = TCPServer.new('0.0.0.0', port)
137
+ @socket_server = TCPServer.new(service.host, service.port)
138
138
 
139
139
  loop do
140
140
  client_socket = @socket_server.accept
@@ -282,15 +282,15 @@ Define your server:
282
282
  ```ruby
283
283
  module Nonnative
284
284
  module Features
285
- class GreeterService < Greeter::Service
285
+ class Greeter < GreeterService::Service
286
286
  def say_hello(request, _call)
287
- Nonnative::Features::HelloReply.new(message: request.name.to_s)
287
+ Nonnative::Features::SayHelloResponse.new(message: request.name.to_s)
288
288
  end
289
289
  end
290
290
 
291
291
  class GRPCServer < Nonnative::GRPCServer
292
292
  def svc
293
- GreeterService.new
293
+ Greeter.new
294
294
  end
295
295
  end
296
296
  end
@@ -530,7 +530,7 @@ With cucumber:
530
530
 
531
531
  ```cucumber
532
532
  Given I set the proxy for process 'process_1' to 'close_all'
533
- Then And I should reset the proxy for process 'process_1'
533
+ Then I should reset the proxy for process 'process_1'
534
534
  ```
535
535
 
536
536
  ###### Servers
@@ -549,7 +549,7 @@ With cucumber:
549
549
 
550
550
  ```cucumber
551
551
  Given I set the proxy for server 'server_1' to 'close_all'
552
- Then And I should reset the proxy for server 'server_1'
552
+ Then I should reset the proxy for server 'server_1'
553
553
  ```
554
554
 
555
555
  ###### Services
@@ -568,7 +568,7 @@ With cucumber:
568
568
 
569
569
  ```cucumber
570
570
  Given I set the proxy for service 'service_1' to 'close_all'
571
- Then And I should reset the proxy for service 'service_1'
571
+ Then I should reset the proxy for service 'service_1'
572
572
  ```
573
573
 
574
574
  ### Go
@@ -1,5 +1,11 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ World(RSpec::Benchmark::Matchers)
4
+
5
+ After('@manual') do
6
+ Nonnative.stop
7
+ end
8
+
3
9
  Given('I set the proxy for process {string} to {string}') do |name, operation|
4
10
  process = Nonnative.pool.process_by_name(name)
5
11
  process.proxy.send(operation)
@@ -15,6 +21,10 @@ Given('I set the proxy for service {string} to {string}') do |name, operation|
15
21
  service.proxy.send(operation)
16
22
  end
17
23
 
24
+ Given('I start the system') do
25
+ Nonnative.start
26
+ end
27
+
18
28
  Then('I should reset the proxy for process {string}') do |name|
19
29
  process = Nonnative.pool.process_by_name(name)
20
30
  process.proxy.reset
@@ -38,3 +48,11 @@ Then('the process {string} should consume less than {string} of memory') do |nam
38
48
 
39
49
  expect(actual).to be < size
40
50
  end
51
+
52
+ Then('starting the system should raise an error') do
53
+ expect { Nonnative.start }.to raise_error(Nonnative::StartError)
54
+ end
55
+
56
+ Then('stopping the system should raise an error') do
57
+ expect { Nonnative.stop }.to raise_error(Nonnative::StopError)
58
+ end
@@ -37,6 +37,10 @@ module Nonnative
37
37
  apply_state :none
38
38
  end
39
39
 
40
+ def host
41
+ service.proxy.host
42
+ end
43
+
40
44
  def port
41
45
  service.proxy.port
42
46
  end
@@ -17,7 +17,7 @@ module Nonnative
17
17
  protected
18
18
 
19
19
  def perform_start
20
- server.add_http2_port("0.0.0.0:#{proxy.port}", :this_port_is_insecure)
20
+ server.add_http2_port("#{proxy.host}:#{proxy.port}", :this_port_is_insecure)
21
21
  server.run
22
22
  end
23
23
 
@@ -13,7 +13,7 @@ module Nonnative
13
13
  protected
14
14
 
15
15
  def perform_start
16
- server.add_tcp_listener '0.0.0.0', proxy.port
16
+ server.add_tcp_listener proxy.host, proxy.port
17
17
  server.run.join
18
18
  end
19
19
 
@@ -10,6 +10,10 @@ module Nonnative
10
10
  # Do nothing.
11
11
  end
12
12
 
13
+ def host
14
+ service.host
15
+ end
16
+
13
17
  def port
14
18
  service.port
15
19
  end
@@ -34,7 +34,7 @@ module Nonnative
34
34
  attr_reader :process, :timeout
35
35
 
36
36
  def open_socket
37
- TCPSocket.new('0.0.0.0', process.port).close
37
+ TCPSocket.new(process.host, process.port).close
38
38
  end
39
39
 
40
40
  def sleep_interval
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Nonnative
4
- VERSION = '1.58.0'
4
+ VERSION = '1.59.0'
5
5
  end
data/lib/nonnative.rb CHANGED
@@ -14,6 +14,7 @@ require 'puma/server'
14
14
  require 'concurrent'
15
15
  require 'cucumber'
16
16
  require 'get_process_mem'
17
+ require 'rspec-benchmark'
17
18
 
18
19
  require 'nonnative/version'
19
20
  require 'nonnative/error'
data/nonnative.gemspec CHANGED
@@ -28,7 +28,6 @@ Gem::Specification.new do |spec|
28
28
  spec.add_dependency 'cucumber', ['>= 7', '< 8']
29
29
  spec.add_dependency 'get_process_mem', '~> 0.2.1'
30
30
  spec.add_dependency 'grpc', ['>= 1', '< 2']
31
- spec.add_dependency 'grpc-tools', ['>= 1', '< 2']
32
31
  spec.add_dependency 'puma', '~> 5.0'
33
32
  spec.add_dependency 'rest-client', '~> 2.1'
34
33
  spec.add_dependency 'rspec-benchmark', '~> 0.6.0'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nonnative
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.58.0
4
+ version: 1.59.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alejandro Falkowski
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-04-06 00:00:00.000000000 Z
11
+ date: 2022-04-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: concurrent-ruby
@@ -84,26 +84,6 @@ dependencies:
84
84
  - - "<"
85
85
  - !ruby/object:Gem::Version
86
86
  version: '2'
87
- - !ruby/object:Gem::Dependency
88
- name: grpc-tools
89
- requirement: !ruby/object:Gem::Requirement
90
- requirements:
91
- - - ">="
92
- - !ruby/object:Gem::Version
93
- version: '1'
94
- - - "<"
95
- - !ruby/object:Gem::Version
96
- version: '2'
97
- type: :runtime
98
- prerelease: false
99
- version_requirements: !ruby/object:Gem::Requirement
100
- requirements:
101
- - - ">="
102
- - !ruby/object:Gem::Version
103
- version: '1'
104
- - - "<"
105
- - !ruby/object:Gem::Version
106
- version: '2'
107
87
  - !ruby/object:Gem::Dependency
108
88
  name: puma
109
89
  requirement: !ruby/object:Gem::Requirement