startback 0.7.5 → 0.8.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e9d688a604f034506b6c6d0545b282bef855f219150c2c112565c57886447b9a
4
- data.tar.gz: ac7a20bcc81cf4f14d63cdfa3335a7d3ff73e06534101ee99d579a12f76ea95b
3
+ metadata.gz: 25d875283dd978829a7a55cc1a92bb75ba6e00ea77119e176e1537b326b40793
4
+ data.tar.gz: 79ec3c424a831f4c596606bc5b5f08a500352b9d776198496ae65d5a02c867f1
5
5
  SHA512:
6
- metadata.gz: 6fa3f5c8b1bc34df9b1072428646825d045666f64422c495fc94888b3d156d05127d3863dc0916cf14b37b1abd35dc926b2828eba6c5e93d42e676a978e2966a
7
- data.tar.gz: 34754bb9277677691e29f84d6f84822965422414af8a0aad29174969f9cd40aee643bedc119ea28d6773d805f8a5183ab776b9bbdc674bd36d9e0fb4f1d8741c
6
+ metadata.gz: fd9b8f38650403793f642fad572ce7137b546c312294530a2b962693b855884009339d21e61316f647e85e95d000460b54dd02d6f83f4684bcfda1a44c65f934
7
+ data.tar.gz: 1cda02569aaccac6cab2c6e612d8ef99c814c5c8a51cf082bb9f589d1ac51f3db7cbca86bb616e0f45fbc78fb34e23678abdc4dc2c0b7f4080b6ac18466dddd8
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 0.8.3
data/lib/startback.rb CHANGED
@@ -5,6 +5,7 @@ require 'logger'
5
5
  require 'path'
6
6
  require 'ostruct'
7
7
  require 'benchmark'
8
+
8
9
  # Provides a reusable backend framework for backend components written
9
10
  # in ruby.
10
11
  #
@@ -27,6 +28,7 @@ module Startback
27
28
  end
28
29
  end
29
30
 
31
+ require_relative 'startback/version'
30
32
  require_relative 'startback/ext'
31
33
  require_relative 'startback/errors'
32
34
  require_relative 'startback/support'
@@ -1,8 +1,8 @@
1
1
  module Startback
2
2
  module Version
3
3
  MAJOR = 0
4
- MINOR = 7
5
- TINY = 5
4
+ MINOR = 8
5
+ TINY = 3
6
6
  end
7
7
  VERSION = "#{Version::MAJOR}.#{Version::MINOR}.#{Version::TINY}"
8
8
  end
@@ -75,13 +75,24 @@ module Startback
75
75
  elsif entity.respond_to?(:to_dto)
76
76
  ct, body = entity.to_dto(context).to(env['HTTP_ACCEPT'], ct)
77
77
  content_type ct
78
- body
78
+ _serve(body)
79
+ elsif entity.is_a?(Path)
80
+ _serve(entity)
79
81
  else
80
82
  content_type ct || "application/json"
81
83
  entity.to_json
82
84
  end
83
85
  end
84
86
 
87
+ def _serve(body)
88
+ case body
89
+ when Path
90
+ send_file(body)
91
+ else
92
+ body
93
+ end
94
+ end
95
+
85
96
  end # class Api
86
97
  end # module Web
87
98
  end # module Startback
