alephant-sequencer 3.1.1 → 3.2.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 +4 -4
- data/alephant-sequencer.gemspec +1 -1
- data/lib/alephant/sequencer/sequence_cache.rb +2 -3
- data/lib/alephant/sequencer/version.rb +1 -1
- data/spec/sequencer_spec.rb +23 -54
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1b2c61c50eec14f883e1e41e4c9aa0400c933692
|
4
|
+
data.tar.gz: 80da5a3eb098c7c7313fe1e39e3d670011c77503
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0fd622b775ff450bed1d556d2203351a4d08ee105f4e9a0f8703eddb140e3f725c8d59cfaaf1528429ee9ab6ed1f690f35235030d320cb85d2f94edfb68af957
|
7
|
+
data.tar.gz: af672d1682a7e6d89396c6fc6f6d97341fb9ad616eb551c2efac798249ce0595d5d63338f050dbe682450659019bb15eb77b666227781b93cdfccff139673c67
|
data/alephant-sequencer.gemspec
CHANGED
@@ -35,5 +35,5 @@ Gem::Specification.new do |spec|
|
|
35
35
|
spec.add_runtime_dependency "alephant-logger"
|
36
36
|
spec.add_runtime_dependency "alephant-support"
|
37
37
|
spec.add_runtime_dependency "jsonpath"
|
38
|
-
spec.add_runtime_dependency "dalli
|
38
|
+
spec.add_runtime_dependency "dalli"
|
39
39
|
end
|
@@ -1,4 +1,4 @@
|
|
1
|
-
require 'dalli
|
1
|
+
require 'dalli'
|
2
2
|
require 'alephant/logger'
|
3
3
|
|
4
4
|
module Alephant
|
@@ -18,8 +18,7 @@ module Alephant
|
|
18
18
|
logger.metric 'NoConfigEndpoint'
|
19
19
|
@client = NullClient.new
|
20
20
|
else
|
21
|
-
@
|
22
|
-
@client ||= @elasticache.client
|
21
|
+
@client ||= ::Dalli::Client.new(config_endpoint, expires_in: ttl)
|
23
22
|
end
|
24
23
|
end
|
25
24
|
|
data/spec/sequencer_spec.rb
CHANGED
@@ -7,6 +7,7 @@ describe Alephant::Sequencer do
|
|
7
7
|
let(:keep_all) { true }
|
8
8
|
let(:config) { { 'elasticache_config_endpoint' => '/foo' } }
|
9
9
|
let(:cache) { Alephant::Sequencer::SequenceCache.new(config) }
|
10
|
+
let(:cache_client) { Dalli::Client.new }
|
10
11
|
let(:opts) do
|
11
12
|
{
|
12
13
|
id: ident,
|
@@ -15,12 +16,13 @@ describe Alephant::Sequencer do
|
|
15
16
|
cache: cache
|
16
17
|
}
|
17
18
|
end
|
19
|
+
|
20
|
+
before do
|
21
|
+
allow(Dalli::Client).to receive(:new).and_return(cache_client)
|
22
|
+
end
|
18
23
|
|
19
24
|
describe '.create' do
|
20
25
|
it 'should return a Sequencer' do
|
21
|
-
expect_any_instance_of(Dalli::ElastiCache).to receive(:initialize)
|
22
|
-
expect_any_instance_of(Dalli::ElastiCache).to receive(:client).and_return(Dalli::Client.new)
|
23
|
-
|
24
26
|
expect_any_instance_of(Alephant::Sequencer::SequenceTable).to receive(:initialize)
|
25
27
|
expect_any_instance_of(Alephant::Sequencer::SequenceTable).to receive(:sequence_exists)
|
26
28
|
|
@@ -63,9 +65,6 @@ describe Alephant::Sequencer do
|
|
63
65
|
it 'sets @jsonpath, @ident' do
|
64
66
|
expect(sequence_table).to receive(:sequence_exists)
|
65
67
|
|
66
|
-
expect_any_instance_of(Dalli::ElastiCache).to receive(:initialize)
|
67
|
-
expect_any_instance_of(Dalli::ElastiCache).to receive(:client).and_return(Dalli::Client.new)
|
68
|
-
|
69
68
|
expect(instance.jsonpath).to eq(jsonpath)
|
70
69
|
expect(instance.ident).to eq(ident)
|
71
70
|
expect(instance.keep_all).to eq(true)
|
@@ -105,11 +104,8 @@ describe Alephant::Sequencer do
|
|
105
104
|
expect(sequence_table).to receive(:sequence_exists)
|
106
105
|
expect(sequence_table).to receive(:sequence_for).with(ident)
|
107
106
|
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
expect_any_instance_of(Dalli::Client).to receive(:get).twice
|
112
|
-
expect_any_instance_of(Dalli::Client).to receive(:set).twice
|
107
|
+
expect(cache_client).to receive(:get).twice
|
108
|
+
expect(cache_client).to receive(:set).twice
|
113
109
|
|
114
110
|
expect(message).to receive(:body)
|
115
111
|
|
@@ -122,11 +118,8 @@ describe Alephant::Sequencer do
|
|
122
118
|
|
123
119
|
expect(described_class).to receive(:sequence_id_from).and_return(stubbed_seen_high)
|
124
120
|
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
expect_any_instance_of(Dalli::Client).to receive(:get)
|
129
|
-
expect_any_instance_of(Dalli::Client).to receive(:set)
|
121
|
+
expect(cache_client).to receive(:get)
|
122
|
+
expect(cache_client).to receive(:set)
|
130
123
|
end
|
131
124
|
|
132
125
|
it 'should not call set_last_seen' do
|
@@ -144,11 +137,8 @@ describe Alephant::Sequencer do
|
|
144
137
|
|
145
138
|
expect(described_class).to receive(:sequence_id_from).and_return(stubbed_last_seen)
|
146
139
|
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
expect_any_instance_of(Dalli::Client).to receive(:get)
|
151
|
-
expect_any_instance_of(Dalli::Client).to receive(:set)
|
140
|
+
expect(cache_client).to receive(:get)
|
141
|
+
expect(cache_client).to receive(:set)
|
152
142
|
end
|
153
143
|
|
154
144
|
it 'should not call set_last_seen(msg, last_seen_id)' do
|
@@ -166,11 +156,8 @@ describe Alephant::Sequencer do
|
|
166
156
|
|
167
157
|
expect(described_class).to receive(:sequence_id_from).and_return(stubbed_seen_low)
|
168
158
|
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
expect_any_instance_of(Dalli::Client).to receive(:get)
|
173
|
-
expect_any_instance_of(Dalli::Client).to receive(:set)
|
159
|
+
expect(cache_client).to receive(:get)
|
160
|
+
expect(cache_client).to receive(:set)
|
174
161
|
end
|
175
162
|
|
176
163
|
it 'should not call set_last_seen' do
|
@@ -206,11 +193,8 @@ describe Alephant::Sequencer do
|
|
206
193
|
|
207
194
|
expect(described_class).to receive(:sequence_id_from).and_return(stubbed_seen_high)
|
208
195
|
|
209
|
-
|
210
|
-
|
211
|
-
|
212
|
-
expect_any_instance_of(Dalli::Client).to receive(:get)
|
213
|
-
expect_any_instance_of(Dalli::Client).to receive(:set)
|
196
|
+
expect(cache_client).to receive(:get)
|
197
|
+
expect(cache_client).to receive(:set)
|
214
198
|
end
|
215
199
|
|
216
200
|
it 'should call set_last_seen(msg, last_seen_id)' do
|
@@ -226,11 +210,8 @@ describe Alephant::Sequencer do
|
|
226
210
|
before(:each) do
|
227
211
|
expect(message).to receive(:body).and_return('sequence_id' => 5)
|
228
212
|
|
229
|
-
|
230
|
-
|
231
|
-
|
232
|
-
expect_any_instance_of(Dalli::Client).to receive(:get).twice.with('ident').and_return(stubbed_last_seen)
|
233
|
-
expect_any_instance_of(Dalli::Client).to_not receive(:set)
|
213
|
+
expect(cache_client).to receive(:get).twice.with('ident').and_return(stubbed_last_seen)
|
214
|
+
expect(cache_client).to_not receive(:set)
|
234
215
|
end
|
235
216
|
|
236
217
|
it 'should read values from cache and not database' do
|
@@ -250,11 +231,8 @@ describe Alephant::Sequencer do
|
|
250
231
|
end
|
251
232
|
|
252
233
|
it 'returns sequence_table.sequence_for(ident)' do
|
253
|
-
|
254
|
-
|
255
|
-
|
256
|
-
expect_any_instance_of(Dalli::Client).to receive(:get).twice
|
257
|
-
expect_any_instance_of(Dalli::Client).to receive(:set).twice
|
234
|
+
expect(cache_client).to receive(:get).twice
|
235
|
+
expect(cache_client).to receive(:set).twice
|
258
236
|
|
259
237
|
expect(sequence_table).to receive(:sequence_exists)
|
260
238
|
|
@@ -270,11 +248,8 @@ describe Alephant::Sequencer do
|
|
270
248
|
before(:each) do
|
271
249
|
expect(described_class).to receive(:sequence_id_from).and_return(last_seen)
|
272
250
|
|
273
|
-
|
274
|
-
|
275
|
-
|
276
|
-
expect_any_instance_of(Dalli::Client).to receive(:get).twice
|
277
|
-
expect_any_instance_of(Dalli::Client).to receive(:set).twice
|
251
|
+
expect(cache_client).to receive(:get).twice
|
252
|
+
expect(cache_client).to receive(:set).twice
|
278
253
|
end
|
279
254
|
|
280
255
|
subject (:instance) do
|
@@ -308,11 +283,8 @@ describe Alephant::Sequencer do
|
|
308
283
|
|
309
284
|
expect(sequence_table).to receive(:sequence_exists)
|
310
285
|
|
311
|
-
|
312
|
-
|
313
|
-
|
314
|
-
expect_any_instance_of(Dalli::Client).to receive(:get)
|
315
|
-
expect_any_instance_of(Dalli::Client).to receive(:set)
|
286
|
+
expect(cache_client).to receive(:get)
|
287
|
+
expect(cache_client).to receive(:set)
|
316
288
|
end
|
317
289
|
|
318
290
|
subject (:instance) do
|
@@ -366,9 +338,6 @@ describe Alephant::Sequencer do
|
|
366
338
|
end
|
367
339
|
|
368
340
|
it 'verify SequenceTable#truncate!' do
|
369
|
-
expect_any_instance_of(Dalli::ElastiCache).to receive(:initialize)
|
370
|
-
expect_any_instance_of(Dalli::ElastiCache).to receive(:client).and_return(Dalli::Client.new)
|
371
|
-
|
372
341
|
expect(sequence_table).to receive(:sequence_exists)
|
373
342
|
expect(sequence_table).to receive(:truncate!)
|
374
343
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: alephant-sequencer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- BBC News
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-
|
11
|
+
date: 2018-11-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -221,7 +221,7 @@ dependencies:
|
|
221
221
|
- !ruby/object:Gem::Version
|
222
222
|
version: '0'
|
223
223
|
- !ruby/object:Gem::Dependency
|
224
|
-
name: dalli
|
224
|
+
name: dalli
|
225
225
|
requirement: !ruby/object:Gem::Requirement
|
226
226
|
requirements:
|
227
227
|
- - ">="
|
@@ -277,7 +277,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
277
277
|
version: '0'
|
278
278
|
requirements: []
|
279
279
|
rubyforge_project:
|
280
|
-
rubygems_version: 2.6.
|
280
|
+
rubygems_version: 2.6.14
|
281
281
|
signing_key:
|
282
282
|
specification_version: 4
|
283
283
|
summary: Adds sequencing functionality to Alephant.
|