tshield 0.12.0.0 → 0.13.0.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 +5 -5
- data/README.md +10 -0
- data/lib/tshield/configuration.rb +5 -0
- data/lib/tshield/controllers/requests.rb +9 -1
- data/lib/tshield/request_matching.rb +1 -0
- data/lib/tshield/version.rb +1 -1
- metadata +68 -67
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: caa9310473bc1479ad6bc7db7ae67938b269bbd7
|
4
|
+
data.tar.gz: 34de8d7084f0eecb054f2b07b9950ef0dffbf32b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 41afa4ac6a4471ea700beaa32ddf4c664f7eeb4f7a61639853b883a5ee0b6dd8f4262f9e14198a186e89cece5bb158669587a00f80dc7bef6bb460a5f6f7c5a3
|
7
|
+
data.tar.gz: ef52b07f2bfc68d8ff0561c0676350493da7b7f16b26f1e61687f13a78929e4ec9659859a396dcb6bb51d5eab8c041cc15cbb2ca92fcecc8a5ed768101a2a7bd
|
data/README.md
CHANGED
@@ -104,6 +104,10 @@ Optional request attributes:
|
|
104
104
|
this stub will be returned if all headers are in request.
|
105
105
|
* **query**: works like headers but use query params.
|
106
106
|
|
107
|
+
Optional response attributes:
|
108
|
+
|
109
|
+
* **delay**: integer that represents time in seconds that the response will be delayed to return
|
110
|
+
|
107
111
|
**Important**: If VCR config conflicts with Matching config Matching will be
|
108
112
|
used. Matching config have priority.
|
109
113
|
|
@@ -166,6 +170,7 @@ To register stub into a session create an object with following attributes:
|
|
166
170
|
"method": "GET",
|
167
171
|
"path": "/matching/example",
|
168
172
|
"response": {
|
173
|
+
"delay": 5,
|
169
174
|
"body": "matching-example-response-in-session",
|
170
175
|
"headers": {},
|
171
176
|
"status": 200
|
@@ -206,6 +211,8 @@ domains:
|
|
206
211
|
- transfer-encoding
|
207
212
|
paths:
|
208
213
|
- /secure
|
214
|
+
delay:
|
215
|
+
'/secure': 10
|
209
216
|
|
210
217
|
'http://localhost:9092':
|
211
218
|
name: 'my-other-service'
|
@@ -216,6 +223,8 @@ domains:
|
|
216
223
|
- transfer-encoding
|
217
224
|
paths:
|
218
225
|
- /users
|
226
|
+
delay:
|
227
|
+
'/users': 5
|
219
228
|
```
|
220
229
|
**request**
|
221
230
|
* **timeout**: wait time for real service in seconds
|
@@ -231,6 +240,7 @@ domains:
|
|
231
240
|
* **filters**: Implementation of before or after filters used in domain requests
|
232
241
|
* **excluded_headers**: <<some_description>>
|
233
242
|
* **paths**: Paths list of all services that will be called. Used to filter what domain will "receive the request"
|
243
|
+
* **delay**: List of times in seconds that the response will be delayed to return for an specific path defined above
|
234
244
|
|
235
245
|
## Manage Sessions
|
236
246
|
|
@@ -74,7 +74,7 @@ module TShield
|
|
74
74
|
configuration.get_excluded_headers(domain(path)).include?(key)
|
75
75
|
end
|
76
76
|
end
|
77
|
-
|
77
|
+
|
78
78
|
logger.info(
|
79
79
|
"original=#{api_response.original} method=#{method} path=#{path} "\
|
80
80
|
"content-type=#{request_content_type} "\
|
@@ -82,6 +82,7 @@ module TShield
|
|
82
82
|
)
|
83
83
|
TShield::Controllers::Helpers::SessionHelpers.update_session_call(request, callid, method)
|
84
84
|
|
85
|
+
delay(path)
|
85
86
|
status api_response.status
|
86
87
|
headers api_response.headers
|
87
88
|
body api_response.body
|
@@ -100,6 +101,13 @@ module TShield
|
|
100
101
|
def domain(path)
|
101
102
|
@domain ||= configuration.get_domain_for(path)
|
102
103
|
end
|
104
|
+
|
105
|
+
def delay(path)
|
106
|
+
delay_in_seconds = configuration.get_delay(domain(path), path) || 0
|
107
|
+
logger.info("Response with delay of #{delay_in_seconds} seconds")
|
108
|
+
sleep delay_in_seconds
|
109
|
+
end
|
110
|
+
|
103
111
|
end
|
104
112
|
end
|
105
113
|
end
|
data/lib/tshield/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tshield
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.13.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Diego Rubin
|
@@ -9,86 +9,86 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2020-11-
|
12
|
+
date: 2020-11-25 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.0
|
21
18
|
- - "~>"
|
22
19
|
- !ruby/object:Gem::Version
|
23
20
|
version: '1.28'
|
21
|
+
- - ">="
|
22
|
+
- !ruby/object:Gem::Version
|
23
|
+
version: 1.28.0
|
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.0
|
31
28
|
- - "~>"
|
32
29
|
- !ruby/object:Gem::Version
|
33
30
|
version: '1.28'
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 1.28.0
|
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.0
|
41
38
|
- - "~>"
|
42
39
|
- !ruby/object:Gem::Version
|
43
40
|
version: '1.28'
|
41
|
+
- - ">="
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: 1.28.0
|
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.0
|
51
48
|
- - "~>"
|
52
49
|
- !ruby/object:Gem::Version
|
53
50
|
version: '1.28'
|
51
|
+
- - ">="
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: 1.28.0
|
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.0
|
61
58
|
- - "~>"
|
62
59
|
- !ruby/object:Gem::Version
|
63
60
|
version: '0.14'
|
61
|
+
- - ">="
|
62
|
+
- !ruby/object:Gem::Version
|
63
|
+
version: 0.14.0
|
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.0
|
71
68
|
- - "~>"
|
72
69
|
- !ruby/object:Gem::Version
|
73
70
|
version: '0.14'
|
71
|
+
- - ">="
|
72
|
+
- !ruby/object:Gem::Version
|
73
|
+
version: 0.14.0
|
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.0
|
121
118
|
- - "~>"
|
122
119
|
- !ruby/object:Gem::Version
|
123
120
|
version: '2.1'
|
121
|
+
- - ">="
|
122
|
+
- !ruby/object:Gem::Version
|
123
|
+
version: 2.1.0
|
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.0
|
131
128
|
- - "~>"
|
132
129
|
- !ruby/object:Gem::Version
|
133
130
|
version: '2.1'
|
131
|
+
- - ">="
|
132
|
+
- !ruby/object:Gem::Version
|
133
|
+
version: 2.1.0
|
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'
|
141
138
|
- - "~>"
|
142
139
|
- !ruby/object:Gem::Version
|
143
140
|
version: 0.4.0
|
141
|
+
- - ">="
|
142
|
+
- !ruby/object:Gem::Version
|
143
|
+
version: '0.4'
|
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'
|
151
148
|
- - "~>"
|
152
149
|
- !ruby/object:Gem::Version
|
153
150
|
version: 0.4.0
|
151
|
+
- - ">="
|
152
|
+
- !ruby/object:Gem::Version
|
153
|
+
version: '0.4'
|
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.0
|
301
298
|
- - "~>"
|
302
299
|
- !ruby/object:Gem::Version
|
303
300
|
version: '3.5'
|
301
|
+
- - ">="
|
302
|
+
- !ruby/object:Gem::Version
|
303
|
+
version: 3.5.0
|
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.0
|
311
308
|
- - "~>"
|
312
309
|
- !ruby/object:Gem::Version
|
313
310
|
version: '3.5'
|
311
|
+
- - ">="
|
312
|
+
- !ruby/object:Gem::Version
|
313
|
+
version: 3.5.0
|
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.0
|
381
378
|
- - "~>"
|
382
379
|
- !ruby/object:Gem::Version
|
383
380
|
version: '2.1'
|
381
|
+
- - ">="
|
382
|
+
- !ruby/object:Gem::Version
|
383
|
+
version: 2.1.0
|
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.0
|
391
388
|
- - "~>"
|
392
389
|
- !ruby/object:Gem::Version
|
393
390
|
version: '2.1'
|
391
|
+
- - ">="
|
392
|
+
- !ruby/object:Gem::Version
|
393
|
+
version: 2.1.0
|
394
394
|
description: Proxy for mocks API responses
|
395
395
|
email: rubin.diego@gmail.com
|
396
396
|
executables:
|
@@ -460,22 +460,23 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
460
460
|
- !ruby/object:Gem::Version
|
461
461
|
version: '0'
|
462
462
|
requirements: []
|
463
|
-
|
463
|
+
rubyforge_project:
|
464
|
+
rubygems_version: 2.6.14.4
|
464
465
|
signing_key:
|
465
466
|
specification_version: 4
|
466
467
|
summary: Proxy for mocks API responses
|
467
468
|
test_files:
|
468
469
|
- spec/spec_helper.rb
|
469
|
-
- spec/tshield/request_matching_spec.rb
|
470
|
-
- spec/tshield/grpc_spec.rb
|
471
|
-
- spec/tshield/configuration_spec.rb
|
472
|
-
- spec/tshield/sessions_spec.rb
|
473
470
|
- spec/tshield/request_vcr_spec.rb
|
471
|
+
- spec/tshield/sessions_spec.rb
|
474
472
|
- spec/tshield/controllers/requests_spec.rb
|
473
|
+
- spec/tshield/request_matching_spec.rb
|
474
|
+
- spec/tshield/grpc_spec.rb
|
475
475
|
- spec/tshield/options_spec.rb
|
476
|
-
- spec/tshield/after_filter_spec.rb
|
477
|
-
- spec/tshield/fixtures/matching/example.json
|
478
476
|
- spec/tshield/fixtures/proto/test_services_pb.rb
|
479
477
|
- spec/tshield/fixtures/filters/example_filter.rb
|
478
|
+
- spec/tshield/fixtures/matching/example.json
|
480
479
|
- spec/tshield/fixtures/config/tshield.yml
|
481
480
|
- spec/tshield/fixtures/config/tshield-without-grpc.yml
|
481
|
+
- spec/tshield/configuration_spec.rb
|
482
|
+
- spec/tshield/after_filter_spec.rb
|