@@ -0,0 +1,82 @@
1
+ require 'spec_helper'
2
+ require 'startback/web/api'
3
+
4
+ module Startback
5
+ module Web
6
+ describe Api do
7
+ include Rack::Test::Methods
8
+
9
+ class JsonDto
10
+ def to(accept, content_type)
11
+ ["application/json", %Q{{"foo":"bar"}}]
12
+ end
13
+ end
14
+
15
+ class PathDto
16
+ def to(accept, content_type)
17
+ ["text/plain", Path.file]
18
+ end
19
+ end
20
+
21
+ class DtoAble
22
+ def initialize(dto)
23
+ @dto = dto
24
+ end
25
+ def to_dto(context)
26
+ @dto
27
+ end
28
+ end
29
+
30
+ class TestedApi < ::Startback::Web::Api
31
+ get '/no-such-one' do
32
+ serve("Something", nil)
33
+ end
34
+
35
+ get '/entity' do
36
+ serve('Entity', {foo: "bar"})
37
+ end
38
+
39
+ get '/path' do
40
+ serve('Path', Path.file)
41
+ end
42
+
43
+ get '/dto-able' do
44
+ serve('DTO', DtoAble.new(JsonDto.new))
45
+ end
46
+
47
+ get '/dto-path' do
48
+ serve('DTO', DtoAble.new(PathDto.new))
49
+ end
50
+ end
51
+
52
+ let(:app) {
53
+ TestedApi
54
+ }
55
+
56
+ it 'convert nil to 404' do
57
+ get '/no-such-one'
58
+ expect(last_response.status).to eql(404)
59
+ end
60
+
61
+ it 'supports serving entities' do
62
+ get '/entity'
63
+ expect(last_response.body).to eql(%Q{{"foo":"bar"}})
64
+ end
65
+
66
+ it 'supports serving paths' do
67
+ get '/path'
68
+ expect(last_response.body).to eql(Path.file.read)
69
+ end
70
+
71
+ it 'supports serving DTO-able objects' do
72
+ get '/dto-able'
73
+ expect(last_response.body).to eql(%Q{{"foo":"bar"}})
74
+ end
75
+
76
+ it 'supports serving DTO-able objects eventually returning paths' do
77
+ get '/dto-path'
78
+ expect(last_response.body).to eql(Path.file.read)
79
+ end
80
+ end
81
+ end # module Web
82
+ end # module Startback
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: startback
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.5
4
+ version: 0.8.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bernard Lambeau
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-12-11 00:00:00.000000000 Z
11
+ date: 2021-05-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec
@@ -56,34 +56,20 @@ dependencies:
56
56
  requirements:
57
57
  - - ">="
58
58
  - !ruby/object:Gem::Version
59
- version: 0.15.2
59
+ version: 0.20.5
60
60
  - - "<"
61
61
  - !ruby/object:Gem::Version
62
- version: '0.16'
62
+ version: '0.21'
63
63
  type: :development
64
64
  prerelease: false
65
65
  version_requirements: !ruby/object:Gem::Requirement
66
66
  requirements:
67
67
  - - ">="
68
68
  - !ruby/object:Gem::Version
69
- version: 0.15.2
69
+ version: 0.20.5
70
70
  - - "<"
71
71
  - !ruby/object:Gem::Version
72
- version: '0.16'
73
- - !ruby/object:Gem::Dependency
74
- name: rack-test
75
- requirement: !ruby/object:Gem::Requirement
76
- requirements:
77
- - - ">="
78
- - !ruby/object:Gem::Version
79
- version: '0'
80
- type: :development
81
- prerelease: false
82
- version_requirements: !ruby/object:Gem::Requirement
83
- requirements:
84
- - - ">="
85
- - !ruby/object:Gem::Version
86
- version: '0'
72
+ version: '0.21'
87
73
  - !ruby/object:Gem::Dependency
88
74
  name: rake
89
75
  requirement: !ruby/object:Gem::Requirement
@@ -144,20 +130,20 @@ dependencies:
144
130
  requirements:
145
131
  - - ">="
146
132
  - !ruby/object:Gem::Version
147
- version: '0.8'
133
+ version: '0.10'
148
134
  - - "<"
149
135
  - !ruby/object:Gem::Version
150
- version: '0.9'
136
+ version: '0.11'
151
137
  type: :runtime
152
138
  prerelease: false
153
139
  version_requirements: !ruby/object:Gem::Requirement
154
140
  requirements:
155
141
  - - ">="
156
142
  - !ruby/object:Gem::Version
157
- version: '0.8'
143
+ version: '0.10'
158
144
  - - "<"
159
145
  - !ruby/object:Gem::Version
160
- version: '0.9'
146
+ version: '0.11'
161
147
  - !ruby/object:Gem::Dependency
162
148
  name: path
163
149
  requirement: !ruby/object:Gem::Requirement
@@ -224,7 +210,7 @@ dependencies:
224
210
  requirements:
225
211
  - - ">="
226
212
  - !ruby/object:Gem::Version
227
- version: '1.0'
213
+ version: 1.11.4
228
214
  - - "<"
229
215
  - !ruby/object:Gem::Version
230
216
  version: '2.0'
@@ -234,7 +220,7 @@ dependencies:
234
220
  requirements:
235
221
  - - ">="
