Skip to content

Commit 8d3b564

Browse files
committed
t
1 parent f191b70 commit 8d3b564

File tree

3 files changed

+14
-28
lines changed

3 files changed

+14
-28
lines changed

lib/jsonrpc/configuration.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ class Configuration
44

55
def initialize
66
@procedures = {}
7+
@validate_procedure_signatures = true
78
end
89

910
def self.instance

lib/jsonrpc/middleware.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ def handle_jsonrpc_request(req)
4848
return json_response(200, Response.new(id: e.request_id, error: error).to_h)
4949
end
5050

51-
validation_errors = @validator.validate(parsed)
51+
validation_errors = @validator.validate(parsed) if JSONRPC.configuration.validate_procedure_signatures
5252

5353
return json_response(200, validation_errors) if validation_errors
5454

spec/jsonrpc/validator/single_request_spec.rb

Lines changed: 12 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@
7070

7171
describe 'positional arguments' do
7272
context 'when the positional arguments are missing' do
73-
it 'returns an invalid request error' do
73+
it 'returns an invalid request params error' do
7474
request = JSONRPC::Request.new(method: 'add', id: 'add-missing-positional-arguments')
7575
error = validator.validate(request)
7676

@@ -82,7 +82,7 @@
8282
end
8383

8484
context 'when the positional arguments are nil' do
85-
it 'returns an invalid request error' do
85+
it 'returns an invalid request params error' do
8686
request = JSONRPC::Request.new(method: 'add', id: 'add-nil-positional-arguments', params: nil)
8787
error = validator.validate(request)
8888

@@ -94,7 +94,7 @@
9494
end
9595

9696
context 'when the positional arguments are empty' do
97-
it 'returns an invalid request error' do
97+
it 'returns an invalid request params error' do
9898
request = JSONRPC::Request.new(method: 'add', id: 'add-empty-positional-arguments', params: [])
9999
error = validator.validate(request)
100100

@@ -105,20 +105,8 @@
105105
end
106106
end
107107

108-
context 'when the positional arguments have the wrong type' do
109-
it 'returns an invalid request error' do
110-
request = JSONRPC::Request.new(method: 'add', id: 'add-type-positional-arguments', params: 1984)
111-
error = validator.validate(request)
112-
113-
expect(error).to be_a(JSONRPC::InvalidParamsError)
114-
expect(error.request_id).to eq('add-type-positional-arguments')
115-
expect(error.data).to eq(method: 'add')
116-
expect(error.message).to eq('Invalid method parameter(s).')
117-
end
118-
end
119-
120108
context 'when the positional arguments have the wrong value' do
121-
it 'returns an invalid request error' do
109+
it 'returns an invalid request params error' do
122110
request = JSONRPC::Request.new(method: 'add', id: 'add-value-positional-arguments', params: %w[one two])
123111
error = validator.validate(request)
124112

@@ -130,7 +118,9 @@
130118
end
131119

132120
context 'when the positional arguments have the wrong arity' do
133-
xit 'returns an invalid request error' do
121+
it 'returns an invalid request params error' do
122+
pending 'Post-MVP'
123+
134124
request = JSONRPC::Request.new(method: 'add', id: 'add-arity-positional-arguments', params: [1984])
135125
error = validator.validate(request)
136126

@@ -144,32 +134,27 @@
144134

145135
describe 'named arguments' do
146136
context 'when the named arguments are missing' do
147-
it 'returns an invalid request error' do
137+
it 'returns an invalid request params error' do
148138
end
149139
end
150140

151141
context 'when the named arguments are nil' do
152-
it 'returns an invalid request error' do
142+
it 'returns an invalid request params error' do
153143
end
154144
end
155145

156146
context 'when the named arguments are empty' do
157-
it 'returns an invalid request error' do
147+
it 'returns an invalid request params error' do
158148
end
159149
end
160150

161151
context 'when the named arguments have the wrong arity' do
162-
it 'returns an invalid request error' do
163-
end
164-
end
165-
166-
context 'when the named arguments have the wrong type' do
167-
it 'returns an invalid request error' do
152+
it 'returns an invalid request params error' do
168153
end
169154
end
170155

171156
context 'when the named arguments have the wrong value' do
172-
it 'returns an invalid request error' do
157+
it 'returns an invalid request params error' do
173158
end
174159
end
175160
end

0 commit comments

Comments
 (0)