gruf-rspec 0.6.0 → 1.0.1
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 +9 -0
- data/README.md +4 -4
- data/gruf-rspec.gemspec +4 -8
- data/lib/gruf/rspec/version.rb +1 -1
- data/lib/gruf/rspec.rb +5 -13
- metadata +23 -62
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: da5399faedb46136f39343dc5cb8209be2725511f3617d2db5e47a384851e416
|
4
|
+
data.tar.gz: 8ce277be009832d10fc9b008aaec9c21470ec1460faf40ee6bd393c27b058ac0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d9d5fcfa3941a82dc417c39913f62de81860da536fad5456aac2ffea21b500b869edfd459c12139e40bde003b328e1e49f868c98920c3fcf2e416aaab6311749
|
7
|
+
data.tar.gz: 2510df3deac182765e53a54beb62fffce7600a1ed28604e879be154cb98abeaec7091544bb057897e49cb99189975057ea78b51f24bec1f69ac96b1aca02e249
|
data/CHANGELOG.md
CHANGED
@@ -2,6 +2,15 @@ Changelog for the gruf-rspec gem.
|
|
2
2
|
|
3
3
|
### Pending release
|
4
4
|
|
5
|
+
### 1.0.1
|
6
|
+
|
7
|
+
- [#23] Only depend on rspec-core/rspec-expectations
|
8
|
+
|
9
|
+
### 1.0.0
|
10
|
+
|
11
|
+
- Add support for Ruby 3.2, 3.3
|
12
|
+
- Drop support for Ruby 2.7 (EOL March 2023)
|
13
|
+
|
5
14
|
### 0.6.0
|
6
15
|
|
7
16
|
- Add better support for Gruf 2.15+ autoloading in a Rails test environment
|
data/README.md
CHANGED
@@ -11,7 +11,7 @@ Assistance helpers and custom type for easy testing [Gruf](https://github.com/bi
|
|
11
11
|
gem 'gruf-rspec'
|
12
12
|
```
|
13
13
|
|
14
|
-
Note that this gem requires at least Ruby
|
14
|
+
Note that this gem requires at least Ruby 3.0+, Gruf 2.5.1+, and RSpec 3.8+.
|
15
15
|
|
16
16
|
## Usage
|
17
17
|
|
@@ -86,7 +86,7 @@ describe 'testing an error' do
|
|
86
86
|
|
87
87
|
subject { run_rpc(:GetThing, request_proto) }
|
88
88
|
|
89
|
-
it '
|
89
|
+
it 'fails with the appropriate error' do
|
90
90
|
expect { subject }.to raise_rpc_error(GRPC::InvalidArgument)
|
91
91
|
end
|
92
92
|
end
|
@@ -95,7 +95,7 @@ end
|
|
95
95
|
Or further, even check your serialized error that is passed in metadata:
|
96
96
|
|
97
97
|
```ruby
|
98
|
-
it '
|
98
|
+
it 'fails with the appropriate error code' do
|
99
99
|
expect { subject }.to raise_rpc_error(GRPC::InvalidArgument).with_serialized { |err|
|
100
100
|
expect(err).to be_a(MyCustomErrorClass)
|
101
101
|
expect(err.error_code).to eq 'invalid_request'
|
@@ -114,7 +114,7 @@ Note that when using `with_serialized`, you _must_ pass the block with `{ }`, no
|
|
114
114
|
### RSpec Controller Matcher Configuration
|
115
115
|
|
116
116
|
By default, the type matcher for Gruf controllers matches in `/spec/rpc`. You can customize this by configuring it
|
117
|
-
in the `Gruf::Rspec`
|
117
|
+
in the `Gruf::Rspec` configuration block like so:
|
118
118
|
|
119
119
|
```ruby
|
120
120
|
Gruf::Rspec.configure do |c|
|
data/gruf-rspec.gemspec
CHANGED
@@ -28,19 +28,15 @@ Gem::Specification.new do |spec|
|
|
28
28
|
spec.description = 'RSpec assistance library for gruf, including testing helpers'
|
29
29
|
spec.homepage = 'https://github.com/bigcommerce/gruf-rspec'
|
30
30
|
|
31
|
-
spec.required_ruby_version = '>=
|
31
|
+
spec.required_ruby_version = '>= 3.0', '< 4'
|
32
32
|
spec.metadata['rubygems_mfa_required'] = 'true'
|
33
33
|
|
34
34
|
spec.files = Dir['README.md', 'CHANGELOG.md', 'CODE_OF_CONDUCT.md', 'lib/**/*', 'gruf-rspec.gemspec']
|
35
35
|
spec.require_paths = %w[lib]
|
36
36
|
|
37
|
-
spec.add_development_dependency 'bundler-audit', '>= 0.6'
|
38
|
-
spec.add_development_dependency 'pry', '>= 0.13'
|
39
|
-
spec.add_development_dependency 'rspec_junit_formatter', '>= 0.4'
|
40
|
-
spec.add_development_dependency 'rubocop', '>= 0.82'
|
41
|
-
spec.add_development_dependency 'simplecov', '>= 0.15'
|
42
|
-
|
43
37
|
spec.add_runtime_dependency 'gruf', '~> 2.5', '>= 2.5.1'
|
44
|
-
spec.add_runtime_dependency '
|
38
|
+
spec.add_runtime_dependency 'rake', '>= 12.3'
|
39
|
+
spec.add_runtime_dependency 'rspec-core', '>= 3.8'
|
40
|
+
spec.add_runtime_dependency 'rspec-expectations', '>= 3.8'
|
45
41
|
spec.add_runtime_dependency 'zeitwerk', '>= 2'
|
46
42
|
end
|
data/lib/gruf/rspec/version.rb
CHANGED
data/lib/gruf/rspec.rb
CHANGED
@@ -15,16 +15,8 @@
|
|
15
15
|
# COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
|
16
16
|
# OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
17
17
|
#
|
18
|
-
|
19
|
-
|
20
|
-
require 'rspec/expectations'
|
21
|
-
GRUF_RSPEC_NAMESPACE = RSpec
|
22
|
-
GRUF_RSPEC_RUNNER = RSpec
|
23
|
-
rescue LoadError # old rspec compat
|
24
|
-
require 'spec'
|
25
|
-
GRUF_RSPEC_NAMESPACE = Spec
|
26
|
-
GRUF_RSPEC_RUNNER = Spec::Runner
|
27
|
-
end
|
18
|
+
require 'rspec/core'
|
19
|
+
require 'rspec/expectations'
|
28
20
|
|
29
21
|
# use Zeitwerk to lazily autoload all the files in the lib directory
|
30
22
|
require 'zeitwerk'
|
@@ -58,7 +50,7 @@ rescue LoadError
|
|
58
50
|
end
|
59
51
|
require_relative 'rspec/railtie' if defined?(::Rails::Railtie)
|
60
52
|
|
61
|
-
|
53
|
+
RSpec.configure do |config|
|
62
54
|
config.include Gruf::Rspec::Helpers
|
63
55
|
|
64
56
|
config.define_derived_metadata(file_path: Regexp.new(Gruf::Rspec.rpc_spec_path)) do |metadata|
|
@@ -89,7 +81,7 @@ GRUF_RSPEC_RUNNER.configure do |config|
|
|
89
81
|
end
|
90
82
|
end
|
91
83
|
|
92
|
-
|
84
|
+
RSpec::Matchers.define :raise_rpc_error do |expected_error_class|
|
93
85
|
supports_block_expectations
|
94
86
|
|
95
87
|
def with_serialized(&block)
|
@@ -111,7 +103,7 @@ GRUF_RSPEC_NAMESPACE::Matchers.define :raise_rpc_error do |expected_error_class|
|
|
111
103
|
end
|
112
104
|
end
|
113
105
|
|
114
|
-
|
106
|
+
RSpec::Matchers.define :be_a_successful_rpc do |_|
|
115
107
|
match do |actual|
|
116
108
|
if !gruf_controller || actual.is_a?(GRPC::BadStatus) || actual.is_a?(GRPC::Core::CallError)
|
117
109
|
false
|
metadata
CHANGED
@@ -1,107 +1,65 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gruf-rspec
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 1.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Shaun McCormick
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2024-05-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
-
name:
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
16
|
-
requirements:
|
17
|
-
- - ">="
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: '0.6'
|
20
|
-
type: :development
|
21
|
-
prerelease: false
|
22
|
-
version_requirements: !ruby/object:Gem::Requirement
|
23
|
-
requirements:
|
24
|
-
- - ">="
|
25
|
-
- !ruby/object:Gem::Version
|
26
|
-
version: '0.6'
|
27
|
-
- !ruby/object:Gem::Dependency
|
28
|
-
name: pry
|
14
|
+
name: gruf
|
29
15
|
requirement: !ruby/object:Gem::Requirement
|
30
16
|
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
|
-
- - ">="
|
17
|
+
- - "~>"
|
39
18
|
- !ruby/object:Gem::Version
|
40
|
-
version: '
|
41
|
-
- !ruby/object:Gem::Dependency
|
42
|
-
name: rspec_junit_formatter
|
43
|
-
requirement: !ruby/object:Gem::Requirement
|
44
|
-
requirements:
|
19
|
+
version: '2.5'
|
45
20
|
- - ">="
|
46
21
|
- !ruby/object:Gem::Version
|
47
|
-
version:
|
48
|
-
type: :
|
22
|
+
version: 2.5.1
|
23
|
+
type: :runtime
|
49
24
|
prerelease: false
|
50
25
|
version_requirements: !ruby/object:Gem::Requirement
|
51
26
|
requirements:
|
52
|
-
- - "
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
version: '0.4'
|
55
|
-
- !ruby/object:Gem::Dependency
|
56
|
-
name: rubocop
|
57
|
-
requirement: !ruby/object:Gem::Requirement
|
58
|
-
requirements:
|
59
|
-
- - ">="
|
27
|
+
- - "~>"
|
60
28
|
- !ruby/object:Gem::Version
|
61
|
-
version: '
|
62
|
-
type: :development
|
63
|
-
prerelease: false
|
64
|
-
version_requirements: !ruby/object:Gem::Requirement
|
65
|
-
requirements:
|
29
|
+
version: '2.5'
|
66
30
|
- - ">="
|
67
31
|
- !ruby/object:Gem::Version
|
68
|
-
version:
|
32
|
+
version: 2.5.1
|
69
33
|
- !ruby/object:Gem::Dependency
|
70
|
-
name:
|
34
|
+
name: rake
|
71
35
|
requirement: !ruby/object:Gem::Requirement
|
72
36
|
requirements:
|
73
37
|
- - ">="
|
74
38
|
- !ruby/object:Gem::Version
|
75
|
-
version: '
|
76
|
-
type: :
|
39
|
+
version: '12.3'
|
40
|
+
type: :runtime
|
77
41
|
prerelease: false
|
78
42
|
version_requirements: !ruby/object:Gem::Requirement
|
79
43
|
requirements:
|
80
44
|
- - ">="
|
81
45
|
- !ruby/object:Gem::Version
|
82
|
-
version: '
|
46
|
+
version: '12.3'
|
83
47
|
- !ruby/object:Gem::Dependency
|
84
|
-
name:
|
48
|
+
name: rspec-core
|
85
49
|
requirement: !ruby/object:Gem::Requirement
|
86
50
|
requirements:
|
87
|
-
- - "~>"
|
88
|
-
- !ruby/object:Gem::Version
|
89
|
-
version: '2.5'
|
90
51
|
- - ">="
|
91
52
|
- !ruby/object:Gem::Version
|
92
|
-
version:
|
53
|
+
version: '3.8'
|
93
54
|
type: :runtime
|
94
55
|
prerelease: false
|
95
56
|
version_requirements: !ruby/object:Gem::Requirement
|
96
57
|
requirements:
|
97
|
-
- - "~>"
|
98
|
-
- !ruby/object:Gem::Version
|
99
|
-
version: '2.5'
|
100
58
|
- - ">="
|
101
59
|
- !ruby/object:Gem::Version
|
102
|
-
version:
|
60
|
+
version: '3.8'
|
103
61
|
- !ruby/object:Gem::Dependency
|
104
|
-
name: rspec
|
62
|
+
name: rspec-expectations
|
105
63
|
requirement: !ruby/object:Gem::Requirement
|
106
64
|
requirements:
|
107
65
|
- - ">="
|
@@ -161,14 +119,17 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
161
119
|
requirements:
|
162
120
|
- - ">="
|
163
121
|
- !ruby/object:Gem::Version
|
164
|
-
version: '
|
122
|
+
version: '3.0'
|
123
|
+
- - "<"
|
124
|
+
- !ruby/object:Gem::Version
|
125
|
+
version: '4'
|
165
126
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
166
127
|
requirements:
|
167
128
|
- - ">="
|
168
129
|
- !ruby/object:Gem::Version
|
169
130
|
version: '0'
|
170
131
|
requirements: []
|
171
|
-
rubygems_version: 3.
|
132
|
+
rubygems_version: 3.5.9
|
172
133
|
signing_key:
|
173
134
|
specification_version: 4
|
174
135
|
summary: RSpec assistance library for gruf
|