rspeckled 1.1.3 → 1.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +2 -1
- data.tar.gz.sig +0 -0
- data/lib/rspeckled/plugins.rb +1 -0
- data/lib/rspeckled/plugins/hooks/redis.rb +24 -0
- data/lib/rspeckled/plugins/hooks/sidekiq.rb +25 -13
- data/lib/rspeckled/support.rb +8 -0
- data/lib/rspeckled/version.rb +1 -1
- metadata +4 -3
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8fe74e754785c816902f45bb183ccb508cd4f083c1a4b7936aad5515ccbb7e07
|
4
|
+
data.tar.gz: 33272063f72e86e7c57e13c9d77630f3487b00c0298a70c089f20c80af520c55
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9ee06b9533d6eb4e680cb4a5a5d3e7929f0787c2b0ef76872dd90924d04012599d1d670dd83375d64dc889782c249ec7da02f02fb8ef3e0724702e2bd5d53ca6
|
7
|
+
data.tar.gz: b6ae744f8db4e05cff9118c9dce7748536b449780c788b8a6081f320c6f781947e8fba0d731f03e461bd66e280511d6edb1c377aa4365d3fe9a3db290f385a83
|
checksums.yaml.gz.sig
CHANGED
@@ -1 +1,2 @@
|
|
1
|
-
|
1
|
+
Qp��w����O��%6��[�2����8M���V�V<�1*$���g���Of�c_��=��ҫП͗������i��J(�
|
2
|
+
�(���y�;t�*�Qu﹙@�0a���?;��&�` ɧ�����������s�?��N55=[j2�?�?�%.F���^��Q�A�ƨH@j�0�w�71�k����X�s~��^��1�agާ�?���1�|�)s��3�����{�:��� ��M�4���rd#^xL��[ c�4���w�WU�H�1�r�?!�TȊ�:ʻi�:zWY�7o�1�CX`���_�W�>�L�:�i�O=
|
data.tar.gz.sig
CHANGED
Binary file
|
data/lib/rspeckled/plugins.rb
CHANGED
@@ -79,6 +79,7 @@ require 'rspeckled/plugins/hooks/dox'
|
|
79
79
|
require 'rspeckled/plugins/hooks/elasticsearch'
|
80
80
|
require 'rspeckled/plugins/hooks/factory_bot' if defined?(::FactoryBot)
|
81
81
|
require 'rspeckled/plugins/hooks/foreign_keys'
|
82
|
+
require 'rspeckled/plugins/hooks/redis' if defined?(::Redis)
|
82
83
|
require 'rspeckled/plugins/hooks/referehencible'
|
83
84
|
require 'rspeckled/plugins/hooks/rspec_mocks'
|
84
85
|
require 'rspeckled/plugins/hooks/selenium_webdriver'
|
@@ -0,0 +1,24 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
RSpec.configure do |config|
|
4
|
+
config.before(:each, :cache => lambda { |v| !!v }) do |example|
|
5
|
+
config.rspeckled_logger.debug("Before Each - Start - #{__FILE__}")
|
6
|
+
|
7
|
+
cache_metadata = example.metadata[:cache]
|
8
|
+
|
9
|
+
# rubocop:disable Metrics/BlockNesting
|
10
|
+
if cache_metadata[:reset]
|
11
|
+
client = ::Redis.new(:host => '127.0.0.1', :port => 6379, :db => 2) # rubocop:disable Style/IpAddresses
|
12
|
+
reset_patterns = Array(cache_metadata[:reset])
|
13
|
+
|
14
|
+
client.keys.each do |key|
|
15
|
+
next unless reset_patterns.any? { |regex| key.match?(regex) }
|
16
|
+
|
17
|
+
client.del(key)
|
18
|
+
end
|
19
|
+
end
|
20
|
+
# rubocop:enable Metrics/BlockNesting
|
21
|
+
|
22
|
+
config.rspeckled_logger.debug("Before Each - End - #{__FILE__}")
|
23
|
+
end
|
24
|
+
end
|
@@ -1,27 +1,39 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
SIDEKIQ_BATCH_CALLBACK_PATTERN = /\Ab\-[a-zA-Z0-9_\-]{14}\z/
|
4
|
+
SIDEKIQ_BATCH_DATA_PATTERN = /\Abatches\z/
|
5
|
+
SIDEKIQ_BATCH_JOBS_PATTERN = /\Ab\-[a-zA-Z0-9_\-]{14}-jids\z/
|
6
|
+
SIDEKIQ_LIMITER_DATA_PATTERN = /\Almtr-c-/
|
7
|
+
SIDEKIQ_LIMITER_JOBS_PATTERN = /\Almtr-cfree-/
|
8
|
+
|
3
9
|
RSpec.configure do |config|
|
4
10
|
config.before(:each, :queue => lambda { |v| !!v }) do |example|
|
5
11
|
config.rspeckled_logger.debug("Before Each - Start - #{__FILE__}")
|
6
12
|
|
13
|
+
# Changes Any Limiters Created to Be Unlimited
|
14
|
+
if defined?(::Sidekiq::Limiter)
|
15
|
+
allow(::Sidekiq::Limiter).to receive(:concurrent)
|
16
|
+
.and_return(::Sidekiq::Limiter::Unlimited.new)
|
17
|
+
allow(::Sidekiq::Limiter).to receive(:bucket)
|
18
|
+
.and_return(::Sidekiq::Limiter::Unlimited.new)
|
19
|
+
allow(::Sidekiq::Limiter).to receive(:window)
|
20
|
+
.and_return(::Sidekiq::Limiter::Unlimited.new)
|
21
|
+
end
|
22
|
+
|
7
23
|
# Clears out the jobs for tests using the fake testing
|
8
24
|
::Sidekiq::Worker.clear_all
|
9
25
|
::Sidekiq::Queues.clear_all
|
10
26
|
|
11
|
-
# Sidekiq Enterprise Doesn't Like Having the Cache Cleared Between Runs
|
12
27
|
# rubocop:disable Metrics/BlockNesting
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
client.keys.each do |key|
|
23
|
-
client.del(key)
|
24
|
-
end
|
28
|
+
::Sidekiq.redis do |client|
|
29
|
+
client.keys.each do |key|
|
30
|
+
next unless key.match?(SIDEKIQ_BATCH_CALLBACK_PATTERN) ||
|
31
|
+
key.match?(SIDEKIQ_BATCH_DATA_PATTERN) ||
|
32
|
+
key.match?(SIDEKIQ_BATCH_JOBS_PATTERN) ||
|
33
|
+
key.match?(SIDEKIQ_LIMITER_DATA_PATTERN) ||
|
34
|
+
key.match?(SIDEKIQ_LIMITER_JOBS_PATTERN)
|
35
|
+
|
36
|
+
client.del(key)
|
25
37
|
end
|
26
38
|
end
|
27
39
|
# rubocop:enable Metrics/BlockNesting
|
data/lib/rspeckled/support.rb
CHANGED
@@ -118,6 +118,14 @@ RSpec.configure do |config|
|
|
118
118
|
# Make all randomization deterministic based on the random run order seed
|
119
119
|
Kernel.srand config.seed
|
120
120
|
|
121
|
+
##############################################################################
|
122
|
+
# CUSTOM METADATA TYPES
|
123
|
+
##############################################################################
|
124
|
+
|
125
|
+
config.define_derived_metadata(:file_path => %r{spec/(jobs|workers)}) do |metadata|
|
126
|
+
metadata[:queue] = true if metadata[:queue].nil?
|
127
|
+
end
|
128
|
+
|
121
129
|
##############################################################################
|
122
130
|
# PERSISTENT FAILURES
|
123
131
|
##############################################################################
|
data/lib/rspeckled/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rspeckled
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- thegranddesign
|
@@ -35,7 +35,7 @@ cert_chain:
|
|
35
35
|
eUgMp+qKjyM1NGj/222soSUpWqOE16L23vv8sWIbMIADdR8dephQ6jMovYylUmE5
|
36
36
|
KHp+JJQviSN0i4z8gVL2zloo+xZf791LiJH8Kcjpx43jhg0WdR4=
|
37
37
|
-----END CERTIFICATE-----
|
38
|
-
date: 2018-
|
38
|
+
date: 2018-11-04 00:00:00.000000000 Z
|
39
39
|
dependencies:
|
40
40
|
- !ruby/object:Gem::Dependency
|
41
41
|
name: rspec
|
@@ -164,6 +164,7 @@ files:
|
|
164
164
|
- lib/rspeckled/plugins/hooks/factory_bot.rb
|
165
165
|
- lib/rspeckled/plugins/hooks/foreign_keys.rb
|
166
166
|
- lib/rspeckled/plugins/hooks/garbage_collection.rb
|
167
|
+
- lib/rspeckled/plugins/hooks/redis.rb
|
167
168
|
- lib/rspeckled/plugins/hooks/referehencible.rb
|
168
169
|
- lib/rspeckled/plugins/hooks/request.rb
|
169
170
|
- lib/rspeckled/plugins/hooks/rspec_mocks.rb
|
@@ -209,7 +210,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
209
210
|
version: '0'
|
210
211
|
requirements: []
|
211
212
|
rubyforge_project:
|
212
|
-
rubygems_version: 2.7.
|
213
|
+
rubygems_version: 2.7.6
|
213
214
|
signing_key:
|
214
215
|
specification_version: 4
|
215
216
|
summary: Stop Copying and Pasting Your RSpec Configuration
|
metadata.gz.sig
CHANGED
Binary file
|