nonnative 1.27.0

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