nonnative 1.15.0 → 1.16.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9da36cc51d6dd5d1a440767c808455d81dacbf9aa425c185b6d3c3cba24ba949
4
- data.tar.gz: b5f13df29130761c28cf96f277392ab7b7a9f0a479ed7539d54b3ffc207687bf
3
+ metadata.gz: 06c156ebea189af501939979653772a2f87dcb6c262f373134d061bd0f07a48c
4
+ data.tar.gz: 6d41fd8ac177d6565517423c73b031c0c4e03512f2406e7be6f12e2611dfe87d
5
5
  SHA512:
6
- metadata.gz: 7a7efe67bb02696eec25e19ff231199219a4e709fb74b746d3d7326358131331f7cb6300e9ec466eec1a7d644d31968d9015ca2a94187d8870fa5c8e6fdf20a1
7
- data.tar.gz: 2ef73fa52844639694efa346214f95f6705ffbfeea2b8ab6a1476948cd485a7aaf7269150be72b43dd7d660021c77beb8c61a875a10782061557963824c30e03
6
+ metadata.gz: a34000c945bc7902645dd32a381311160353193efce3fcc9fbdc563a9e191b192b5e14b72bb4c1efa9d87a821558b801ba002d213e5aad7dceeef1f1ebf12e92
7
+ data.tar.gz: 9d31997089ebaf6e01b4394b4b13d916791e8d5366acb0fd78e09db3cc662609202d1ac0d6ed605dda35796eae84201f607e5255cf6a25e8e2dedd01ef87e43d
@@ -1,9 +1,10 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- nonnative (1.15.0)
4
+ nonnative (1.16.0)
5
5
  cucumber (~> 3.1, >= 3.1.2)
6
6
  grpc (~> 1.28)
7
+ puma (~> 4.3, >= 4.3.3)
7
8
  rest-client (~> 2.1)
8
9
  rspec-benchmark (~> 0.6.0)
9
10
  rspec-expectations (~> 3.9, >= 3.9.2)
@@ -46,7 +47,7 @@ GEM
46
47
  cucumber-expressions (6.0.1)
47
48
  cucumber-tag_expressions (1.1.1)
48
49
  cucumber-wire (0.0.1)
49
- diff-lcs (1.4.2)
50
+ diff-lcs (1.4.4)
50
51
  docile (1.3.2)
51
52
  domain_name (0.5.20190701)
52
53
  unf (>= 0.0.5, < 1.0.0)
@@ -79,6 +80,7 @@ GEM
79
80
  mustermann (1.1.1)
80
81
  ruby2_keywords (~> 0.0.1)
81
82
  netrc (0.11.0)
83
+ nio4r (2.5.2)
82
84
  nokogiri (1.10.9)
83
85
  mini_portile2 (~> 2.4.0)
84
86
  parallel (1.19.2)
@@ -89,6 +91,8 @@ GEM
89
91
  tty-color (~> 0.5)
90
92
  protocol (2.0.0)
91
93
  ruby_parser (~> 3.0)
94
+ puma (4.3.5)
95
+ nio4r (~> 2.0)
92
96
  rack (2.2.3)
93
97
  rack-protection (2.0.8.1)
94
98
  rack
@@ -4,11 +4,12 @@ require 'socket'
4
4
  require 'timeout'
5
5
  require 'thwait'
6
6
  require 'yaml'
7
- require 'webrick'
8
7
 
9
8
  require 'grpc'
10
9
  require 'sinatra'
11
10
  require 'rest-client'
11
+ require 'puma'
12
+ require 'puma/server'
12
13
 
13
14
  require 'nonnative/version'
14
15
  require 'nonnative/error'
@@ -26,7 +26,15 @@ module Nonnative
26
26
  end
27
27
 
28
28
  def wait_start
29
- server.wait_till_running(service.timeout)
29
+ timeout.perform do
30
+ super until server.running?
31
+ end
32
+ end
33
+
34
+ def wait_stop
35
+ timeout.perform do
36
+ super until server.stopped?
37
+ end
30
38
  end
31
39
 
32
40
  private
@@ -2,23 +2,33 @@
2
2
 