236
222
  - !ruby/object:Gem::Version
237
- version: '1.0'
223
+ version: 1.11.4
238
224
  - - "<"
239
225
  - !ruby/object:Gem::Version
240
226
  version: '2.0'
@@ -244,20 +230,20 @@ dependencies:
244
230
  requirements:
245
231
  - - ">="
246
232
  - !ruby/object:Gem::Version
247
- version: '4.3'
248
- - - "<"
233
+ version: 4.3.8
234
+ - - ">="
249
235
  - !ruby/object:Gem::Version
250
- version: '5.0'
236
+ version: 5.3.1
251
237
  type: :runtime
252
238
  prerelease: false
253
239
  version_requirements: !ruby/object:Gem::Requirement
254
240
  requirements:
255
241
  - - ">="
256
242
  - !ruby/object:Gem::Version
257
- version: '4.3'
258
- - - "<"
243
+ version: 4.3.8
244
+ - - ">="
259
245
  - !ruby/object:Gem::Version
260
- version: '5.0'
246
+ version: 5.3.1
261
247
  - !ruby/object:Gem::Dependency
262
248
  name: jwt
263
249
  requirement: !ruby/object:Gem::Requirement
@@ -284,20 +270,20 @@ dependencies:
284
270
  requirements:
285
271
  - - ">="
286
272
  - !ruby/object:Gem::Version
287
- version: 0.17.5
273
+ version: 0.18.0
288
274
  - - "<"
289
275
  - !ruby/object:Gem::Version
290
- version: 0.18.0
276
+ version: 0.19.0
291
277
  type: :runtime
292
278
  prerelease: false
293
279
  version_requirements: !ruby/object:Gem::Requirement
294
280
  requirements:
295
281
  - - ">="
296
282
  - !ruby/object:Gem::Version
297
- version: 0.17.5
283
+ version: 0.18.0
298
284
  - - "<"
299
285
  - !ruby/object:Gem::Version
300
- version: 0.18.0
286
+ version: 0.19.0
301
287
  - !ruby/object:Gem::Dependency
302
288
  name: tzinfo
303
289
  requirement: !ruby/object:Gem::Requirement
@@ -394,6 +380,7 @@ extra_rdoc_files: []
394
380
  files:
395
381
  - README.md
396
382
  - Rakefile
383
+ - VERSION
397
384
  - lib/startback.rb
398
385
  - lib/startback/audit.rb
399
386
  - lib/startback/audit/prometheus.rb
@@ -436,7 +423,6 @@ files:
436
423
  - lib/startback/web/middleware.rb
437
424
  - lib/startback/web/prometheus.rb
438
425
  - lib/startback/web/shield.rb
439
- - spec/rspec-unit.xml
440
426
  - spec/spec_helper.rb
441
427
  - spec/unit/audit/test_prometheus.rb
442
428
  - spec/unit/audit/test_trailer.rb
@@ -458,6 +444,7 @@ files:
458
444
  - spec/unit/web/fixtures/assets/app/hello.es6
459
445
  - spec/unit/web/fixtures/assets/app/hello.html
460
446
  - spec/unit/web/fixtures/assets/index.es6
447
+ - spec/unit/web/test_api.rb
461
448
  - spec/unit/web/test_auto_caching.rb
462
449
  - spec/unit/web/test_catch_all.rb
463
450
  - spec/unit/web/test_cors_headers.rb
@@ -468,7 +455,7 @@ homepage: http://www.enspirit.be
468
455
  licenses:
469
456
  - MIT
470
457
  metadata: {}
471
- post_install_message:
458
+ post_install_message:
472
459
  rdoc_options: []
473
460
  require_paths:
474
461
  - lib
@@ -483,8 +470,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
483
470
  - !ruby/object:Gem::Version
484
471
  version: '0'
485
472
  requirements: []
486
- rubygems_version: 3.1.4
487
- signing_key:
473
+ rubygems_version: 3.2.15
474
+ signing_key:
488
475
  specification_version: 4
489
476
  summary: Got Your Ruby Back
490
477
  test_files: []
