nonnative 1.27.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 (49) hide show
  1. checksums.yaml +7 -0
  2. data/.circleci/config.yml +38 -0
  3. data/.config/cucumber.yml +1 -0
  4. data/.editorconfig +24 -0
  5. data/.gitignore +11 -0
  6. data/.rubocop.yml +87 -0
  7. data/.ruby-version +1 -0
  8. data/Gemfile +8 -0
  9. data/Gemfile.lock +202 -0
  10. data/LICENSE +24 -0
  11. data/Makefile +27 -0
  12. data/README.md +366 -0
  13. data/Rakefile +4 -0
  14. data/bin/console +15 -0
  15. data/bin/setup +9 -0
  16. data/lib/nonnative.rb +89 -0
  17. data/lib/nonnative/before.rb +11 -0
  18. data/lib/nonnative/close_all_socket_pair.rb +9 -0
  19. data/lib/nonnative/command.rb +54 -0
  20. data/lib/nonnative/configuration.rb +80 -0
  21. data/lib/nonnative/configuration_process.rb +7 -0
  22. data/lib/nonnative/configuration_proxy.rb +13 -0
  23. data/lib/nonnative/configuration_server.rb +19 -0
  24. data/lib/nonnative/delay_socket_pair.rb +12 -0
  25. data/lib/nonnative/error.rb +6 -0
  26. data/lib/nonnative/fault_injection_proxy.rb +78 -0
  27. data/lib/nonnative/grpc_server.rb +44 -0
  28. data/lib/nonnative/http_client.rb +53 -0
  29. data/lib/nonnative/http_server.rb +40 -0
  30. data/lib/nonnative/invalid_data_socket_pair.rb +11 -0
  31. data/lib/nonnative/manual.rb +3 -0
  32. data/lib/nonnative/no_proxy.rb +17 -0
  33. data/lib/nonnative/observability.rb +13 -0
  34. data/lib/nonnative/pool.rb +60 -0
  35. data/lib/nonnative/port.rb +44 -0
  36. data/lib/nonnative/proxy.rb +13 -0
  37. data/lib/nonnative/proxy_factory.rb +18 -0
  38. data/lib/nonnative/server.rb +41 -0
  39. data/lib/nonnative/service.rb +26 -0
  40. data/lib/nonnative/socket_pair.rb +53 -0
  41. data/lib/nonnative/socket_pair_factory.rb +22 -0
  42. data/lib/nonnative/start_error.rb +6 -0
  43. data/lib/nonnative/startup.rb +7 -0
  44. data/lib/nonnative/stop_error.rb +6 -0
  45. data/lib/nonnative/timeout.rb +21 -0
  46. data/lib/nonnative/version.rb +5 -0
  47. data/nonnative.gemspec +42 -0
  48. data/sonar-project.properties +4 -0
  49. metadata +340 -0
