rspeckled 1.1.3 → 1.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
- 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
|