tshield 0.13.3.0 → 0.13.4.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
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 66ce1246fb18f0ac3ca8988aa3dcbdaf6ac93f3605181bffd79ad0b831bf94c5
|
4
|
+
data.tar.gz: a640d69531493ef2c8513377b1671e51b9f2d231a0eeaf158b175526a42f45f9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ec4005538a4fdbe3352874f7485e8e60303ab2e8a51441621cd181d73dd236267d08d03363052632e794f1701e6de0eafaa9448a6ca8cabec7680505e1902234
|
7
|
+
data.tar.gz: 319ccdbccc47a05d783403de7fff5022f928520f18d1aedb06929de0b40f1d6a74e6db94219835f8e8edd15636acbc0ff3f3d2999a787446420fdda916e3bf12
|
@@ -1,5 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
require 'tshield/logger'
|
3
4
|
require 'tshield/matching/filters'
|
4
5
|
require 'tshield/request'
|
5
6
|
|
@@ -59,15 +60,38 @@ module TShield
|
|
59
60
|
end
|
60
61
|
|
61
62
|
def load_stub(file)
|
62
|
-
content =
|
63
|
+
content = read_stub_file(file)
|
63
64
|
content.each do |stub|
|
64
|
-
|
65
|
+
next unless valid_stub?(file, stub)
|
65
66
|
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
67
|
+
load_valid_stub(stub)
|
68
|
+
end
|
69
|
+
end
|
70
|
+
|
71
|
+
def read_stub_file(file)
|
72
|
+
JSON.parse File.open(file).read
|
73
|
+
rescue StandardError
|
74
|
+
TShield.logger.error "error in loading matching file #{file}"
|
75
|
+
[]
|
76
|
+
end
|
77
|
+
|
78
|
+
def valid_stub?(file, stub)
|
79
|
+
is_valid = stub.is_a?(Hash) && mandatory_attributes?(stub)
|
80
|
+
TShield.logger.info "loading matching file #{file}" if is_valid
|
81
|
+
is_valid
|
82
|
+
end
|
83
|
+
|
84
|
+
def mandatory_attributes?(stub)
|
85
|
+
(stub['method'] && stub['path'] && stub['response']) || (stub['session'] && stub['stubs'])
|
86
|
+
end
|
87
|
+
|
88
|
+
def load_valid_stub(stub)
|
89
|
+
stub_session_name = init_stub_session(stub)
|
90
|
+
|
91
|
+
if stub['stubs']
|
92
|
+
load_items(stub['stubs'] || [], stub_session_name)
|
93
|
+
else
|
94
|
+
load_item(stub, stub_session_name)
|
71
95
|
end
|
72
96
|
end
|
73
97
|
|
data/lib/tshield/version.rb
CHANGED
File without changes
|
@@ -0,0 +1 @@
|
|
1
|
+
[]
|
@@ -36,6 +36,38 @@ describe TShield::RequestMatching do
|
|
36
36
|
end
|
37
37
|
end
|
38
38
|
|
39
|
+
context 'invalid matching file' do
|
40
|
+
before :each do
|
41
|
+
allow(Dir).to receive(:glob)
|
42
|
+
.and_return(['spec/tshield/fixtures/matching/invalid_matching_file.json'])
|
43
|
+
end
|
44
|
+
|
45
|
+
context 'on loading stubs' do
|
46
|
+
before :each do
|
47
|
+
@request_matching = TShield::RequestMatching.new('/')
|
48
|
+
end
|
49
|
+
it 'should stubs be empty' do
|
50
|
+
expect(@request_matching.class.stubs[DEFAULT_SESSION]).to be_nil
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
55
|
+
context 'empty matching file' do
|
56
|
+
before :each do
|
57
|
+
allow(Dir).to receive(:glob)
|
58
|
+
.and_return(['spec/tshield/fixtures/matching/empty.json'])
|
59
|
+
end
|
60
|
+
|
61
|
+
context 'on loading stubs' do
|
62
|
+
before :each do
|
63
|
+
@request_matching = TShield::RequestMatching.new('/')
|
64
|
+
end
|
65
|
+
it 'should stubs be empty' do
|
66
|
+
expect(@request_matching.class.stubs[DEFAULT_SESSION]).to be_nil
|
67
|
+
end
|
68
|
+
end
|
69
|
+
end
|
70
|
+
|
39
71
|
context 'matching path' do
|
40
72
|
before :each do
|
41
73
|
allow(Dir).to receive(:glob)
|
metadata
CHANGED
@@ -1,94 +1,94 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tshield
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.13.
|
4
|
+
version: 0.13.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Diego Rubin
|
8
8
|
- Eduardo Garcia
|
9
|
-
autorequire:
|
9
|
+
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2021-
|
12
|
+
date: 2021-04-15 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: grpc
|
16
16
|
requirement: !ruby/object:Gem::Requirement
|
17
17
|
requirements:
|
18
|
-
- - "~>"
|
19
|
-
- !ruby/object:Gem::Version
|
20
|
-
version: '1.28'
|
21
18
|
- - ">="
|
22
19
|
- !ruby/object:Gem::Version
|
23
20
|
version: 1.28.0
|
21
|
+
- - "~>"
|
22
|
+
- !ruby/object:Gem::Version
|
23
|
+
version: '1.28'
|
24
24
|
type: :runtime
|
25
25
|
prerelease: false
|
26
26
|
version_requirements: !ruby/object:Gem::Requirement
|
27
27
|
requirements:
|
28
|
-
- - "~>"
|
29
|
-
- !ruby/object:Gem::Version
|
30
|
-
version: '1.28'
|
31
28
|
- - ">="
|
32
29
|
- !ruby/object:Gem::Version
|
33
30
|
version: 1.28.0
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '1.28'
|
34
34
|
- !ruby/object:Gem::Dependency
|
35
35
|
name: grpc-tools
|
36
36
|
requirement: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - "~>"
|
39
|
-
- !ruby/object:Gem::Version
|
40
|
-
version: '1.28'
|
41
38
|
- - ">="
|
42
39
|
- !ruby/object:Gem::Version
|
43
40
|
version: 1.28.0
|
41
|
+
- - "~>"
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: '1.28'
|
44
44
|
type: :runtime
|
45
45
|
prerelease: false
|
46
46
|
version_requirements: !ruby/object:Gem::Requirement
|
47
47
|
requirements:
|
48
|
-
- - "~>"
|
49
|
-
- !ruby/object:Gem::Version
|
50
|
-
version: '1.28'
|
51
48
|
- - ">="
|
52
49
|
- !ruby/object:Gem::Version
|
53
50
|
version: 1.28.0
|
51
|
+
- - "~>"
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '1.28'
|
54
54
|
- !ruby/object:Gem::Dependency
|
55
55
|
name: httparty
|
56
56
|
requirement: !ruby/object:Gem::Requirement
|
57
57
|
requirements:
|
58
|
-
- - "~>"
|
59
|
-
- !ruby/object:Gem::Version
|
60
|
-
version: '0.14'
|
61
58
|
- - ">="
|
62
59
|
- !ruby/object:Gem::Version
|
63
60
|
version: 0.14.0
|
61
|
+
- - "~>"
|
62
|
+
- !ruby/object:Gem::Version
|
63
|
+
version: '0.14'
|
64
64
|
type: :runtime
|
65
65
|
prerelease: false
|
66
66
|
version_requirements: !ruby/object:Gem::Requirement
|
67
67
|
requirements:
|
68
|
-
- - "~>"
|
69
|
-
- !ruby/object:Gem::Version
|
70
|
-
version: '0.14'
|
71
68
|
- - ">="
|
72
69
|
- !ruby/object:Gem::Version
|
73
70
|
version: 0.14.0
|
71
|
+
- - "~>"
|
72
|
+
- !ruby/object:Gem::Version
|
73
|
+
version: '0.14'
|
74
74
|
- !ruby/object:Gem::Dependency
|
75
75
|
name: json
|
76
76
|
requirement: !ruby/object:Gem::Requirement
|
77
77
|
requirements:
|
78
|
-
- - "
|
78
|
+
- - ">="
|
79
79
|
- !ruby/object:Gem::Version
|
80
80
|
version: '2.0'
|
81
|
-
- - "
|
81
|
+
- - "~>"
|
82
82
|
- !ruby/object:Gem::Version
|
83
83
|
version: '2.0'
|
84
84
|
type: :runtime
|
85
85
|
prerelease: false
|
86
86
|
version_requirements: !ruby/object:Gem::Requirement
|
87
87
|
requirements:
|
88
|
-
- - "
|
88
|
+
- - ">="
|
89
89
|
- !ruby/object:Gem::Version
|
90
90
|
version: '2.0'
|
91
|
-
- - "
|
91
|
+
- - "~>"
|
92
92
|
- !ruby/object:Gem::Version
|
93
93
|
version: '2.0'
|
94
94
|
- !ruby/object:Gem::Dependency
|
@@ -115,42 +115,42 @@ dependencies:
|
|
115
115
|
name: sinatra
|
116
116
|
requirement: !ruby/object:Gem::Requirement
|
117
117
|
requirements:
|
118
|
-
- - "~>"
|
119
|
-
- !ruby/object:Gem::Version
|
120
|
-
version: '2.1'
|
121
118
|
- - ">="
|
122
119
|
- !ruby/object:Gem::Version
|
123
120
|
version: 2.1.0
|
121
|
+
- - "~>"
|
122
|
+
- !ruby/object:Gem::Version
|
123
|
+
version: '2.1'
|
124
124
|
type: :runtime
|
125
125
|
prerelease: false
|
126
126
|
version_requirements: !ruby/object:Gem::Requirement
|
127
127
|
requirements:
|
128
|
-
- - "~>"
|
129
|
-
- !ruby/object:Gem::Version
|
130
|
-
version: '2.1'
|
131
128
|
- - ">="
|
132
129
|
- !ruby/object:Gem::Version
|
133
130
|
version: 2.1.0
|
131
|
+
- - "~>"
|
132
|
+
- !ruby/object:Gem::Version
|
133
|
+
version: '2.1'
|
134
134
|
- !ruby/object:Gem::Dependency
|
135
135
|
name: sinatra-cross_origin
|
136
136
|
requirement: !ruby/object:Gem::Requirement
|
137
137
|
requirements:
|
138
|
-
- - "~>"
|
139
|
-
- !ruby/object:Gem::Version
|
140
|
-
version: 0.4.0
|
141
138
|
- - ">="
|
142
139
|
- !ruby/object:Gem::Version
|
143
140
|
version: '0.4'
|
141
|
+
- - "~>"
|
142
|
+
- !ruby/object:Gem::Version
|
143
|
+
version: 0.4.0
|
144
144
|
type: :runtime
|
145
145
|
prerelease: false
|
146
146
|
version_requirements: !ruby/object:Gem::Requirement
|
147
147
|
requirements:
|
148
|
-
- - "~>"
|
149
|
-
- !ruby/object:Gem::Version
|
150
|
-
version: 0.4.0
|
151
148
|
- - ">="
|
152
149
|
- !ruby/object:Gem::Version
|
153
150
|
version: '0.4'
|
151
|
+
- - "~>"
|
152
|
+
- !ruby/object:Gem::Version
|
153
|
+
version: 0.4.0
|
154
154
|
- !ruby/object:Gem::Dependency
|
155
155
|
name: coveralls
|
156
156
|
requirement: !ruby/object:Gem::Requirement
|
@@ -255,80 +255,80 @@ dependencies:
|
|
255
255
|
name: rdoc
|
256
256
|
requirement: !ruby/object:Gem::Requirement
|
257
257
|
requirements:
|
258
|
-
- - "
|
258
|
+
- - ">="
|
259
259
|
- !ruby/object:Gem::Version
|
260
260
|
version: '6.0'
|
261
|
-
- - "
|
261
|
+
- - "~>"
|
262
262
|
- !ruby/object:Gem::Version
|
263
263
|
version: '6.0'
|
264
264
|
type: :development
|
265
265
|
prerelease: false
|
266
266
|
version_requirements: !ruby/object:Gem::Requirement
|
267
267
|
requirements:
|
268
|
-
- - "
|
268
|
+
- - ">="
|
269
269
|
- !ruby/object:Gem::Version
|
270
270
|
version: '6.0'
|
271
|
-
- - "
|
271
|
+
- - "~>"
|
272
272
|
- !ruby/object:Gem::Version
|
273
273
|
version: '6.0'
|
274
274
|
- !ruby/object:Gem::Dependency
|
275
275
|
name: reek
|
276
276
|
requirement: !ruby/object:Gem::Requirement
|
277
277
|
requirements:
|
278
|
-
- - "
|
278
|
+
- - ">="
|
279
279
|
- !ruby/object:Gem::Version
|
280
280
|
version: 5.4.0
|
281
|
-
- - "
|
281
|
+
- - "~>"
|
282
282
|
- !ruby/object:Gem::Version
|
283
283
|
version: 5.4.0
|
284
284
|
type: :development
|
285
285
|
prerelease: false
|
286
286
|
version_requirements: !ruby/object:Gem::Requirement
|
287
287
|
requirements:
|
288
|
-
- - "
|
288
|
+
- - ">="
|
289
289
|
- !ruby/object:Gem::Version
|
290
290
|
version: 5.4.0
|
291
|
-
- - "
|
291
|
+
- - "~>"
|
292
292
|
- !ruby/object:Gem::Version
|
293
293
|
version: 5.4.0
|
294
294
|
- !ruby/object:Gem::Dependency
|
295
295
|
name: rspec
|
296
296
|
requirement: !ruby/object:Gem::Requirement
|
297
297
|
requirements:
|
298
|
-
- - "~>"
|
299
|
-
- !ruby/object:Gem::Version
|
300
|
-
version: '3.5'
|
301
298
|
- - ">="
|
302
299
|
- !ruby/object:Gem::Version
|
303
300
|
version: 3.5.0
|
301
|
+
- - "~>"
|
302
|
+
- !ruby/object:Gem::Version
|
303
|
+
version: '3.5'
|
304
304
|
type: :development
|
305
305
|
prerelease: false
|
306
306
|
version_requirements: !ruby/object:Gem::Requirement
|
307
307
|
requirements:
|
308
|
-
- - "~>"
|
309
|
-
- !ruby/object:Gem::Version
|
310
|
-
version: '3.5'
|
311
308
|
- - ">="
|
312
309
|
- !ruby/object:Gem::Version
|
313
310
|
version: 3.5.0
|
311
|
+
- - "~>"
|
312
|
+
- !ruby/object:Gem::Version
|
313
|
+
version: '3.5'
|
314
314
|
- !ruby/object:Gem::Dependency
|
315
315
|
name: rubocop
|
316
316
|
requirement: !ruby/object:Gem::Requirement
|
317
317
|
requirements:
|
318
|
-
- - "
|
318
|
+
- - ">="
|
319
319
|
- !ruby/object:Gem::Version
|
320
320
|
version: 0.73.0
|
321
|
-
- - "
|
321
|
+
- - "~>"
|
322
322
|
- !ruby/object:Gem::Version
|
323
323
|
version: 0.73.0
|
324
324
|
type: :development
|
325
325
|
prerelease: false
|
326
326
|
version_requirements: !ruby/object:Gem::Requirement
|
327
327
|
requirements:
|
328
|
-
- - "
|
328
|
+
- - ">="
|
329
329
|
- !ruby/object:Gem::Version
|
330
330
|
version: 0.73.0
|
331
|
-
- - "
|
331
|
+
- - "~>"
|
332
332
|
- !ruby/object:Gem::Version
|
333
333
|
version: 0.73.0
|
334
334
|
- !ruby/object:Gem::Dependency
|
@@ -375,22 +375,22 @@ dependencies:
|
|
375
375
|
name: webmock
|
376
376
|
requirement: !ruby/object:Gem::Requirement
|
377
377
|
requirements:
|
378
|
-
- - "~>"
|
379
|
-
- !ruby/object:Gem::Version
|
380
|
-
version: '2.1'
|
381
378
|
- - ">="
|
382
379
|
- !ruby/object:Gem::Version
|
383
380
|
version: 2.1.0
|
381
|
+
- - "~>"
|
382
|
+
- !ruby/object:Gem::Version
|
383
|
+
version: '2.1'
|
384
384
|
type: :development
|
385
385
|
prerelease: false
|
386
386
|
version_requirements: !ruby/object:Gem::Requirement
|
387
387
|
requirements:
|
388
|
-
- - "~>"
|
389
|
-
- !ruby/object:Gem::Version
|
390
|
-
version: '2.1'
|
391
388
|
- - ">="
|
392
389
|
- !ruby/object:Gem::Version
|
393
390
|
version: 2.1.0
|
391
|
+
- - "~>"
|
392
|
+
- !ruby/object:Gem::Version
|
393
|
+
version: '2.1'
|
394
394
|
description: Proxy for mocks API responses
|
395
395
|
email: rubin.diego@gmail.com
|
396
396
|
executables:
|
@@ -435,7 +435,9 @@ files:
|
|
435
435
|
- spec/tshield/fixtures/config/tshield-without-grpc.yml
|
436
436
|
- spec/tshield/fixtures/config/tshield.yml
|
437
437
|
- spec/tshield/fixtures/filters/example_filter.rb
|
438
|
+
- spec/tshield/fixtures/matching/empty.json
|
438
439
|
- spec/tshield/fixtures/matching/example.json
|
440
|
+
- spec/tshield/fixtures/matching/invalid_matching_file.json
|
439
441
|
- spec/tshield/fixtures/proto/test_services_pb.rb
|
440
442
|
- spec/tshield/grpc_spec.rb
|
441
443
|
- spec/tshield/options_spec.rb
|
@@ -447,7 +449,7 @@ homepage: https://github.com/diegorubin/tshield
|
|
447
449
|
licenses:
|
448
450
|
- MIT
|
449
451
|
metadata: {}
|
450
|
-
post_install_message:
|
452
|
+
post_install_message:
|
451
453
|
rdoc_options: []
|
452
454
|
require_paths:
|
453
455
|
- lib
|
@@ -462,25 +464,26 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
462
464
|
- !ruby/object:Gem::Version
|
463
465
|
version: '0'
|
464
466
|
requirements: []
|
465
|
-
|
466
|
-
|
467
|
-
signing_key:
|
467
|
+
rubygems_version: 3.0.8
|
468
|
+
signing_key:
|
468
469
|
specification_version: 4
|
469
470
|
summary: Proxy for mocks API responses
|
470
471
|
test_files:
|
471
|
-
- spec/
|
472
|
-
- spec/tshield/sessions_spec.rb
|
473
|
-
- spec/tshield/configuration_spec.rb
|
472
|
+
- spec/tshield/options_spec.rb
|
474
473
|
- spec/tshield/controllers/requests_spec.rb
|
475
|
-
- spec/tshield/
|
476
|
-
- spec/tshield/fixtures/proto/test_services_pb.rb
|
477
|
-
- spec/tshield/fixtures/config/tshield-with-send-content-type-header.yml
|
478
|
-
- spec/tshield/fixtures/config/tshield-with-send-content-type-header_as_false.yml
|
479
|
-
- spec/tshield/fixtures/config/tshield.yml
|
480
|
-
- spec/tshield/fixtures/config/tshield-without-grpc.yml
|
481
|
-
- spec/tshield/fixtures/filters/example_filter.rb
|
482
|
-
- spec/tshield/grpc_spec.rb
|
474
|
+
- spec/tshield/configuration_spec.rb
|
483
475
|
- spec/tshield/after_filter_spec.rb
|
484
476
|
- spec/tshield/request_vcr_spec.rb
|
477
|
+
- spec/tshield/sessions_spec.rb
|
485
478
|
- spec/tshield/request_matching_spec.rb
|
486
|
-
- spec/tshield/
|
479
|
+
- spec/tshield/grpc_spec.rb
|
480
|
+
- spec/tshield/fixtures/config/tshield-without-grpc.yml
|
481
|
+
- spec/tshield/fixtures/config/tshield.yml
|
482
|
+
- spec/tshield/fixtures/config/tshield-with-send-content-type-header_as_false.yml
|
483
|
+
- spec/tshield/fixtures/config/tshield-with-send-content-type-header.yml
|
484
|
+
- spec/tshield/fixtures/proto/test_services_pb.rb
|
485
|
+
- spec/tshield/fixtures/filters/example_filter.rb
|
486
|
+
- spec/tshield/fixtures/matching/empty.json
|
487
|
+
- spec/tshield/fixtures/matching/invalid_matching_file.json
|
488
|
+
- spec/tshield/fixtures/matching/example.json
|
489
|
+
- spec/spec_helper.rb
|