redis_query_matcher 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +7 -0
  2. data/lib/redis_query_matcher.rb +31 -0
  3. metadata +71 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 649b9042f7c46601cf6bee15612a2d4b6d502e6e09ec4e1c76fa92fabe49ad25
4
+ data.tar.gz: f8561fb875de7b30d28d3807e8dfd966a7a6521ff5eb1b222c1f977580499785
5
+ SHA512:
6
+ metadata.gz: 0d9ac3d94794e1fb6da741ef8de5cceb15fc55836e5f3a288a9a2c6f6b909c432e4ccb89eb12bfa8dec11ad857674238a2ba314b9b79195e07adaf1c6f34e372
7
+ data.tar.gz: d98f69a33f175339b114d73f9f700133907498166e930d2ce394a2052bacf1384409eaa9183f7ba1b47cc80664271f6fd18f03bf022eddde7f62946588cad6ed
@@ -0,0 +1,31 @@
1
+ require "redis_commands_recorder"
2
+
3
+ RSpec::Matchers.define :make_redis_queries do |num_of_expected_queries|
4
+ supports_block_expectations
5
+
6
+ actual_queries = []
7
+
8
+ match do |actual_block|
9
+ RedisCommandsRecorder.clear
10
+
11
+ actual_block.call
12
+
13
+ actual_queries = RedisCommandsRecorder.redis_commands
14
+
15
+ @actual_num_of_queries = actual_queries.size
16
+ @expected_num_of_queries = num_of_expected_queries
17
+
18
+ expect(@actual_num_of_queries).to eq(@expected_num_of_queries)
19
+ end
20
+
21
+ failure_message do
22
+ <<~HEREDOC
23
+ Mismtach in number of redis queries!!!
24
+ Expected numbere of redis queries: #{@expected_num_of_queries}
25
+ Actual number of redis queries: #{@actual_num_of_queries}
26
+
27
+ Here are the #{@actual_num_of_queries} actual redis queries:
28
+ #{actual_queries.map(&:to_s).join(",\n ") },
29
+ HEREDOC
30
+ end
31
+ end
metadata ADDED
@@ -0,0 +1,71 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: redis_query_matcher
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Ted Yang
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2022-12-14 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rspec
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '3.9'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '3.9'
27
+ - !ruby/object:Gem::Dependency
28
+ name: pry
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '0.13'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '0.13'
41
+ description: This gem provides a RSpec matcher make_redis_queries.
42
+ email: ted.yang@procore.com
43
+ executables: []
44
+ extensions: []
45
+ extra_rdoc_files: []
46
+ files:
47
+ - lib/redis_query_matcher.rb
48
+ homepage: https://github.com/tedyangx/redis-query-matcher
49
+ licenses:
50
+ - MIT
51
+ metadata: {}
52
+ post_install_message:
53
+ rdoc_options: []
54
+ require_paths:
55
+ - lib
56
+ required_ruby_version: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - ">="
59
+ - !ruby/object:Gem::Version
60
+ version: '0'
61
+ required_rubygems_version: !ruby/object:Gem::Requirement
62
+ requirements:
63
+ - - ">="
64
+ - !ruby/object:Gem::Version
65
+ version: '0'
66
+ requirements: []
67
+ rubygems_version: 3.1.6
68
+ signing_key:
69
+ specification_version: 4
70
+ summary: Redis Query Matcher
71
+ test_files: []