@@ -63,21 +63,6 @@ def default_excepts
63
63
get '/lambda' do
64
64
{ type : params [ :type ] }
65
65
end
66
-
67
- params do
68
- requires :type , except_values : { value : ValuesModel . excepts , message : 'value is on exclusions list' } , default : 'default exclude message'
69
- end
70
- get '/exclude/exclude_message'
71
-
72
- params do
73
- requires :type , except_values : { value : -> { ValuesModel . excepts } , message : 'value is on exclusions list' }
74
- end
75
- get '/exclude/lambda/exclude_message'
76
-
77
- params do
78
- requires :type , except_values : { value : ValuesModel . excepts , message : 'default exclude message' }
79
- end
80
- get '/exclude/fallback_message'
81
66
end
82
67
83
68
params do
@@ -106,13 +91,6 @@ def default_excepts
106
91
{ type : params [ :type ] }
107
92
end
108
93
109
- params do
110
- optional :type , except_values : ValuesModel . excepts , default : 'valid-type2'
111
- end
112
- get '/default/except' do
113
- { type : params [ :type ] }
114
- end
115
-
116
94
params do
117
95
optional :type , values : -> { ValuesModel . values } , default : 'valid-type2'
118
96
end
@@ -188,41 +166,6 @@ def default_excepts
188
166
end
189
167
get '/optional_with_required_values'
190
168
191
- params do
192
- requires :type , except_values : ValuesModel . excepts
193
- end
194
- get '/except/exclusive' do
195
- { type : params [ :type ] }
196
- end
197
-
198
- params do
199
- requires :type , type : String , except_values : ValuesModel . excepts
200
- end
201
- get '/except/exclusive/type' do
202
- { type : params [ :type ] }
203
- end
204
-
205
- params do
206
- requires :type , except_values : ValuesModel . excepts
207
- end
208
- get '/except/exclusive/lambda' do
209
- { type : params [ :type ] }
210
- end
211
-
212
- params do
213
- requires :type , type : String , except_values : -> { ValuesModel . excepts }
214
- end
215
- get '/except/exclusive/lambda/type' do
216
- { type : params [ :type ] }
217
- end
218
-
219
- params do
220
- requires :type , type : Integer , except_values : -> { [ 3 , 4 , 5 ] }
221
- end
222
- get '/except/exclusive/lambda/coercion' do
223
- { type : params [ :type ] }
224
- end
225
-
226
169
params do
227
170
requires :type , type : Integer , values : 1 ..5 , except_values : [ 3 ]
228
171
end
@@ -324,30 +267,6 @@ def default_excepts
324
267
end
325
268
end
326
269
327
- context 'with a custom exclude validation message' do
328
- it 'does not allow an invalid value for a parameter' do
329
- get ( '/custom_message/exclude/exclude_message' , type : 'invalid-type1' )
330
- expect ( last_response . status ) . to eq 400
331
- expect ( last_response . body ) . to eq ( { error : 'type value is on exclusions list' } . to_json )
332
- end
333
- end
334
-
335
- context 'with a custom exclude validation message' do
336
- it 'does not allow an invalid value for a parameter' do
337
- get ( '/custom_message/exclude/lambda/exclude_message' , type : 'invalid-type1' )
338
- expect ( last_response . status ) . to eq 400
339
- expect ( last_response . body ) . to eq ( { error : 'type value is on exclusions list' } . to_json )
340
- end
341
- end
342
-
343
- context 'exclude with a standard custom validation message' do
344
- it 'does not allow an invalid value for a parameter' do
345
- get ( '/custom_message/exclude/fallback_message' , type : 'invalid-type1' )
346
- expect ( last_response . status ) . to eq 400
347
- expect ( last_response . body ) . to eq ( { error : 'type default exclude message' } . to_json )
348
- end
349
- end
350
-
351
270
it 'allows a valid value for a parameter' do
352
271
get ( '/' , type : 'valid-type1' )
353
272
expect ( last_response . status ) . to eq 200
@@ -390,12 +309,6 @@ def default_excepts
390
309
expect ( last_response . body ) . to eq ( { type : 'valid-type2' } . to_json )
391
310
end
392
311
393
- it 'allows a default value with except' do
394
- get ( '/default/except' )
395
- expect ( last_response . status ) . to eq 200
396
- expect ( last_response . body ) . to eq ( { type : 'valid-type2' } . to_json )
397
- end
398
-
399
312
it 'allows a valid default value' do
400
313
get ( '/default/hash/valid' )
401
314
expect ( last_response . status ) . to eq 200
@@ -631,66 +544,6 @@ def app
631
544
end
632
545
end
633
546
634
- context 'exclusive excepts' do
635
- it 'allows any other value outside excepts' do
636
- get '/except/exclusive' , type : 'value'
637
- expect ( last_response . status ) . to eq 200
638
- expect ( last_response . body ) . to eq ( { type : 'value' } . to_json )
639
- end
640
-
641
- it 'allows any other value outside excepts when type is included' do
642
- get '/except/exclusive/type' , type : 'value'
643
- expect ( last_response . status ) . to eq 200
644
- expect ( last_response . body ) . to eq ( { type : 'value' } . to_json )
645
- end
646
-
647
- it 'rejects values that matches except' do
648
- get '/except/exclusive' , type : 'invalid-type1'
649
- expect ( last_response . status ) . to eq 400
650
- expect ( last_response . body ) . to eq ( { error : 'type has a value not allowed' } . to_json )
651
- end
652
-
653
- it 'rejects an array of values if any of them matches except' do
654
- get '/except/exclusive' , type : %w[ valid1 valid2 invalid-type1 valid4 ]
655
- expect ( last_response . status ) . to eq 400
656
- expect ( last_response . body ) . to eq ( { error : 'type has a value not allowed' } . to_json )
657
- end
658
- end
659
-
660
- context 'exclusive excepts with lambda' do
661
- it 'allows any other value outside excepts when type is included' do
662
- get '/except/exclusive/lambda/type' , type : 'value'
663
- expect ( last_response . status ) . to eq 200
664
- expect ( last_response . body ) . to eq ( { type : 'value' } . to_json )
665
- end
666
-
667
- it 'allows any other value outside excepts' do
668
- get '/except/exclusive/lambda' , type : 'value'
669
- expect ( last_response . status ) . to eq 200
670
- expect ( last_response . body ) . to eq ( { type : 'value' } . to_json )
671
- end
672
-
673
- it 'rejects values that matches except' do
674
- get '/except/exclusive/lambda' , type : 'invalid-type1'
675
- expect ( last_response . status ) . to eq 400
676
- expect ( last_response . body ) . to eq ( { error : 'type has a value not allowed' } . to_json )
677
- end
678
- end
679
-
680
- context 'exclusive excepts with lambda and coercion' do
681
- it 'allows any other value outside excepts' do
682
- get '/except/exclusive/lambda/coercion' , type : '10010000'
683
- expect ( last_response . status ) . to eq 200
684
- expect ( last_response . body ) . to eq ( { type : 10_010_000 } . to_json )
685
- end
686
-
687
- it 'rejects values that matches except' do
688
- get '/except/exclusive/lambda/coercion' , type : '3'
689
- expect ( last_response . status ) . to eq 400
690
- expect ( last_response . body ) . to eq ( { error : 'type has a value not allowed' } . to_json )
691
- end
692
- end
693
-
694
547
context 'with mixed values and excepts' do
695
548
it 'allows value, but not in except' do
696
549
get '/mixed/value/except' , type : 2
0 commit comments