data/spec/rspec-unit.xml DELETED
@@ -1,102 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <testsuite name="rspec" tests="96" skipped="0" failures="0" errors="0" time="3.187118" timestamp="2020-12-11T17:10:42+01:00" hostname="Cassiopeia.local">
3
- <properties>
4
- <property name="seed" value="38436"/>
5
- </properties>
6
- <testcase classname="spec.unit.audit.test_prometheus" name="Startback::Audit::Prometheus The ideal case runs the operation" file="./spec/unit/audit/test_prometheus.rb" time="0.004571"></testcase>
7
- <testcase classname="spec.unit.audit.test_prometheus" name="Startback::Audit::Prometheus The exceptional case let errors bubble up" file="./spec/unit/audit/test_prometheus.rb" time="0.001013"></testcase>
8
- <testcase classname="spec.unit.audit.test_trailer" name="Startback::Audit::Trailer op_data uses to_trail in priority if provided" file="./spec/unit/audit/test_trailer.rb" time="0.000181"></testcase>
9
- <testcase classname="spec.unit.audit.test_trailer" name="Startback::Audit::Trailer op_data uses input then" file="./spec/unit/audit/test_trailer.rb" time="0.000112"></testcase>
10
- <testcase classname="spec.unit.audit.test_trailer" name="Startback::Audit::Trailer op_data uses request then" file="./spec/unit/audit/test_trailer.rb" time="0.000105"></testcase>
11
- <testcase classname="spec.unit.audit.test_trailer" name="Startback::Audit::Trailer op_data applies default blacklists for security reasons" file="./spec/unit/audit/test_trailer.rb" time="0.000148"></testcase>
12
- <testcase classname="spec.unit.audit.test_trailer" name="Startback::Audit::Trailer op_data applies default blacklists to data arrays too" file="./spec/unit/audit/test_trailer.rb" time="0.000109"></testcase>
13
- <testcase classname="spec.unit.audit.test_trailer" name="Startback::Audit::Trailer op_data uses the stop words provided at construction" file="./spec/unit/audit/test_trailer.rb" time="0.000127"></testcase>
14
- <testcase classname="spec.unit.audit.test_trailer" name="Startback::Audit::Trailer op_context applies default blacklists for security reasons" file="./spec/unit/audit/test_trailer.rb" time="0.000107"></testcase>
15
- <testcase classname="spec.unit.bus.memory.test_async" name="Startback::Bus::Memory allows emiting an receiving" file="./spec/unit/bus/memory/test_async.rb" time="0.000419"></testcase>
16
- <testcase classname="spec.unit.bus.memory.test_async" name="Startback::Bus::Memory allows mixin Symbol vs. String for event type" file="./spec/unit/bus/memory/test_async.rb" time="0.000064"></testcase>
17
- <testcase classname="spec.unit.bus.memory.test_async" name="Startback::Bus::Memory does not raise errors synchronously" file="./spec/unit/bus/memory/test_async.rb" time="0.000763"></testcase>
18
- <testcase classname="spec.unit.bus.memory.test_sync" name="Startback::Bus::Memory allows emiting an receiving" file="./spec/unit/bus/memory/test_sync.rb" time="0.000113"></testcase>
19
- <testcase classname="spec.unit.bus.memory.test_sync" name="Startback::Bus::Memory allows mixin Symbol vs. String for event type" file="./spec/unit/bus/memory/test_sync.rb" time="0.000097"></testcase>
20
- <testcase classname="spec.unit.bus.memory.test_sync" name="Startback::Bus::Memory raises emit errors synchronously" file="./spec/unit/bus/memory/test_sync.rb" time="0.000072"></testcase>
21
- <testcase classname="spec.unit.caching.test_entity_cache" name="Startback::Caching::EntityCache default_ttl has a default ttl of one hour" file="./spec/unit/caching/test_entity_cache.rb" time="0.000050"></testcase>
22
- <testcase classname="spec.unit.caching.test_entity_cache" name="Startback::Caching::EntityCache default_ttl allows overriding it" file="./spec/unit/caching/test_entity_cache.rb" time="0.000040"></testcase>
23
- <testcase classname="spec.unit.caching.test_entity_cache" name="Startback::Caching::EntityCache default_ttl is accessible as default_caching_options on the instance" file="./spec/unit/caching/test_entity_cache.rb" time="0.000049"></testcase>
24
- <testcase classname="spec.unit.caching.test_entity_cache" name="Startback::Caching::EntityCache get yields to load_raw_data only once with the short key" file="./spec/unit/caching/test_entity_cache.rb" time="0.000114"></testcase>
25
- <testcase classname="spec.unit.caching.test_entity_cache" name="Startback::Caching::EntityCache primary_key allows using candidate keys" file="./spec/unit/caching/test_entity_cache.rb" time="0.000089"></testcase>
26
- <testcase classname="spec.unit.caching.test_entity_cache" name="Startback::Caching::EntityCache invalidate strips the key on the store, yielding a cache miss" file="./spec/unit/caching/test_entity_cache.rb" time="0.000109"></testcase>
27
- <testcase classname="spec.unit.caching.test_entity_cache" name="Startback::Caching::EntityCache valid? override yields to load_raw_data only once with the extend key" file="./spec/unit/caching/test_entity_cache.rb" time="0.000121"></testcase>
28
- <testcase classname="spec.unit.context.test_abstraction_factory" name="Startback::Context factor is a factory for other context-related abstractions" file="./spec/unit/context/test_abstraction_factory.rb" time="0.000571"></testcase>
29
- <testcase classname="spec.unit.context.test_abstraction_factory" name="Startback::Context factor is takes cares of abstraction arguments" file="./spec/unit/context/test_abstraction_factory.rb" time="0.000068"></testcase>
30
- <testcase classname="spec.unit.context.test_abstraction_factory" name="Startback::Context factor is caches even in presence ofabstraction arguments" file="./spec/unit/context/test_abstraction_factory.rb" time="0.000051"></testcase>
31
- <testcase classname="spec.unit.context.test_abstraction_factory" name="Startback::Context factor is distinguishes different abstraction arguments" file="./spec/unit/context/test_abstraction_factory.rb" time="0.000052"></testcase>
32
- <testcase classname="spec.unit.context.test_dup" name="Startback::Context dup yields a dup of the original context" file="./spec/unit/context/test_dup.rb" time="0.000062"></testcase>
33
- <testcase classname="spec.unit.context.test_dup" name="Startback::Context dup cleans all factored cache" file="./spec/unit/context/test_dup.rb" time="0.000053"></testcase>
34
- <testcase classname="spec.unit.context.test_h_factory" name="Startback::Context h information contract has a to_json that dumps it" file="./spec/unit/context/test_h_factory.rb" time="0.000047"></testcase>
35
- <testcase classname="spec.unit.context.test_h_factory" name="Startback::Context h information contract allows installing factories" file="./spec/unit/context/test_h_factory.rb" time="0.001609"></testcase>
36
- <testcase classname="spec.unit.context.test_h_factory" name="Startback::Context h information contract has a `to_h` information contract that works as expected" file="./spec/unit/context/test_h_factory.rb" time="0.000087"></testcase>
37
- <testcase classname="spec.unit.context.test_h_factory" name="Startback::Context h information contract has a `h` information contract that works as expected" file="./spec/unit/context/test_h_factory.rb" time="0.000050"></testcase>
38
- <testcase classname="spec.unit.context.test_middleware" name="Startback::Context::Middleware when used without option sets the default context class" file="./spec/unit/context/test_middleware.rb" time="0.003287"></testcase>
39
- <testcase classname="spec.unit.context.test_middleware" name="Startback::Context::Middleware when specifying the context class sets the default context class" file="./spec/unit/context/test_middleware.rb" time="0.000177"></testcase>
40
- <testcase classname="spec.unit.support.hooks.test_after_hook" name="Startback::Support::Hooks after_xxx works as expected" file="./spec/unit/support/hooks/test_after_hook.rb" time="0.000054"></testcase>
41
- <testcase classname="spec.unit.support.hooks.test_after_hook" name="Startback::Support::Hooks after_xxx works as expected on subclass" file="./spec/unit/support/hooks/test_after_hook.rb" time="0.000050"></testcase>
42
- <testcase classname="spec.unit.support.hooks.test_before_hook" name="Startback::Support::Hooks before_xxx works as expected" file="./spec/unit/support/hooks/test_before_hook.rb" time="0.000048"></testcase>
43
- <testcase classname="spec.unit.support.hooks.test_before_hook" name="Startback::Support::Hooks before_xxx works as expected on subclass" file="./spec/unit/support/hooks/test_before_hook.rb" time="0.000073"></testcase>
44
- <testcase classname="spec.unit.support.operation_runner.test_around_run" name="Startback::Support::OperationRunner around_run the simplest contract lets run an operation with world bound" file="./spec/unit/support/operation_runner/test_around_run.rb" time="0.000059"></testcase>
45
- <testcase classname="spec.unit.support.operation_runner.test_around_run" name="Startback::Support::OperationRunner around_run the around feature calls the around before the operation itself" file="./spec/unit/support/operation_runner/test_around_run.rb" time="0.000063"></testcase>
46
- <testcase classname="spec.unit.support.operation_runner.test_around_run" name="Startback::Support::OperationRunner around_run the around feature with a class calls the proc with expected parameters" file="./spec/unit/support/operation_runner/test_around_run.rb" time="0.000057"></testcase>
47
- <testcase classname="spec.unit.support.operation_runner.test_around_run" name="Startback::Support::OperationRunner around_run the around feature with a subclass executes all hooks" file="./spec/unit/support/operation_runner/test_around_run.rb" time="0.000063"></testcase>
48
- <testcase classname="spec.unit.support.operation_runner.test_before_after_call" name="Startback::Support::OperationRunner before_call runs before the around hooks" file="./spec/unit/support/operation_runner/test_before_after_call.rb" time="0.000054"></testcase>
49
- <testcase classname="spec.unit.support.test_robusteness" name="Startback::Support::Robustness monitor works" file="./spec/unit/support/test_robusteness.rb" time="0.000067"></testcase>
50
- <testcase classname="spec.unit.support.test_robusteness" name="Startback::Support::Robustness stop_errors works and logs the error" file="./spec/unit/support/test_robusteness.rb" time="0.000079"></testcase>
51
- <testcase classname="spec.unit.support.test_robusteness" name="Startback::Support::Robustness stop_errors returns the result if no error" file="./spec/unit/support/test_robusteness.rb" time="0.000060"></testcase>
52
- <testcase classname="spec.unit.support.test_robusteness" name="Startback::Support::Robustness try_max_times fails if n errors are seen" file="./spec/unit/support/test_robusteness.rb" time="1.003877"></testcase>
53
- <testcase classname="spec.unit.support.test_robusteness" name="Startback::Support::Robustness try_max_times suceeds if an attemps succeeds" file="./spec/unit/support/test_robusteness.rb" time="1.005224"></testcase>
54
- <testcase classname="spec.unit.support.test_robusteness" name="Startback::Support::Robustness try_max_times suceeds if first attemps succeeds" file="./spec/unit/support/test_robusteness.rb" time="0.000091"></testcase>
55
- <testcase classname="spec.unit.support.test_robusteness" name="Startback::Support::Robustness parse_args works fine with full op and no context" file="./spec/unit/support/test_robusteness.rb" time="0.000086"></testcase>
56
- <testcase classname="spec.unit.support.test_robusteness" name="Startback::Support::Robustness parse_args works fine with an string and a method name" file="./spec/unit/support/test_robusteness.rb" time="0.000046"></testcase>
57
- <testcase classname="spec.unit.support.test_robusteness" name="Startback::Support::Robustness parse_args works fine with an string, a method name, and a message" file="./spec/unit/support/test_robusteness.rb" time="0.000046"></testcase>
58
- <testcase classname="spec.unit.support.test_robusteness" name="Startback::Support::Robustness parse_args works fine with a string only" file="./spec/unit/support/test_robusteness.rb" time="0.000074"></testcase>
59
- <testcase classname="spec.unit.support.test_robusteness" name="Startback::Support::Robustness parse_args works fine with a string and a context with logger" file="./spec/unit/support/test_robusteness.rb" time="0.000052"></testcase>
60
- <testcase classname="spec.unit.support.test_robusteness" name="Startback::Support::Robustness parse_args works fine with a string and an extra hash" file="./spec/unit/support/test_robusteness.rb" time="0.000045"></testcase>
61
- <testcase classname="spec.unit.support.test_robusteness" name="Startback::Support::Robustness parse_args works fine with a module and method" file="./spec/unit/support/test_robusteness.rb" time="0.000069"></testcase>
62
- <testcase classname="spec.unit.support.test_robusteness" name="Startback::Support::Robustness parse_args works fine with a class and method" file="./spec/unit/support/test_robusteness.rb" time="0.000044"></testcase>
63
- <testcase classname="spec.unit.support.test_robusteness" name="Startback::Support::Robustness parse_args works fine with an instance and method" file="./spec/unit/support/test_robusteness.rb" time="0.000045"></testcase>
64
- <testcase classname="spec.unit.support.test_robusteness" name="Startback::Support::Robustness parse_args when a hash is passed as last arg" file="./spec/unit/support/test_robusteness.rb" time="0.000043"></testcase>
65
- <testcase classname="spec.unit.support.test_robusteness" name="Startback::Support::Robustness logger_for works on a logger" file="./spec/unit/support/test_robusteness.rb" time="0.000045"></testcase>
66
- <testcase classname="spec.unit.support.test_robusteness" name="Startback::Support::Robustness logger_for works on a Context responding to logger" file="./spec/unit/support/test_robusteness.rb" time="0.000043"></testcase>
67
- <testcase classname="spec.unit.support.test_robusteness" name="Startback::Support::Robustness logger_for works on an object having a Context responding to logger" file="./spec/unit/support/test_robusteness.rb" time="0.000089"></testcase>
68
- <testcase classname="spec.unit.support.test_robusteness" name="Startback::Support::Robustness logger_for works on an object having a Context but no logger" file="./spec/unit/support/test_robusteness.rb" time="0.000049"></testcase>
69
- <testcase classname="spec.unit.test_event" name="Startback::Event presents an ostruct on top of its data" file="./spec/unit/test_event.rb" time="0.000053"></testcase>
70
- <testcase classname="spec.unit.test_event" name="Startback::Event the json information contract has a to_json method that works as expected" file="./spec/unit/test_event.rb" time="0.000054"></testcase>
71
- <testcase classname="spec.unit.test_event" name="Startback::Event the json information contract has a to_json that dumps the context if any" file="./spec/unit/test_event.rb" time="0.000054"></testcase>
72
- <testcase classname="spec.unit.test_event" name="Startback::Event the json information contract has a json class method that works as expected" file="./spec/unit/test_event.rb" time="0.000105"></testcase>
73
- <testcase classname="spec.unit.test_event" name="Startback::Event the json information contract accepts an explicit context in the world" file="./spec/unit/test_event.rb" time="0.000045"></testcase>
74
- <testcase classname="spec.unit.test_event" name="Startback::Event the json information contract accepts an context factory in the world" file="./spec/unit/test_event.rb" time="0.000050"></testcase>
75
- <testcase classname="spec.unit.test_operation" name="Startback::Operation can be bound, which returns a new operation" file="./spec/unit/test_operation.rb" time="0.000068"></testcase>
76
- <testcase classname="spec.unit.test_operation" name="Startback::Operation::MultiOperation lets chain with +" file="./spec/unit/test_operation.rb" time="0.000049"></testcase>
77
- <testcase classname="spec.unit.test_operation" name="Startback::Operation::MultiOperation calls and collects the result on call" file="./spec/unit/test_operation.rb" time="0.000043"></testcase>
78
- <testcase classname="spec.unit.test_operation" name="Startback::Operation::MultiOperation binds every sub operation recursively" file="./spec/unit/test_operation.rb" time="0.000045"></testcase>
79
- <testcase classname="spec.unit.test_support" name="Startback::Support deep_merge works as expected" file="./spec/unit/test_support.rb" time="0.000047"></testcase>
80
- <testcase classname="spec.unit.web.test_auto_caching" name="Startback::Web::AutoCaching when used without options sets the development Cache-Control since this is a test" file="./spec/unit/web/test_auto_caching.rb" time="0.000205"></testcase>
81
- <testcase classname="spec.unit.web.test_auto_caching" name="Startback::Web::AutoCaching when forcing production sets the production Cache-Control" file="./spec/unit/web/test_auto_caching.rb" time="0.000128"></testcase>
82
- <testcase classname="spec.unit.web.test_auto_caching" name="Startback::Web::AutoCaching when forcing development headers sets the production Cache-Control" file="./spec/unit/web/test_auto_caching.rb" time="0.000138"></testcase>
83
- <testcase classname="spec.unit.web.test_auto_caching" name="Startback::Web::AutoCaching when setting the Cache-Control header only sets the production Cache-Control" file="./spec/unit/web/test_auto_caching.rb" time="0.000129"></testcase>
84
- <testcase classname="spec.unit.web.test_auto_caching" name="Startback::Web::AutoCaching when a Cache-Control header is already set by the app sets the production Cache-Control" file="./spec/unit/web/test_auto_caching.rb" time="0.000140"></testcase>
85
- <testcase classname="spec.unit.web.test_catch_all" name="Startback::Web::CatchAll when used without context returns a 500 with json explanation" file="./spec/unit/web/test_catch_all.rb" time="0.000520"></testcase>
86
- <testcase classname="spec.unit.web.test_catch_all" name="Startback::Web::CatchAll when used with a context providing an error handler returns a 500 with json explanation" file="./spec/unit/web/test_catch_all.rb" time="0.000225"></testcase>
87
- <testcase classname="spec.unit.web.test_cors_headers" name="Startback::Web::CorsHeaders when used without options sets the CORS headers to default values" file="./spec/unit/web/test_cors_headers.rb" time="0.000149"></testcase>
88
- <testcase classname="spec.unit.web.test_cors_headers" name="Startback::Web::CorsHeaders when used without options strips everything when option" file="./spec/unit/web/test_cors_headers.rb" time="0.000168"></testcase>
89
- <testcase classname="spec.unit.web.test_cors_headers" name="Startback::Web::CorsHeaders when used with the :bounce option sets the CORS Origin header to the caller" file="./spec/unit/web/test_cors_headers.rb" time="0.000154"></testcase>
90
- <testcase classname="spec.unit.web.test_cors_headers" name="Startback::Web::CorsHeaders when overriding a header sets the CORS Origin header to the caller" file="./spec/unit/web/test_cors_headers.rb" time="0.000165"></testcase>
91
- <testcase classname="spec.unit.web.test_cors_headers" name="Startback::Web::CorsHeaders when the app sets specific headers does not override them" file="./spec/unit/web/test_cors_headers.rb" time="0.000161"></testcase>
92
- <testcase classname="spec.unit.web.test_healthcheck" name="Startback::Web::HealthCheck when used without a block and no failure returns a 204 when ok" file="./spec/unit/web/test_healthcheck.rb" time="0.000163"></testcase>
93
- <testcase classname="spec.unit.web.test_healthcheck" name="Startback::Web::HealthCheck when used without a block a failure raises when ko" file="./spec/unit/web/test_healthcheck.rb" time="0.000144"></testcase>
94
- <testcase classname="spec.unit.web.test_healthcheck" name="Startback::Web::HealthCheck when used with a block returning a debug message returns a 200 with plain text message" file="./spec/unit/web/test_healthcheck.rb" time="0.000117"></testcase>
95
- <testcase classname="spec.unit.web.test_healthcheck" name="Startback::Web::HealthCheck when used with a block raising an exception re-raises it" file="./spec/unit/web/test_healthcheck.rb" time="0.000110"></testcase>
96
- <testcase classname="spec.unit.web.test_magic_assets" name="Startback::Web::MagicAssets when used as an app works as expected" file="./spec/unit/web/test_magic_assets.rb" time="0.380020"></testcase>
97
- <testcase classname="spec.unit.web.test_magic_assets" name="Startback::Web::MagicAssets when used as an app delegates a [] call to sprockets" file="./spec/unit/web/test_magic_assets.rb" time="0.257794"></testcase>
98
- <testcase classname="spec.unit.web.test_magic_assets" name="Startback::Web::MagicAssets when used as an app returns a 404 on unknown" file="./spec/unit/web/test_magic_assets.rb" time="0.000770"></testcase>
99
- <testcase classname="spec.unit.web.test_magic_assets" name="Startback::Web::MagicAssets when used as a middleware lets unrelated things pass" file="./spec/unit/web/test_magic_assets.rb" time="0.000333"></testcase>
100
- <testcase classname="spec.unit.web.test_magic_assets" name="Startback::Web::MagicAssets when used as a middleware serves the assets under the chosen path" file="./spec/unit/web/test_magic_assets.rb" time="0.256855"></testcase>
101
- <testcase classname="spec.unit.web.test_magic_assets" name="Startback::Web::MagicAssets when registering the NgHtmlTransformer works as expected" file="./spec/unit/web/test_magic_assets.rb" time="0.252975"></testcase>
102
- </testsuite>