@@ -0,0 +1,6 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Nonnative
4
+ class StopError < Nonnative::Error
5
+ end
6
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Nonnative
4
+ class Timeout
5
+ def initialize(time)
6
+ @time = time
7
+ end
8
+
9
+ def perform
10
+ ::Timeout.timeout(time) do
11
+ yield
12
+ end
13
+ rescue ::Timeout::Error
14
+ false
15
+ end
16
+
17
+ private
18
+
19
+ attr_reader :time
20
+ end
21
+ end
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Nonnative
4
+ VERSION = '1.27.0'
5
+ end
@@ -0,0 +1,42 @@
1
+ # frozen_string_literal: true
2
+
3
+ lib = File.expand_path('lib', __dir__)
4
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5
+ require 'nonnative/version'
6
+
7
+ Gem::Specification.new do |spec|
8
+ spec.name = 'nonnative'
9
+ spec.version = Nonnative::VERSION
10
+ spec.authors = ['Alex Falkowski']
11
+ spec.email = ['alexrfalkowski@gmail.com']
12
+
13
+ spec.summary = 'Allows you to keep using the power of ruby to test other systems'
14
+ spec.description = spec.summary
15
+ spec.homepage = 'https://github.com/alexfalkowski/nonnative'
16
+ spec.license = 'Unlicense'
17
+
18
+ # Specify which files should be added to the gem when it is released.
19
+ # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
20
+ spec.files = Dir.chdir(File.expand_path(__dir__)) do
21
+ `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
22
+ end
23
+ spec.bindir = 'exe'
24
+ spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
25
+ spec.require_paths = ['lib']
26
+
27
+ spec.add_dependency 'concurrent-ruby', '~> 1.0', '>= 1.0.5'
28
+ spec.add_dependency 'cucumber', ['>= 4', '< 5']
29
+ spec.add_dependency 'grpc', ['>= 1', '< 2']
30
+ spec.add_dependency 'puma', '~> 4.3', '>= 4.3.3'
31
+ spec.add_dependency 'rest-client', '~> 2.1'
32
+ spec.add_dependency 'rspec-benchmark', '~> 0.6.0'
33
+ spec.add_dependency 'rspec-expectations', '~> 3.9', '>= 3.9.2'
34
+ spec.add_dependency 'sinatra', '~> 2.0', '>= 2.0.8.1'
35
+
36
+ spec.add_development_dependency 'bundler', '~> 2.1', '>= 2.1.4'
37
+ spec.add_development_dependency 'grpc-tools', ['>= 1', '< 2']
38
+ spec.add_development_dependency 'rake', '~> 13.0', '>= 13.0.1'
39
+ spec.add_development_dependency 'rubocop', '~> 0.88'
40
+ spec.add_development_dependency 'simplecov', '~> 0.17.1'
41
+ spec.add_development_dependency 'solargraph', '~> 0.39.11'
42
+ end
@@ -0,0 +1,4 @@
1
+ sonar.projectKey=alexfalkowski_nonnative
2
+ sonar.organization=alejandrofalkowski
3
+ sonar.exclusions=features/**/*
4
+ sonar.ruby.coverage.reportPaths=coverage/.resultset.json
metadata ADDED
@@ -0,0 +1,340 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: nonnative
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.27.0
5
+ platform: ruby
6
+ authors:
7
+ - Alex Falkowski
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2020-07-21 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: concurrent-ruby
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.0'
20
+ - - ">="
21
+ - !ruby/object:Gem::Version
22
+ version: 1.0.5
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - "~>"
28
+ - !ruby/object:Gem::Version
29
+ version: '1.0'
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: 1.0.5
33
+ - !ruby/object:Gem::Dependency
34
+ name: cucumber
35
+ requirement: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - ">="
38
+ - !ruby/object:Gem::Version
39
+ version: '4'
40
+ - - "<"
41
+ - !ruby/object:Gem::Version
42
+ version: '5'
43
+ type: :runtime
44
+ prerelease: false
45
+ version_requirements: !ruby/object:Gem::Requirement
46
+ requirements:
47
+ - - ">="
48
+ - !ruby/object:Gem::Version
49
+ version: '4'
50
+ - - "<"
51
+ - !ruby/object:Gem::Version
52
+ version: '5'
53
+ - !ruby/object:Gem::Dependency
54
+ name: grpc
55
+ requirement: !ruby/object:Gem::Requirement
56
+ requirements:
57
+ - - ">="
58
+ - !ruby/object:Gem::Version
59
+ version: '1'
60
+ - - "<"
61
+ - !ruby/object:Gem::Version
62
+ version: '2'
63
+ type: :runtime
64
+ prerelease: false
65
+ version_requirements: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - ">="
68
+ - !ruby/object:Gem::Version
69
+ version: '1'
70
+ - - "<"
71
+ - !ruby/object:Gem::Version
72
+ version: '2'
73
+ - !ruby/object:Gem::Dependency
74
+ name: puma
75
+ requirement: !ruby/object:Gem::Requirement
76
+ requirements:
77
+ - - "~>"
78
+ - !ruby/object:Gem::Version
79
+ version: '4.3'
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: 4.3.3
83
+ type: :runtime
84
+ prerelease: false
85
+ version_requirements: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '4.3'
90
+ - - ">="
91
+ - !ruby/object:Gem::Version
92
+ version: 4.3.3
93
+ - !ruby/object:Gem::Dependency
94
+ name: rest-client
95
+ requirement: !ruby/object:Gem::Requirement
96
+ requirements:
97
+ - - "~>"
98
+ - !ruby/object:Gem::Version
99
+ version: '2.1'
100
+ type: :runtime
101
+ prerelease: false
102
+ version_requirements: !ruby/object:Gem::Requirement
103
+ requirements:
104
+ - - "~>"
105
+ - !ruby/object:Gem::Version
106
+ version: '2.1'
107
+ - !ruby/object:Gem::Dependency
108
+ name: rspec-benchmark
109
+ requirement: !ruby/object:Gem::Requirement
110
+ requirements:
111
+ - - "~>"
112
+ - !ruby/object:Gem::Version
113
+ version: 0.6.0
114
+ type: :runtime
115
+ prerelease: false
116
+ version_requirements: !ruby/object:Gem::Requirement
117
+ requirements:
118
+ - - "~>"
119
+ - !ruby/object:Gem::Version
120
+ version: 0.6.0
121
+ - !ruby/object:Gem::Dependency
122
+ name: rspec-expectations
123
+ requirement: !ruby/object:Gem::Requirement
124
+ requirements:
125
+ - - "~>"
126
+ - !ruby/object:Gem::Version
127
+ version: '3.9'
128
+ - - ">="
129
+ - !ruby/object:Gem::Version
130
+ version: 3.9.2
131
+ type: :runtime
132
+ prerelease: false
133
+ version_requirements: !ruby/object:Gem::Requirement
134
+ requirements:
135
+ - - "~>"
136
+ - !ruby/object:Gem::Version
137
+ version: '3.9'
138
+ - - ">="
139
+ - !ruby/object:Gem::Version
140
+ version: 3.9.2
141
+ - !ruby/object:Gem::Dependency
142
+ name: sinatra
143
+ requirement: !ruby/object:Gem::Requirement
144
+ requirements:
145
+ - - "~>"
146
+ - !ruby/object:Gem::Version
147
+ version: '2.0'
148
+ - - ">="
149
+ - !ruby/object:Gem::Version
150
+ version: 2.0.8.1
151
+ type: :runtime
152
+ prerelease: false
153
+ version_requirements: !ruby/object:Gem::Requirement
154
+ requirements:
155
+ - - "~>"
156
+ - !ruby/object:Gem::Version
157
+ version: '2.0'
158
+ - - ">="
159
+ - !ruby/object:Gem::Version
160
+ version: 2.0.8.1
161
+ - !ruby/object:Gem::Dependency
162
+ name: bundler
163
+ requirement: !ruby/object:Gem::Requirement
164
+ requirements:
165
+ - - "~>"
166
+ - !ruby/object:Gem::Version
167
+ version: '2.1'
168
+ - - ">="
169
+ - !ruby/object:Gem::Version
170
+ version: 2.1.4
171
+ type: :development
172
+ prerelease: false
173
+ version_requirements: !ruby/object:Gem::Requirement
174
+ requirements:
175
+ - - "~>"
176
+ - !ruby/object:Gem::Version
177
+ version: '2.1'
178
+ - - ">="
179
+ - !ruby/object:Gem::Version
180
+ version: 2.1.4
181
+ - !ruby/object:Gem::Dependency
182
+ name: grpc-tools
183
+ requirement: !ruby/object:Gem::Requirement
184
+ requirements:
185
+ - - ">="
186
+ - !ruby/object:Gem::Version
187
+ version: '1'
188
+ - - "<"
189
+ - !ruby/object:Gem::Version
190
+ version: '2'
191
+ type: :development
192
+ prerelease: false
193
+ version_requirements: !ruby/object:Gem::Requirement
194
+ requirements:
195
+ - - ">="
196
+ - !ruby/object:Gem::Version
197
+ version: '1'
198
+ - - "<"
199
+ - !ruby/object:Gem::Version
200
+ version: '2'
201
+ - !ruby/object:Gem::Dependency
202
+ name: rake
203
+ requirement: !ruby/object:Gem::Requirement
204
+ requirements:
205
+ - - "~>"
206
+ - !ruby/object:Gem::Version
207
+ version: '13.0'
208
+ - - ">="
209
+ - !ruby/object:Gem::Version
210
+ version: 13.0.1
211
+ type: :development
212
+ prerelease: false
213
+ version_requirements: !ruby/object:Gem::Requirement
214
+ requirements:
215
+ - - "~>"
216
+ - !ruby/object:Gem::Version
217
+ version: '13.0'
218
+ - - ">="
219
+ - !ruby/object:Gem::Version
220
+ version: 13.0.1
221
+ - !ruby/object:Gem::Dependency
222
+ name: rubocop
223
+ requirement: !ruby/object:Gem::Requirement
224
+ requirements:
225
+ - - "~>"
226
+ - !ruby/object:Gem::Version
227
+ version: '0.88'
228
+ type: :development
229
+ prerelease: false
230
+ version_requirements: !ruby/object:Gem::Requirement
231
+ requirements:
232
+ - - "~>"
233
+ - !ruby/object:Gem::Version
234
+ version: '0.88'
235
+ - !ruby/object:Gem::Dependency
236
+ name: simplecov
237
+ requirement: !ruby/object:Gem::Requirement
238
+ requirements:
239
+ - - "~>"
240
+ - !ruby/object:Gem::Version
241
+ version: 0.17.1
242
+ type: :development
243
+ prerelease: false
244
+ version_requirements: !ruby/object:Gem::Requirement
245
+ requirements:
246
+ - - "~>"
247
+ - !ruby/object:Gem::Version
248
+ version: 0.17.1
249
+ - !ruby/object:Gem::Dependency
250
+ name: solargraph
251
+ requirement: !ruby/object:Gem::Requirement
252
+ requirements:
253
+ - - "~>"
254
+ - !ruby/object:Gem::Version
255
+ version: 0.39.11
256
+ type: :development
257
+ prerelease: false
258
+ version_requirements: !ruby/object:Gem::Requirement
259
+ requirements:
260
+ - - "~>"
261
+ - !ruby/object:Gem::Version
262
+ version: 0.39.11
263
+ description: Allows you to keep using the power of ruby to test other systems
264
+ email:
265
+ - alexrfalkowski@gmail.com
266
+ executables: []
267
+ extensions: []
268
+ extra_rdoc_files: []
269
+ files:
270
+ - ".circleci/config.yml"
271
+ - ".config/cucumber.yml"
272
+ - ".editorconfig"
273
+ - ".gitignore"
274
+ - ".rubocop.yml"
275
+ - ".ruby-version"
276
+ - Gemfile
277
+ - Gemfile.lock
278
+ - LICENSE
279
+ - Makefile
280
+ - README.md
281
+ - Rakefile
282
+ - bin/console
283
+ - bin/setup
284
+ - lib/nonnative.rb
285
+ - lib/nonnative/before.rb
286
+ - lib/nonnative/close_all_socket_pair.rb
287
+ - lib/nonnative/command.rb
288
+ - lib/nonnative/configuration.rb
289
+ - lib/nonnative/configuration_process.rb
290
+ - lib/nonnative/configuration_proxy.rb
291
+ - lib/nonnative/configuration_server.rb
292
+ - lib/nonnative/delay_socket_pair.rb
293
+ - lib/nonnative/error.rb
294
+ - lib/nonnative/fault_injection_proxy.rb
295
+ - lib/nonnative/grpc_server.rb
296
+ - lib/nonnative/http_client.rb
297
+ - lib/nonnative/http_server.rb
298
+ - lib/nonnative/invalid_data_socket_pair.rb
299
+ - lib/nonnative/manual.rb
300
+ - lib/nonnative/no_proxy.rb
301
+ - lib/nonnative/observability.rb
302
+ - lib/nonnative/pool.rb
303
+ - lib/nonnative/port.rb
304
+ - lib/nonnative/proxy.rb
305
+ - lib/nonnative/proxy_factory.rb
306
+ - lib/nonnative/server.rb
307
+ - lib/nonnative/service.rb
308
+ - lib/nonnative/socket_pair.rb
309
+ - lib/nonnative/socket_pair_factory.rb
310
+ - lib/nonnative/start_error.rb
311
+ - lib/nonnative/startup.rb
312
+ - lib/nonnative/stop_error.rb
313
+ - lib/nonnative/timeout.rb
314
+ - lib/nonnative/version.rb
315
+ - nonnative.gemspec
316
+ - sonar-project.properties
317
+ homepage: https://github.com/alexfalkowski/nonnative
318
+ licenses:
319
+ - Unlicense
320
+ metadata: {}
321
+ post_install_message:
322
+ rdoc_options: []
323
+ require_paths:
324
+ - lib
325
+ required_ruby_version: !ruby/object:Gem::Requirement
326
+ requirements:
327
+ - - ">="
328
+ - !ruby/object:Gem::Version
329
+ version: '0'
330
+ required_rubygems_version: !ruby/object:Gem::Requirement
331
+ requirements:
332
+ - - ">="
333
+ - !ruby/object:Gem::Version
334
+ version: '0'
335
+ requirements: []
336
+ rubygems_version: 3.1.2
337
+ signing_key:
338
+ specification_version: 4
339
+ summary: Allows you to keep using the power of ruby to test other systems
340
+ test_files: []