baza.rb 0.9.1 → 0.9.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/Gemfile +4 -0
- data/Gemfile.lock +28 -0
- data/lib/baza-rb/version.rb +1 -1
- data/lib/baza-rb.rb +2 -2
- data/test/test_baza-rb.rb +42 -0
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: cfbf5db87c6e2de8bdbd96bb3be0be9b575682508854db36dc9772dfb6120d36
|
4
|
+
data.tar.gz: 3547d2d4f8ac5dabd6cd9d2e170c1e3509ae8f6378bf4ae3f7b6cb613b5a0922
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 81c87e65deddac4af96f84eb2bbcb8af2504e3ec7117ee9c6699c92154626cefdaec4daa68d0a8a64f5e8152199bc1f677841042ddeed7ee47ad51f3e32dc575
|
7
|
+
data.tar.gz: e6303b57c12d710f09308a4729def841b28b97b4411ea8dc63950de49c8c5be8d273a6092bc7e97b24bc2890b2e6df0df4911eef47bead8171390cda682c5565
|
data/Gemfile
CHANGED
@@ -11,7 +11,10 @@ gem 'factbase', '~>0.11', require: false
|
|
11
11
|
gem 'minitest', '~>5.25', require: false
|
12
12
|
gem 'minitest-reporters', '~>1.7', require: false
|
13
13
|
gem 'os', '~>1.1', require: false
|
14
|
+
gem 'puma', '~>6.6', require: false
|
14
15
|
gem 'qbash', '~>0.4', require: false
|
16
|
+
gem 'rack', '~>3.1', require: false
|
17
|
+
gem 'rackup', '~>2.2', require: false
|
15
18
|
gem 'rake', '~>13.2', require: false
|
16
19
|
gem 'random-port', '~>0.7', require: false
|
17
20
|
gem 'rubocop', '~>1.73', require: false
|
@@ -20,6 +23,7 @@ gem 'rubocop-performance', '~>1.23', require: false
|
|
20
23
|
gem 'rubocop-rake', '~>0.7', require: false
|
21
24
|
gem 'simplecov', '~>0.22', require: false
|
22
25
|
gem 'simplecov-cobertura', '~>2.1', require: false
|
26
|
+
gem 'sinatra', '~>4.1', require: false
|
23
27
|
gem 'wait_for', '~>0.1', require: false
|
24
28
|
gem 'webmock', '~>3.24', require: false
|
25
29
|
gem 'webrick', '~>1.9', require: false
|
data/Gemfile.lock
CHANGED
@@ -76,8 +76,11 @@ GEM
|
|
76
76
|
minitest (>= 5.0)
|
77
77
|
ruby-progressbar
|
78
78
|
multipart-post (2.4.1)
|
79
|
+
mustermann (3.0.3)
|
80
|
+
ruby2_keywords (~> 0.0.1)
|
79
81
|
net-http (0.6.0)
|
80
82
|
uri
|
83
|
+
nio4r (2.7.4)
|
81
84
|
nokogiri (1.18.8-arm64-darwin)
|
82
85
|
racc (~> 1.4)
|
83
86
|
nokogiri (1.18.8-x64-mingw-ucrt)
|
@@ -94,12 +97,24 @@ GEM
|
|
94
97
|
racc
|
95
98
|
prism (1.4.0)
|
96
99
|
public_suffix (6.0.2)
|
100
|
+
puma (6.6.0)
|
101
|
+
nio4r (~> 2.0)
|
97
102
|
qbash (0.4.5)
|
98
103
|
backtrace (> 0)
|
99
104
|
elapsed (> 0)
|
100
105
|
loog (> 0)
|
101
106
|
tago (> 0)
|
102
107
|
racc (1.8.1)
|
108
|
+
rack (3.1.16)
|
109
|
+
rack-protection (4.1.1)
|
110
|
+
base64 (>= 0.1.0)
|
111
|
+
logger (>= 1.6.0)
|
112
|
+
rack (>= 3.0.0, < 4)
|
113
|
+
rack-session (2.1.1)
|
114
|
+
base64 (>= 0.1.0)
|
115
|
+
rack (>= 3.0.0)
|
116
|
+
rackup (2.2.1)
|
117
|
+
rack (>= 3)
|
103
118
|
rainbow (3.1.1)
|
104
119
|
rake (13.3.0)
|
105
120
|
random-port (0.7.5)
|
@@ -133,6 +148,7 @@ GEM
|
|
133
148
|
lint_roller (~> 1.1)
|
134
149
|
rubocop (>= 1.72.1)
|
135
150
|
ruby-progressbar (1.13.0)
|
151
|
+
ruby2_keywords (0.0.5)
|
136
152
|
simplecov (0.22.0)
|
137
153
|
docile (~> 1.1)
|
138
154
|
simplecov-html (~> 0.11)
|
@@ -142,7 +158,15 @@ GEM
|
|
142
158
|
simplecov (~> 0.19)
|
143
159
|
simplecov-html (0.13.1)
|
144
160
|
simplecov_json_formatter (0.1.4)
|
161
|
+
sinatra (4.1.1)
|
162
|
+
logger (>= 1.6.0)
|
163
|
+
mustermann (~> 3.0)
|
164
|
+
rack (>= 3.0.0, < 4)
|
165
|
+
rack-protection (= 4.1.1)
|
166
|
+
rack-session (>= 2.0.0, < 3)
|
167
|
+
tilt (~> 2.0)
|
145
168
|
tago (0.1.0)
|
169
|
+
tilt (2.6.0)
|
146
170
|
typhoeus (1.4.1)
|
147
171
|
ethon (>= 0.9.0)
|
148
172
|
unicode-display_width (3.1.4)
|
@@ -174,7 +198,10 @@ DEPENDENCIES
|
|
174
198
|
minitest (~> 5.25)
|
175
199
|
minitest-reporters (~> 1.7)
|
176
200
|
os (~> 1.1)
|
201
|
+
puma (~> 6.6)
|
177
202
|
qbash (~> 0.4)
|
203
|
+
rack (~> 3.1)
|
204
|
+
rackup (~> 2.2)
|
178
205
|
rake (~> 13.2)
|
179
206
|
random-port (~> 0.7)
|
180
207
|
rubocop (~> 1.73)
|
@@ -183,6 +210,7 @@ DEPENDENCIES
|
|
183
210
|
rubocop-rake (~> 0.7)
|
184
211
|
simplecov (~> 0.22)
|
185
212
|
simplecov-cobertura (~> 2.1)
|
213
|
+
sinatra (~> 4.1)
|
186
214
|
wait_for (~> 0.1)
|
187
215
|
webmock (~> 3.24)
|
188
216
|
webrick (~> 1.9)
|
data/lib/baza-rb/version.rb
CHANGED
data/lib/baza-rb.rb
CHANGED
@@ -740,7 +740,7 @@ class BazaRb
|
|
740
740
|
uri.to_s,
|
741
741
|
method: :get,
|
742
742
|
headers: headers.merge(
|
743
|
-
'Accept' => '
|
743
|
+
'Accept' => '*',
|
744
744
|
'Accept-Encoding' => 'gzip',
|
745
745
|
'Range' => "bytes=#{pos}-"
|
746
746
|
),
|
@@ -749,7 +749,7 @@ class BazaRb
|
|
749
749
|
)
|
750
750
|
slice = ''
|
751
751
|
request.on_body do |data|
|
752
|
-
slice
|
752
|
+
slice += data
|
753
753
|
end
|
754
754
|
retry_it do
|
755
755
|
request.run
|
data/test/test_baza-rb.rb
CHANGED
@@ -6,6 +6,7 @@
|
|
6
6
|
require 'factbase'
|
7
7
|
require 'loog'
|
8
8
|
require 'net/http'
|
9
|
+
require 'qbash'
|
9
10
|
require 'random-port'
|
10
11
|
require 'securerandom'
|
11
12
|
require 'socket'
|
@@ -674,8 +675,49 @@ class TestBazaRb < Minitest::Test
|
|
674
675
|
baza.push('test', 'data', [])
|
675
676
|
end
|
676
677
|
|
678
|
+
def test_durable_load_from_sinatra
|
679
|
+
WebMock.enable_net_connect!
|
680
|
+
Dir.mktmpdir do |dir|
|
681
|
+
with_sinatra_server do |baza|
|
682
|
+
file = File.join(dir, 'x.txt')
|
683
|
+
baza.durable_load(42, file)
|
684
|
+
assert_equal('Hello, world!', File.read(file))
|
685
|
+
end
|
686
|
+
end
|
687
|
+
end
|
688
|
+
|
677
689
|
private
|
678
690
|
|
691
|
+
def with_sinatra_server
|
692
|
+
Dir.mktmpdir do |dir|
|
693
|
+
app = File.join(dir, 'app.rb')
|
694
|
+
File.write(
|
695
|
+
app,
|
696
|
+
"
|
697
|
+
require 'rack'
|
698
|
+
require 'sinatra'
|
699
|
+
use Rack::Deflater
|
700
|
+
get '/' do
|
701
|
+
'I am alive'
|
702
|
+
end
|
703
|
+
get '/durables/42' do
|
704
|
+
'Hello, world!'
|
705
|
+
end
|
706
|
+
"
|
707
|
+
)
|
708
|
+
RandomPort::Pool::SINGLETON.acquire do |port|
|
709
|
+
host = '127.0.0.1'
|
710
|
+
qbash("bundle exec ruby #{Shellwords.escape(app)} -p #{port}", log: Loog::VERBOSE, accept: nil) do
|
711
|
+
loop do
|
712
|
+
break if Typhoeus::Request.get("http://#{host}:#{port}").code == 200
|
713
|
+
sleep(0.1)
|
714
|
+
end
|
715
|
+
yield BazaRb.new(host, port, '0000-0000-0000', ssl: false)
|
716
|
+
end
|
717
|
+
end
|
718
|
+
end
|
719
|
+
end
|
720
|
+
|
679
721
|
def with_http_server(code, response, opts = {})
|
680
722
|
opts = { ssl: false, timeout: 1 }.merge(opts)
|
681
723
|
WebMock.enable_net_connect!
|