rspeed 0.5.2 → 0.6.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/CHANGELOG.md +23 -0
- data/README.md +3 -3
- data/lib/rspeed.rb +1 -0
- data/lib/rspeed/database.rb +11 -0
- data/lib/rspeed/differ.rb +55 -0
- data/lib/rspeed/env.rb +8 -8
- data/lib/rspeed/logger.rb +4 -2
- data/lib/rspeed/observer.rb +8 -8
- data/lib/rspeed/redis.rb +20 -12
- data/lib/rspeed/runner.rb +4 -4
- data/lib/rspeed/splitter.rb +12 -85
- data/lib/rspeed/variable.rb +9 -10
- data/lib/rspeed/version.rb +1 -1
- data/spec/models/rspeed/database/result_spec.rb +17 -0
- data/spec/models/rspeed/differ/actual_data_spec.rb +20 -0
- data/spec/models/rspeed/differ/actual_files_spec.rb +20 -0
- data/spec/models/rspeed/differ/added_data_spec.rb +19 -0
- data/spec/models/rspeed/differ/diff_spec.rb +51 -0
- data/spec/models/rspeed/differ/removed_data_spec.rb +20 -0
- data/spec/models/rspeed/differ/removed_time_spec.rb +14 -0
- data/spec/models/rspeed/env/{name_spec.rb → app_spec.rb} +4 -4
- data/spec/models/rspeed/env/spec_path_spec.rb +19 -0
- data/spec/models/rspeed/observer/after_suite_spec.rb +6 -28
- data/spec/models/rspeed/observer/before_suite_spec.rb +7 -6
- data/spec/models/rspeed/redis/clean_spec.rb +5 -5
- data/spec/models/rspeed/redis/destroy_spec.rb +7 -15
- data/spec/models/rspeed/redis/get_spec.rb +3 -1
- data/spec/models/rspeed/redis/keys_spec.rb +6 -22
- data/spec/models/rspeed/redis/list_spec.rb +19 -0
- data/spec/models/rspeed/redis/profiles_content_spec.rb +19 -0
- data/spec/models/rspeed/redis/set_spec.rb +3 -1
- data/spec/models/rspeed/redis/specs_finished_spec.rb +2 -2
- data/spec/models/rspeed/redis/specs_initiated_spec.rb +1 -1
- data/spec/models/rspeed/runner/run_spec.rb +9 -13
- data/spec/models/rspeed/splitter/append_spec.rb +1 -3
- data/spec/models/rspeed/splitter/consolidate_spec.rb +23 -0
- data/spec/models/rspeed/splitter/first_pipe_spec.rb +2 -4
- data/spec/models/rspeed/splitter/need_warm_question_spec.rb +8 -10
- data/spec/models/rspeed/splitter/pipe_files_spec.rb +3 -8
- data/spec/models/rspeed/splitter/split_spec.rb +5 -43
- data/spec/models/rspeed/variable/append_app_name_spec.rb +33 -0
- data/spec/models/rspeed/variable/key_spec.rb +4 -4
- data/spec/models/rspeed/variable/pipe_spec.rb +23 -0
- data/spec/models/rspeed/variable/pipes_pattern_spec.rb +1 -1
- data/spec/models/rspeed/variable/profile_pattern_spec.rb +1 -1
- data/spec/models/rspeed/variable/profile_spec.rb +23 -0
- data/spec/models/rspeed/variable/result_spec.rb +5 -5
- data/spec/spec_helper.rb +2 -2
- metadata +33 -25
- data/spec/fixtures/new_spec.rb.csv +0 -1
- data/spec/models/rspeed/env/result_key_spec.rb +0 -19
- data/spec/models/rspeed/splitter/actual_examples_spec.rb +0 -26
- data/spec/models/rspeed/splitter/append_question_spec.rb +0 -37
- data/spec/models/rspeed/splitter/diff_spec.rb +0 -30
- data/spec/models/rspeed/splitter/get_spec.rb +0 -60
- data/spec/models/rspeed/splitter/rename_spec.rb +0 -25
- data/spec/models/rspeed/variable/append_name_spec.rb +0 -19
- data/spec/models/rspeed/variable/default_partner_spec.rb +0 -5
- data/spec/models/rspeed/variable/pipe_name_spec.rb +0 -15
- data/spec/models/rspeed/variable/pipe_profile_spec.rb +0 -15
data/lib/rspeed/variable.rb
CHANGED
@@ -4,28 +4,27 @@ module RSpeed
|
|
4
4
|
module Variable
|
5
5
|
module_function
|
6
6
|
|
7
|
-
|
8
|
-
|
9
|
-
PROFILE_PATTERN = 'rspeed_profile_*'
|
7
|
+
PIPES_PATTERN = 'rspeed:pipe_*'
|
8
|
+
PROFILE_PATTERN = 'rspeed:profile_*'
|
10
9
|
|
11
|
-
def
|
12
|
-
[value, RSpeed::Env.
|
10
|
+
def append_app_name(value, plus: nil)
|
11
|
+
[value, RSpeed::Env.app, plus].compact.join('_')
|
13
12
|
end
|
14
13
|
|
15
14
|
def key(number)
|
16
|
-
|
15
|
+
append_app_name('rspeed', plus: number).to_sym
|
17
16
|
end
|
18
17
|
|
19
18
|
def result
|
20
|
-
|
19
|
+
append_app_name('rspeed')
|
21
20
|
end
|
22
21
|
|
23
|
-
def
|
24
|
-
|
22
|
+
def pipe
|
23
|
+
append_app_name('rspeed:pipe', plus: format('%02d', RSpeed::Env.pipe))
|
25
24
|
end
|
26
25
|
|
27
26
|
def profile
|
28
|
-
|
27
|
+
append_app_name('rspeed:profile', plus: format('%02d', RSpeed::Env.pipe))
|
29
28
|
end
|
30
29
|
end
|
31
30
|
end
|
data/lib/rspeed/version.rb
CHANGED
@@ -0,0 +1,17 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
RSpec.describe RSpeed::Database, '#result' do
|
4
|
+
let!(:redis) { redis_object }
|
5
|
+
|
6
|
+
before do
|
7
|
+
redis.rpush('rspeed', { file: '1_spec.rb', time: 1.0 }.to_json)
|
8
|
+
redis.rpush('rspeed', { file: '2_spec.rb', time: 2.0 }.to_json)
|
9
|
+
end
|
10
|
+
|
11
|
+
it 'returns the results data as json' do
|
12
|
+
expect(described_class.result).to eq [
|
13
|
+
{ file: '1_spec.rb', time: 1.0 },
|
14
|
+
{ file: '2_spec.rb', time: 2.0 },
|
15
|
+
]
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
RSpec.describe RSpeed::Differ, '#actual_data' do
|
4
|
+
let!(:files) { ['./spec/fixtures/1_spec.rb:4', './spec/fixtures/1_spec.rb:6', './spec/fixtures/new_spec.rb:1'] }
|
5
|
+
|
6
|
+
let!(:result) do
|
7
|
+
[
|
8
|
+
{ file: './spec/fixtures/1_spec.rb:4', time: 1.4 },
|
9
|
+
{ file: './spec/fixtures/1_spec.rb:6', time: 1.6 },
|
10
|
+
{ file: './spec/fixtures/2_spec.rb:4', time: 2.4 },
|
11
|
+
]
|
12
|
+
end
|
13
|
+
|
14
|
+
it 'returns only consolidated data still existent as spec' do
|
15
|
+
expect(described_class.actual_data(files: files, result: result)).to eq [
|
16
|
+
{ file: './spec/fixtures/1_spec.rb:4', time: 1.4 },
|
17
|
+
{ file: './spec/fixtures/1_spec.rb:6', time: 1.6 },
|
18
|
+
]
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
RSpec.describe RSpeed::Differ, '#actual_files' do
|
4
|
+
it 'returns all examples' do
|
5
|
+
expect(described_class.actual_files(spec_path: './spec/fixtures/**/*_spec.rb')).to eq [
|
6
|
+
'./spec/fixtures/1_spec.rb:4',
|
7
|
+
'./spec/fixtures/1_spec.rb:6',
|
8
|
+
'./spec/fixtures/1_spec.rb:8',
|
9
|
+
'./spec/fixtures/2_spec.rb:4',
|
10
|
+
]
|
11
|
+
end
|
12
|
+
|
13
|
+
it 'does not raise when no file match' do
|
14
|
+
expect(described_class.actual_files(spec_path: './spec/fixtures/**/*_missing.rb')).to eq []
|
15
|
+
end
|
16
|
+
|
17
|
+
it 'does not raise when file is empty' do
|
18
|
+
expect(described_class.actual_files(spec_path: './spec/fixtures/**/empty.rb')).to eq []
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
RSpec.describe RSpeed::Differ, '#added_data' do
|
4
|
+
let!(:files) { ['./spec/fixtures/1_spec.rb:4', './spec/fixtures/1_spec.rb:6', './spec/fixtures/new_spec.rb:4'] }
|
5
|
+
|
6
|
+
let!(:result) do
|
7
|
+
[
|
8
|
+
{ file: './spec/fixtures/1_spec.rb:4', time: 1.4 },
|
9
|
+
{ file: './spec/fixtures/1_spec.rb:6', time: 1.6 },
|
10
|
+
{ file: './spec/fixtures/2_spec.rb:4', time: 2.4 },
|
11
|
+
]
|
12
|
+
end
|
13
|
+
|
14
|
+
it 'returns the added data files with time as zero since we do not know yet' do
|
15
|
+
expect(described_class.added_data(files: files, result: result)).to eq [
|
16
|
+
{ file: './spec/fixtures/new_spec.rb:4', time: 0 },
|
17
|
+
]
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,51 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'support/env_mock'
|
4
|
+
|
5
|
+
RSpec.describe RSpeed::Differ, '#diff' do
|
6
|
+
let!(:redis) { redis_object }
|
7
|
+
|
8
|
+
before do
|
9
|
+
redis.rpush('rspeed', { file: './spec/fixtures/1_spec.rb:4', time: '1.4' }.to_json)
|
10
|
+
redis.rpush('rspeed', { file: './spec/fixtures/1_spec.rb:6', time: '1.6' }.to_json)
|
11
|
+
redis.rpush('rspeed', { file: './spec/fixtures/1_spec.rb:8', time: '1.8' }.to_json)
|
12
|
+
redis.rpush('rspeed', { file: './spec/fixtures/2_spec.rb:4', time: '2.4' }.to_json)
|
13
|
+
redis.rpush('rspeed', { file: './spec/fixtures/x_spec.rb:1', time: 3 }.to_json)
|
14
|
+
redis.rpush('rspeed', { file: './spec/fixtures/2_spec.rb:666', time: '6' }.to_json)
|
15
|
+
|
16
|
+
File.open('spec/fixtures/new_spec.rb', 'a') { |file| file.write('it') }
|
17
|
+
end
|
18
|
+
|
19
|
+
after { delete_file('spec/fixtures/new_spec.rb') }
|
20
|
+
|
21
|
+
it 'removes removed specs and adds new spec and keeps keeped specs based on rspeed key values' do
|
22
|
+
EnvMock.mock(rspeed_spec_path: './spec/fixtures/*_spec.rb') do
|
23
|
+
expect(described_class.diff).to eq [
|
24
|
+
{ file: './spec/fixtures/1_spec.rb:4', time: '1.4' },
|
25
|
+
{ file: './spec/fixtures/1_spec.rb:6', time: '1.6' },
|
26
|
+
{ file: './spec/fixtures/1_spec.rb:8', time: '1.8' },
|
27
|
+
{ file: './spec/fixtures/2_spec.rb:4', time: '2.4' },
|
28
|
+
{ file: './spec/fixtures/new_spec.rb:1', time: 0 },
|
29
|
+
]
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
context 'when has duplicated example' do
|
34
|
+
before do
|
35
|
+
redis.rpush('rspeed', { file: './spec/fixtures/1_spec.rb:4', time: '1.4' }.to_json)
|
36
|
+
redis.rpush('rspeed', { file: './spec/fixtures/1_spec.rb:4', time: '1.4' }.to_json)
|
37
|
+
end
|
38
|
+
|
39
|
+
it 'is removed' do
|
40
|
+
EnvMock.mock(rspeed_spec_path: './spec/fixtures/*_spec.rb') do
|
41
|
+
expect(described_class.diff).to eq [
|
42
|
+
{ file: './spec/fixtures/1_spec.rb:4', time: '1.4' },
|
43
|
+
{ file: './spec/fixtures/1_spec.rb:6', time: '1.6' },
|
44
|
+
{ file: './spec/fixtures/1_spec.rb:8', time: '1.8' },
|
45
|
+
{ file: './spec/fixtures/2_spec.rb:4', time: '2.4' },
|
46
|
+
{ file: './spec/fixtures/new_spec.rb:1', time: 0 },
|
47
|
+
]
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
RSpec.describe RSpeed::Differ, '#removed_data' do
|
4
|
+
let!(:files) { ['./spec/fixtures/2_spec.rb:4'] }
|
5
|
+
|
6
|
+
let!(:result) do
|
7
|
+
[
|
8
|
+
{ file: './spec/fixtures/1_spec.rb:4', time: 1.4 },
|
9
|
+
{ file: './spec/fixtures/1_spec.rb:6', time: 1.6 },
|
10
|
+
{ file: './spec/fixtures/2_spec.rb:4', time: 2.4 },
|
11
|
+
]
|
12
|
+
end
|
13
|
+
|
14
|
+
it 'returns only removed data' do
|
15
|
+
expect(described_class.removed_data(files: files, result: result)).to eq [
|
16
|
+
{ file: './spec/fixtures/1_spec.rb:4', time: 1.4 },
|
17
|
+
{ file: './spec/fixtures/1_spec.rb:6', time: 1.6 },
|
18
|
+
]
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
RSpec.describe RSpeed::Differ, '#removed_time' do
|
4
|
+
let!(:data) do
|
5
|
+
[
|
6
|
+
{ file: './spec/fixtures/1_spec.rb:4', time: 1.4 },
|
7
|
+
{ file: './spec/fixtures/1_spec.rb:6', time: 1.6 },
|
8
|
+
]
|
9
|
+
end
|
10
|
+
|
11
|
+
it 'returns the sum of removed examples' do
|
12
|
+
expect(described_class.removed_time(data: data)).to be(3.0)
|
13
|
+
end
|
14
|
+
end
|
@@ -2,16 +2,16 @@
|
|
2
2
|
|
3
3
|
require 'support/env_mock'
|
4
4
|
|
5
|
-
RSpec.describe RSpeed::Env, '.
|
5
|
+
RSpec.describe RSpeed::Env, '.app' do
|
6
6
|
context 'when env is given' do
|
7
7
|
it 'returns the env value' do
|
8
|
-
EnvMock.mock(
|
9
|
-
expect(described_class.
|
8
|
+
EnvMock.mock(rspeed_app: 'app') do
|
9
|
+
expect(described_class.app).to eq('app')
|
10
10
|
end
|
11
11
|
end
|
12
12
|
end
|
13
13
|
|
14
14
|
context 'when env is not given' do
|
15
|
-
it { expect(described_class.
|
15
|
+
it { expect(described_class.app).to be(nil) }
|
16
16
|
end
|
17
17
|
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'support/env_mock'
|
4
|
+
|
5
|
+
RSpec.describe RSpeed::Env, '.spec_path' do
|
6
|
+
context 'when env is given' do
|
7
|
+
it 'is returned' do
|
8
|
+
EnvMock.mock(rspeed_spec_path: './test/**/*test.rb') do
|
9
|
+
expect(described_class.spec_path).to eq('./test/**/*test.rb')
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
context 'when env is not given' do
|
15
|
+
it 'returns the default' do
|
16
|
+
expect(described_class.spec_path).to eq('./spec/**/*spec.rb')
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -1,51 +1,29 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
RSpec.describe RSpeed::Observer, '.after_suite' do
|
4
|
-
let!(:splitter) { instance_double('RSpeed::Splitter') }
|
5
|
-
|
6
|
-
before do
|
7
|
-
allow(RSpeed::Splitter).to receive(:new).and_return(splitter)
|
8
|
-
allow(splitter).to receive(:append)
|
9
|
-
end
|
10
|
-
|
11
|
-
context 'when append? returns false' do
|
12
|
-
before do
|
13
|
-
allow(splitter).to receive(:append?).and_return(false)
|
14
|
-
allow(splitter).to receive(:rename)
|
15
|
-
end
|
16
|
-
|
17
|
-
it 'does not append the time result' do
|
18
|
-
described_class.after_suite
|
19
|
-
|
20
|
-
expect(splitter).not_to have_received(:append)
|
21
|
-
end
|
22
|
-
end
|
23
|
-
|
24
4
|
context 'when all specs is not finished' do
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
end
|
5
|
+
let!(:redis) { redis_object }
|
6
|
+
|
7
|
+
before { allow(RSpeed::Redis).to receive(:specs_finished?).and_return(false) }
|
29
8
|
|
30
9
|
it 'sets true on pipe key to indicates that its finished' do
|
31
10
|
described_class.after_suite
|
32
11
|
|
33
|
-
expect(
|
12
|
+
expect(redis.get('rspeed:pipe_01')).to eq('true')
|
34
13
|
end
|
35
14
|
end
|
36
15
|
|
37
16
|
context 'when all specs finished' do
|
38
17
|
before do
|
39
|
-
allow(splitter).to receive(:append?)
|
40
18
|
allow(RSpeed::Redis).to receive(:specs_finished?).and_return(true)
|
41
|
-
allow(
|
19
|
+
allow(RSpeed::Splitter).to receive(:consolidate)
|
42
20
|
allow(RSpeed::Redis).to receive(:clean)
|
43
21
|
end
|
44
22
|
|
45
23
|
it 'consolidates profiles' do
|
46
24
|
described_class.after_suite
|
47
25
|
|
48
|
-
expect(
|
26
|
+
expect(RSpeed::Splitter).to have_received(:consolidate)
|
49
27
|
end
|
50
28
|
|
51
29
|
it 'destroyes pipe finished flag keys' do
|
@@ -4,23 +4,24 @@ RSpec.describe RSpeed::Observer, '.before_suite' do
|
|
4
4
|
let!(:redis) { redis_object }
|
5
5
|
|
6
6
|
before { truncate_profiles }
|
7
|
+
|
7
8
|
after { truncate_profiles }
|
8
9
|
|
9
10
|
it 'cleans only the current pipe profile' do
|
10
|
-
redis.
|
11
|
-
redis.
|
11
|
+
redis.rpush('rspeed:profile_01', { file: '1_spec.rb', time: 1 }.to_json)
|
12
|
+
redis.rpush('rspeed:profile_02', { file: '2_spec.rb', time: 2 }.to_json)
|
12
13
|
|
13
14
|
described_class.before_suite
|
14
15
|
|
15
|
-
expect(redis.keys).to eq ['
|
16
|
+
expect(redis.keys).to eq ['rspeed:profile_02']
|
16
17
|
end
|
17
18
|
|
18
19
|
it 'cleans the pipe flag' do
|
19
|
-
redis.set('
|
20
|
-
redis.set('
|
20
|
+
redis.set('rspeed:pipe_01', true)
|
21
|
+
redis.set('rspeed:pipe_02', true)
|
21
22
|
|
22
23
|
described_class.before_suite
|
23
24
|
|
24
|
-
expect(redis.keys).to eq ['
|
25
|
+
expect(redis.keys).to eq ['rspeed:pipe_02']
|
25
26
|
end
|
26
27
|
end
|
@@ -2,19 +2,19 @@
|
|
2
2
|
|
3
3
|
RSpec.describe RSpeed::Redis, '.clean' do
|
4
4
|
it 'destroys all keys that keeps the pipe finished info' do
|
5
|
-
|
6
|
-
|
5
|
+
redis_object.set('rspeed:pipe_01', true)
|
6
|
+
redis_object.set('rspeed:pipe_02', true)
|
7
7
|
|
8
8
|
described_class.clean
|
9
9
|
|
10
|
-
expect(
|
10
|
+
expect(redis_object.keys('*')).to eq([])
|
11
11
|
end
|
12
12
|
|
13
13
|
it 'destroys the pipe profiles' do
|
14
|
-
|
14
|
+
redis_object.set('rspeed:profile_01', true)
|
15
15
|
|
16
16
|
described_class.clean
|
17
17
|
|
18
|
-
expect(
|
18
|
+
expect(redis_object.keys('*')).to eq([])
|
19
19
|
end
|
20
20
|
end
|
@@ -1,29 +1,21 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
RSpec.describe RSpeed::Redis, '#destroy' do
|
4
|
-
let!(:redis) { described_class }
|
5
|
-
|
6
4
|
before do
|
7
|
-
|
8
|
-
|
9
|
-
|
5
|
+
redis_object.set('rspeed', '{}')
|
6
|
+
redis_object.set('rspeed_1', '{}')
|
7
|
+
redis_object.set('rspeed_2', '{}')
|
10
8
|
end
|
11
9
|
|
12
10
|
it 'destroys via wildcard' do
|
13
|
-
|
11
|
+
described_class.destroy(pattern: 'rspeed_*')
|
14
12
|
|
15
|
-
expect(
|
13
|
+
expect(redis_object.keys('*')).to eq %w[rspeed]
|
16
14
|
end
|
17
15
|
|
18
16
|
it 'destroys via single name' do
|
19
|
-
|
20
|
-
|
21
|
-
expect(redis.keys('*')).to eq %w[rspeed_1 rspeed_2]
|
22
|
-
end
|
23
|
-
|
24
|
-
it 'destroys default partner when no pattern is given' do
|
25
|
-
redis.destroy
|
17
|
+
described_class.destroy(pattern: 'rspeed')
|
26
18
|
|
27
|
-
expect(
|
19
|
+
expect(redis_object.keys('*')).to eq %w[rspeed_1 rspeed_2]
|
28
20
|
end
|
29
21
|
end
|
@@ -1,8 +1,10 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
RSpec.describe RSpeed::Redis, '.set' do
|
4
|
+
let!(:redis) { redis_object }
|
5
|
+
|
4
6
|
it 'sets a key on redis' do
|
5
|
-
|
7
|
+
redis_object.set('key', 'value')
|
6
8
|
|
7
9
|
expect(described_class.get('key')).to eq('value')
|
8
10
|
end
|
@@ -1,29 +1,13 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
RSpec.describe RSpeed::Redis, '.keys' do
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
described_class.set('rspeed_1', 'value_1')
|
9
|
-
described_class.set('rspeed_2', 'value_2')
|
10
|
-
described_class.set('rspeed_3', 'value_3')
|
11
|
-
end
|
12
|
-
|
13
|
-
it 'shows keys' do
|
14
|
-
expect(redis.keys).to eq %w[rspeed_1 rspeed_2 rspeed_3]
|
15
|
-
end
|
4
|
+
before do
|
5
|
+
redis_object.set('custom_key_1', 'value_1')
|
6
|
+
redis_object.set('custom_key_2', 'value_2')
|
7
|
+
redis_object.set('custom_key_3', 'value_3')
|
16
8
|
end
|
17
9
|
|
18
|
-
|
19
|
-
|
20
|
-
described_class.set('custom_key_1', 'value_1')
|
21
|
-
described_class.set('custom_key_2', 'value_2')
|
22
|
-
described_class.set('custom_key_3', 'value_3')
|
23
|
-
end
|
24
|
-
|
25
|
-
it 'shows keys' do
|
26
|
-
expect(redis.keys('custom_key_*')).to eq %w[custom_key_1 custom_key_2 custom_key_3]
|
27
|
-
end
|
10
|
+
it 'shows keys' do
|
11
|
+
expect(described_class.keys(pattern: 'custom_key_*')).to eq %w[custom_key_1 custom_key_2 custom_key_3]
|
28
12
|
end
|
29
13
|
end
|