3
3
  module Nonnative
4
4
  class HTTPServer < Nonnative::Server
5
+ def initialize(service)
6
+ @server = Puma::Server.new(app, Puma::Events.strings)
7
+
8
+ super service
9
+ end
10
+
5
11
  protected
6
12
 
7
13
  def perform_start
8
- options = {
9
- Host: '0.0.0.0',
10
- Port: proxy.port,
11
- Logger: ::WEBrick::Log.new('/dev/null'),
12
- AccessLog: []
13
- }
14
-
15
- Rack::Handler::WEBrick.run(app, options) do |server|
16
- @server = server
17
- end
14
+ server.add_tcp_listener '0.0.0.0', proxy.port
15
+ server.run.join
18
16
  end
19
17
 
20
18
  def perform_stop
21
- server.shutdown
19
+ server.stop(true)
20
+ end
21
+
22
+ def wait_start
23
+ timeout.perform do
24
+ super until server.running
25
+ end
26
+ end
27
+
28
+ def wait_stop
29
+ timeout.perform do
30
+ super while server.running
31
+ end
22
32
  end
23
33
 
24
34
  private
@@ -16,11 +16,11 @@ module Nonnative
16
16
  attr_reader :service, :timeout
17
17
 
18
18
  def wait_start
19
- sleep 0.2
19
+ sleep 0.1
20
20
  end
21
21
 
22
22
  def wait_stop
23
- sleep 0.2
23
+ sleep 0.1
24
24
  end
25
25
  end
26
26
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Nonnative
4
- VERSION = '1.15.0'
4
+ VERSION = '1.16.0'
5
5
  end
@@ -26,6 +26,7 @@ Gem::Specification.new do |spec|
26
26
 
27
27
  spec.add_dependency 'cucumber', '~> 3.1', '>= 3.1.2'
28
28
  spec.add_dependency 'grpc', '~> 1.28'
29
+ spec.add_dependency 'puma', '~> 4.3', '>= 4.3.3'
29
30
  spec.add_dependency 'rest-client', '~> 2.1'
30
31
  spec.add_dependency 'rspec-benchmark', '~> 0.6.0'
31
32
  spec.add_dependency 'rspec-expectations', '~> 3.9', '>= 3.9.2'
metadata CHANGED
@@ -1,11 +1,11 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nonnative
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.15.0
4
+ version: 1.16.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alex Falkowski
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
11
  date: 2020-07-03 00:00:00.000000000 Z
@@ -44,6 +44,26 @@ dependencies:
44
44
  - - "~>"
45
45
  - !ruby/object:Gem::Version
46
46
  version: '1.28'
47
+ - !ruby/object:Gem::Dependency
48
+ name: puma
49
+ requirement: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - "~>"
52
+ - !ruby/object:Gem::Version
53
+ version: '4.3'
54
+ - - ">="
55
+ - !ruby/object:Gem::Version
56
+ version: 4.3.3
57
+ type: :runtime
58
+ prerelease: false
59
+ version_requirements: !ruby/object:Gem::Requirement
60
+ requirements:
61
+ - - "~>"
62
+ - !ruby/object:Gem::Version
63
+ version: '4.3'
64
+ - - ">="
65
+ - !ruby/object:Gem::Version
66
+ version: 4.3.3
47
67
  - !ruby/object:Gem::Dependency
48
68
  name: rest-client
49
69
  requirement: !ruby/object:Gem::Requirement
@@ -281,7 +301,7 @@ homepage: https://github.com/alexfalkowski/nonnative
281
301
  licenses:
282
302
  - Unlicense
283
303
  metadata: {}
284
- post_install_message:
304
+ post_install_message:
285
305
  rdoc_options: []
286
306
  require_paths:
287
307
  - lib
@@ -296,8 +316,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
296
316
  - !ruby/object:Gem::Version
297
317
  version: '0'
298
318
  requirements: []
299
- rubygems_version: 3.0.3
300
- signing_key:
319
+ rubygems_version: 3.0.8
320
+ signing_key:
301
321
  specification_version: 4
302
322
  summary: Allows you to keep using the power of ruby to test other systems
303
323
  test_files: []