nonnative 1.57.1 → 1.58.2
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 +16 -0
- data/Gemfile.lock +24 -25
- data/README.md +4 -4
- data/lib/nonnative/configuration.rb +6 -1
- data/lib/nonnative/configuration_proxy.rb +2 -1
- data/lib/nonnative/configuration_runner.rb +5 -1
- data/lib/nonnative/fault_injection_proxy.rb +5 -1
- data/lib/nonnative/grpc_server.rb +1 -1
- data/lib/nonnative/http_server.rb +1 -1
- data/lib/nonnative/no_proxy.rb +4 -0
- data/lib/nonnative/port.rb +1 -1
- data/lib/nonnative/socket_pair.rb +1 -1
- data/lib/nonnative/version.rb +1 -1
- data/nonnative.gemspec +2 -2
- metadata +25 -25
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: f15ed666a8ba11f08e78eaebfc60593652a23d39c4139848ff36ed94694de292
|
|
4
|
+
data.tar.gz: 35d9d9a38c1a38d41c0b1d7ada5976f02d560a0bf7f33944848be7ca1067e6d6
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 7842a29761b438bf355ed9cdbd55344d64009bc71b9bccfdeeb01452e4a8f377cd5da24029eafb2f7a64922007457b93eb162a45426965fd11408a1085e004c8
|
|
7
|
+
data.tar.gz: 1fa589968d4a4ba3cc6f27eea3f5a4dba3fe32468622c6749dd57b37af2b52c6549d17ffbf31c432f79470e0c2b9ece99aa8023d22fab241542f08efe4c8284f
|
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.58.2](https://github.com/alexfalkowski/nonnative/compare/v1.58.1...v1.58.2) (2022-04-13)
|
|
6
|
+
|
|
7
|
+
### [1.58.1](https://github.com/alexfalkowski/nonnative/compare/v1.58.0...v1.58.1) (2022-04-06)
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
### Bug Fixes
|
|
11
|
+
|
|
12
|
+
* use host ([#115](https://github.com/alexfalkowski/nonnative/issues/115)) ([98cccf3](https://github.com/alexfalkowski/nonnative/commit/98cccf3f7c0918cfb00650283cf472dd4e24fbbc))
|
|
13
|
+
|
|
14
|
+
## [1.58.0](https://github.com/alexfalkowski/nonnative/compare/v1.57.1...v1.58.0) (2022-04-06)
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
### Features
|
|
18
|
+
|
|
19
|
+
* allow services and proxy to use a host ([#114](https://github.com/alexfalkowski/nonnative/issues/114)) ([0e3fbd8](https://github.com/alexfalkowski/nonnative/commit/0e3fbd8bc7ba76b5c5219615b66e80da4b9545ee))
|
|
20
|
+
|
|
5
21
|
### [1.57.1](https://github.com/alexfalkowski/nonnative/compare/v1.57.0...v1.57.1) (2022-03-28)
|
|
6
22
|
|
|
7
23
|
|
data/Gemfile.lock
CHANGED
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
nonnative (1.
|
|
4
|
+
nonnative (1.58.2)
|
|
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)
|
|
@@ -24,12 +23,11 @@ GEM
|
|
|
24
23
|
benchmark-trend (0.4.0)
|
|
25
24
|
builder (3.2.4)
|
|
26
25
|
concurrent-ruby (1.1.10)
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
tins (~> 1.6)
|
|
26
|
+
coveralls_reborn (0.24.0)
|
|
27
|
+
simplecov (>= 0.18.1, < 0.22.0)
|
|
28
|
+
term-ansicolor (~> 1.6)
|
|
29
|
+
thor (>= 0.20.3, < 2.0)
|
|
30
|
+
tins (~> 1.16)
|
|
33
31
|
cucumber (7.1.0)
|
|
34
32
|
builder (~> 3.2, >= 3.2.4)
|
|
35
33
|
cucumber-core (~> 10.1, >= 10.1.0)
|
|
@@ -68,8 +66,8 @@ GEM
|
|
|
68
66
|
ffi (1.15.5)
|
|
69
67
|
get_process_mem (0.2.7)
|
|
70
68
|
ffi (~> 1.0)
|
|
71
|
-
google-protobuf (3.
|
|
72
|
-
googleapis-common-protos-types (1.3.
|
|
69
|
+
google-protobuf (3.20.0-x86_64-darwin)
|
|
70
|
+
googleapis-common-protos-types (1.3.1)
|
|
73
71
|
google-protobuf (~> 3.14)
|
|
74
72
|
grpc (1.45.0-universal-darwin)
|
|
75
73
|
google-protobuf (~> 3.19)
|
|
@@ -79,8 +77,7 @@ GEM
|
|
|
79
77
|
http-cookie (1.0.4)
|
|
80
78
|
domain_name (~> 0.5)
|
|
81
79
|
jaro_winkler (1.5.4)
|
|
82
|
-
|
|
83
|
-
kramdown (2.3.1)
|
|
80
|
+
kramdown (2.3.2)
|
|
84
81
|
rexml
|
|
85
82
|
kramdown-parser-gfm (1.1.0)
|
|
86
83
|
kramdown (~> 2.0)
|
|
@@ -92,19 +89,19 @@ GEM
|
|
|
92
89
|
ruby2_keywords (~> 0.0.1)
|
|
93
90
|
netrc (0.11.0)
|
|
94
91
|
nio4r (2.5.8)
|
|
95
|
-
nokogiri (1.13.
|
|
92
|
+
nokogiri (1.13.4-x86_64-darwin)
|
|
96
93
|
racc (~> 1.4)
|
|
97
|
-
parallel (1.22.
|
|
98
|
-
parser (3.1.
|
|
94
|
+
parallel (1.22.1)
|
|
95
|
+
parser (3.1.2.0)
|
|
99
96
|
ast (~> 2.4.1)
|
|
100
|
-
puma (5.6.
|
|
97
|
+
puma (5.6.4)
|
|
101
98
|
nio4r (~> 2.0)
|
|
102
99
|
racc (1.6.0)
|
|
103
100
|
rack (2.2.3)
|
|
104
101
|
rack-protection (2.2.0)
|
|
105
102
|
rack
|
|
106
103
|
rainbow (3.1.1)
|
|
107
|
-
regexp_parser (2.
|
|
104
|
+
regexp_parser (2.3.0)
|
|
108
105
|
rest-client (2.1.0)
|
|
109
106
|
http-accept (>= 1.7.0, < 2.0)
|
|
110
107
|
http-cookie (>= 1.0.2, < 2.0)
|
|
@@ -127,11 +124,11 @@ GEM
|
|
|
127
124
|
rspec-expectations (3.11.0)
|
|
128
125
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
129
126
|
rspec-support (~> 3.11.0)
|
|
130
|
-
rspec-mocks (3.11.
|
|
127
|
+
rspec-mocks (3.11.1)
|
|
131
128
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
132
129
|
rspec-support (~> 3.11.0)
|
|
133
130
|
rspec-support (3.11.0)
|
|
134
|
-
rubocop (1.
|
|
131
|
+
rubocop (1.27.0)
|
|
135
132
|
parallel (~> 1.10)
|
|
136
133
|
parser (>= 3.1.0.0)
|
|
137
134
|
rainbow (>= 2.2.2, < 4.0)
|
|
@@ -140,15 +137,16 @@ GEM
|
|
|
140
137
|
rubocop-ast (>= 1.16.0, < 2.0)
|
|
141
138
|
ruby-progressbar (~> 1.7)
|
|
142
139
|
unicode-display_width (>= 1.4.0, < 3.0)
|
|
143
|
-
rubocop-ast (1.
|
|
140
|
+
rubocop-ast (1.17.0)
|
|
144
141
|
parser (>= 3.1.1.0)
|
|
145
142
|
ruby-progressbar (1.11.0)
|
|
146
143
|
ruby2_keywords (0.0.5)
|
|
147
|
-
simplecov (0.
|
|
144
|
+
simplecov (0.21.2)
|
|
148
145
|
docile (~> 1.1)
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
simplecov-html (0.
|
|
146
|
+
simplecov-html (~> 0.11)
|
|
147
|
+
simplecov_json_formatter (~> 0.1)
|
|
148
|
+
simplecov-html (0.12.3)
|
|
149
|
+
simplecov_json_formatter (0.1.4)
|
|
152
150
|
sinatra (2.2.0)
|
|
153
151
|
mustermann (~> 1.0)
|
|
154
152
|
rack (~> 2.2)
|
|
@@ -191,7 +189,8 @@ PLATFORMS
|
|
|
191
189
|
|
|
192
190
|
DEPENDENCIES
|
|
193
191
|
bundler (~> 2.3)
|
|
194
|
-
|
|
192
|
+
coveralls_reborn (~> 0.24.0)
|
|
193
|
+
grpc-tools (>= 1, < 2)
|
|
195
194
|
nonnative!
|
|
196
195
|
rubocop (~> 1.26)
|
|
197
196
|
solargraph (~> 0.44.3)
|
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(
|
|
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
|
|
285
|
+
class Greeter < GreeterService::Service
|
|
286
286
|
def say_hello(request, _call)
|
|
287
|
-
Nonnative::Features::
|
|
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
|
-
|
|
293
|
+
Greeter.new
|
|
294
294
|
end
|
|
295
295
|
end
|
|
296
296
|
end
|
|
@@ -96,6 +96,7 @@ module Nonnative
|
|
|
96
96
|
services.each do |fd|
|
|
97
97
|
service do |s|
|
|
98
98
|
s.name = fd['name']
|
|
99
|
+
s.host = fd['host'] if fd['host']
|
|
99
100
|
s.port = fd['port']
|
|
100
101
|
|
|
101
102
|
proxy s, fd['proxy']
|
|
@@ -106,12 +107,16 @@ module Nonnative
|
|
|
106
107
|
def proxy(runner, proxy)
|
|
107
108
|
return unless proxy
|
|
108
109
|
|
|
109
|
-
|
|
110
|
+
p = {
|
|
110
111
|
type: proxy['type'],
|
|
111
112
|
port: proxy['port'],
|
|
112
113
|
log: proxy['log'],
|
|
113
114
|
options: proxy['options']
|
|
114
115
|
}
|
|
116
|
+
|
|
117
|
+
p[:host] = proxy['host'] if proxy['host']
|
|
118
|
+
|
|
119
|
+
runner.proxy = p
|
|
115
120
|
end
|
|
116
121
|
end
|
|
117
122
|
end
|
|
@@ -2,15 +2,19 @@
|
|
|
2
2
|
|
|
3
3
|
module Nonnative
|
|
4
4
|
class ConfigurationRunner
|
|
5
|
-
attr_accessor :name, :port
|
|
5
|
+
attr_accessor :name, :host, :port
|
|
6
6
|
attr_reader :proxy
|
|
7
7
|
|
|
8
8
|
def initialize
|
|
9
|
+
self.host = '0.0.0.0'
|
|
10
|
+
self.port = 0
|
|
11
|
+
|
|
9
12
|
@proxy = Nonnative::ConfigurationProxy.new
|
|
10
13
|
end
|
|
11
14
|
|
|
12
15
|
def proxy=(value)
|
|
13
16
|
proxy.type = value[:type]
|
|
17
|
+
proxy.host = value[:host] if value[:host]
|
|
14
18
|
proxy.port = value[:port]
|
|
15
19
|
proxy.log = value[:log]
|
|
16
20
|
proxy.options = value[:options]
|
|
@@ -12,7 +12,7 @@ module Nonnative
|
|
|
12
12
|
end
|
|
13
13
|
|
|
14
14
|
def start
|
|
15
|
-
@tcp_server = ::TCPServer.new(
|
|
15
|
+
@tcp_server = ::TCPServer.new(service.host, service.port)
|
|
16
16
|
@thread = Thread.new { perform_start }
|
|
17
17
|
end
|
|
18
18
|
|
|
@@ -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
|
data/lib/nonnative/no_proxy.rb
CHANGED
data/lib/nonnative/port.rb
CHANGED
data/lib/nonnative/version.rb
CHANGED
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'
|
|
@@ -36,7 +35,8 @@ Gem::Specification.new do |spec|
|
|
|
36
35
|
spec.add_dependency 'sinatra', '~> 2.0', '>= 2.0.8.1'
|
|
37
36
|
|
|
38
37
|
spec.add_development_dependency 'bundler', '~> 2.3'
|
|
39
|
-
spec.add_development_dependency '
|
|
38
|
+
spec.add_development_dependency 'coveralls_reborn', '~> 0.24.0'
|
|
39
|
+
spec.add_development_dependency 'grpc-tools', ['>= 1', '< 2']
|
|
40
40
|
spec.add_development_dependency 'rubocop', '~> 1.26'
|
|
41
41
|
spec.add_development_dependency 'solargraph', '~> 0.44.3'
|
|
42
42
|
end
|
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.
|
|
4
|
+
version: 1.58.2
|
|
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-
|
|
11
|
+
date: 2022-04-13 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
|
|
@@ -201,19 +181,39 @@ dependencies:
|
|
|
201
181
|
- !ruby/object:Gem::Version
|
|
202
182
|
version: '2.3'
|
|
203
183
|
- !ruby/object:Gem::Dependency
|
|
204
|
-
name:
|
|
184
|
+
name: coveralls_reborn
|
|
205
185
|
requirement: !ruby/object:Gem::Requirement
|
|
206
186
|
requirements:
|
|
207
187
|
- - "~>"
|
|
208
188
|
- !ruby/object:Gem::Version
|
|
209
|
-
version: 0.
|
|
189
|
+
version: 0.24.0
|
|
210
190
|
type: :development
|
|
211
191
|
prerelease: false
|
|
212
192
|
version_requirements: !ruby/object:Gem::Requirement
|
|
213
193
|
requirements:
|
|
214
194
|
- - "~>"
|
|
215
195
|
- !ruby/object:Gem::Version
|
|
216
|
-
version: 0.
|
|
196
|
+
version: 0.24.0
|
|
197
|
+
- !ruby/object:Gem::Dependency
|
|
198
|
+
name: grpc-tools
|
|
199
|
+
requirement: !ruby/object:Gem::Requirement
|
|
200
|
+
requirements:
|
|
201
|
+
- - ">="
|
|
202
|
+
- !ruby/object:Gem::Version
|
|
203
|
+
version: '1'
|
|
204
|
+
- - "<"
|
|
205
|
+
- !ruby/object:Gem::Version
|
|
206
|
+
version: '2'
|
|
207
|
+
type: :development
|
|
208
|
+
prerelease: false
|
|
209
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
210
|
+
requirements:
|
|
211
|
+
- - ">="
|
|
212
|
+
- !ruby/object:Gem::Version
|
|
213
|
+
version: '1'
|
|
214
|
+
- - "<"
|
|
215
|
+
- !ruby/object:Gem::Version
|
|
216
|
+
version: '2'
|
|
217
217
|
- !ruby/object:Gem::Dependency
|
|
218
218
|
name: rubocop
|
|
219
219
|
requirement: !ruby/object:Gem::Requirement
|