inferno_core 0.0.1 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (67) hide show
  1. checksums.yaml +4 -4
  2. data/lib/inferno.rb +4 -0
  3. data/lib/inferno/apps/web/controllers/test_runs/create.rb +17 -10
  4. data/lib/inferno/apps/web/controllers/test_runs/show.rb +10 -0
  5. data/lib/inferno/apps/web/controllers/test_sessions/create.rb +1 -0
  6. data/lib/inferno/apps/web/controllers/test_sessions/last_test_run.rb +22 -0
  7. data/lib/inferno/apps/web/controllers/test_sessions/results/index.rb +6 -1
  8. data/lib/inferno/apps/web/controllers/test_sessions/session_data/index.rb +21 -0
  9. data/lib/inferno/apps/web/index.html.erb +44 -0
  10. data/lib/inferno/apps/web/router.rb +15 -0
  11. data/lib/inferno/apps/web/serializers/request.rb +1 -0
  12. data/lib/inferno/apps/web/serializers/result.rb +8 -0
  13. data/lib/inferno/apps/web/serializers/session_data.rb +10 -0
  14. data/lib/inferno/apps/web/serializers/test.rb +1 -3
  15. data/lib/inferno/apps/web/serializers/test_group.rb +2 -3
  16. data/lib/inferno/apps/web/serializers/test_run.rb +1 -0
  17. data/lib/inferno/apps/web/serializers/test_session.rb +1 -1
  18. data/lib/inferno/apps/web/serializers/test_suite.rb +1 -0
  19. data/lib/inferno/config/application.rb +4 -2
  20. data/lib/inferno/config/boot.rb +2 -0
  21. data/lib/inferno/config/boot/db.rb +10 -1
  22. data/lib/inferno/config/boot/sidekiq.rb +11 -0
  23. data/lib/inferno/db/migrations/001_create_initial_structure.rb +0 -21
  24. data/lib/inferno/db/migrations/002_add_wait_support.rb +7 -0
  25. data/lib/inferno/db/migrations/003_update_session_data.rb +18 -0
  26. data/lib/inferno/db/migrations/004_add_request_results_table.rb +9 -0
  27. data/lib/inferno/db/migrations/005_add_updated_at_index_to_results.rb +5 -0
  28. data/lib/inferno/db/schema.rb +154 -0
  29. data/lib/inferno/dsl.rb +1 -3
  30. data/lib/inferno/dsl/fhir_client_builder.rb +16 -0
  31. data/lib/inferno/dsl/request_storage.rb +12 -0
  32. data/lib/inferno/dsl/results.rb +49 -0
  33. data/lib/inferno/dsl/resume_test_route.rb +89 -0
  34. data/lib/inferno/dsl/runnable.rb +96 -7
  35. data/lib/inferno/entities.rb +1 -1
  36. data/lib/inferno/entities/header.rb +7 -7
  37. data/lib/inferno/entities/message.rb +8 -6
  38. data/lib/inferno/entities/request.rb +40 -14
  39. data/lib/inferno/entities/result.rb +34 -18
  40. data/lib/inferno/entities/session_data.rb +33 -0
  41. data/lib/inferno/entities/test.rb +20 -7
  42. data/lib/inferno/entities/test_run.rb +13 -6
  43. data/lib/inferno/entities/test_session.rb +8 -8
  44. data/lib/inferno/exceptions.rb +12 -0
  45. data/lib/inferno/jobs.rb +16 -0
  46. data/lib/inferno/jobs/execute_test_run.rb +14 -0
  47. data/lib/inferno/jobs/resume_test_run.rb +14 -0
  48. data/lib/inferno/public/bundle.js +1 -1
  49. data/lib/inferno/repositories/repository.rb +13 -0
  50. data/lib/inferno/repositories/requests.rb +5 -4
  51. data/lib/inferno/repositories/results.rb +151 -3
  52. data/lib/inferno/repositories/session_data.rb +47 -0
  53. data/lib/inferno/repositories/test_runs.rb +66 -0
  54. data/lib/inferno/test_runner.rb +121 -29
  55. data/lib/inferno/utils/middleware/request_logger.rb +16 -3
  56. data/lib/inferno/version.rb +1 -1
  57. data/spec/factories/header.rb +19 -0
  58. data/spec/factories/message.rb +17 -0
  59. data/spec/factories/request.rb +35 -0
  60. data/spec/factories/result.rb +45 -0
  61. data/spec/factories/test_run.rb +24 -0
  62. data/spec/factories/test_session.rb +11 -0
  63. data/spec/fixtures/basic_test_group.rb +9 -0
  64. data/spec/fixtures/basic_test_suite.rb +8 -0
  65. metadata +139 -89
  66. data/lib/inferno/dsl/fhir_manipulation.rb +0 -25
  67. data/lib/inferno/entities/test_input.rb +0 -20
@@ -29,11 +29,17 @@ module Inferno
29
29
 
30
30
  def log_response(response, start_time, end_time, exception = nil)
31
31
  elapsed = end_time - start_time
32
- status, _response_headers, response_body = response if response
32
+ status, _response_headers, body = response if response
33
33
  status, = response if exception
34
34
 
35
35
  logger.info("#{status} in #{elapsed.in_milliseconds} ms")
36
- logger.info(response_body)
36
+ return unless body.present?
37
+
38
+ if body.length > 100
39
+ logger.info("#{body[0..100]}...")
40
+ else
41
+ logger.info(body)
42
+ end
37
43
  end
38
44
 
39
45
  def log_request(env)
@@ -47,7 +53,14 @@ module Inferno
47
53
  query_string = query.blank? ? '' : "?#{query}"
48
54
 
49
55
  logger.info("#{method} #{scheme}://#{host}#{path}#{query_string}")
50
- logger.info(body) if body.present?
56
+
57
+ return unless body.present?
58
+
59
+ if body.length > 100
60
+ logger.info("#{body[0..100]}...")
61
+ else
62
+ logger.info(body)
63
+ end
51
64
  end
52
65
  end
53
66
  end
@@ -1,3 +1,3 @@
1
1
  module Inferno
2
- VERSION = '0.0.1'.freeze
2
+ VERSION = '0.0.5'.freeze
3
3
  end
@@ -0,0 +1,19 @@
1
+ FactoryBot.define do
2
+ factory :header, class: 'Inferno::Entities::Header' do
3
+ request
4
+
5
+ request_id { request.index }
6
+
7
+ sequence(:name) { |n| "HEADER NAME #{n}" }
8
+
9
+ sequence(:value) { |n| "HEADER VALUE #{n}" }
10
+
11
+ sequence(:type) { |n| n.even? ? 'request' : 'response' }
12
+
13
+ initialize_with { new(**attributes) }
14
+
15
+ to_create do |instance|
16
+ Inferno::Repositories::Headers.new.create(instance.to_hash)
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,17 @@
1
+ FactoryBot.define do
2
+ factory :message, class: 'Inferno::Entities::Message' do
3
+ result
4
+
5
+ result_id { result.id }
6
+
7
+ sequence(:message) { |n| "MESSAGE #{n}" }
8
+
9
+ type { Inferno::Entities::Message::TYPES.sample }
10
+
11
+ initialize_with { new(**attributes) }
12
+
13
+ to_create do |instance|
14
+ Inferno::Repositories::Messages.new.create(instance.to_hash)
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,35 @@
1
+ FactoryBot.define do
2
+ factory :request, class: 'Inferno::Entities::Request' do
3
+ transient do
4
+ result
5
+ header_count { 2 }
6
+ end
7
+
8
+ result_id { result.id }
9
+
10
+ verb { 'get' }
11
+ url { 'http://www.example.com' }
12
+ name { nil }
13
+ status { 200 }
14
+ direction { 'outgoing' }
15
+
16
+ request_body { nil }
17
+
18
+ sequence(:response_body) { |n| "RESPONSE_BODY #{n}" }
19
+
20
+ test_session_id { result.test_session_id }
21
+
22
+ initialize_with { new(**attributes) }
23
+
24
+ to_create do |instance|
25
+ Inferno::Repositories::Requests.new.create(instance.to_hash)
26
+ end
27
+
28
+ after(:create) do |instance, evaluator|
29
+ instance.instance_variable_set(
30
+ :@headers,
31
+ repo_create_list(:header, evaluator.header_count, request_id: instance.index)
32
+ )
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,45 @@
1
+ FactoryBot.define do
2
+ factory :result, class: 'Inferno::Entities::Result' do
3
+ transient do
4
+ runnable { test_run.runnable.reference_hash }
5
+ test_run
6
+ test_session { test_run.test_session }
7
+ message_count { 0 }
8
+ request_count { 0 }
9
+ end
10
+
11
+ test_session_id { test_session.id }
12
+ test_run_id { test_run.id }
13
+
14
+ test_suite_id { runnable[:test_suite_id] }
15
+ test_group_id { runnable[:test_group_id] }
16
+ test_id { runnable[:test_id] }
17
+ output_json { '[]' }
18
+
19
+ result { 'pass' }
20
+
21
+ initialize_with { new(**attributes) }
22
+
23
+ before(:create) do |instance, evaluator|
24
+ instance.instance_variable_set(
25
+ :@requests,
26
+ repo_create_list(:request, evaluator.request_count, result_id: instance.id)
27
+ )
28
+ end
29
+
30
+ to_create do |instance|
31
+ Inferno::Repositories::Results.new.create(instance.to_hash)
32
+ end
33
+
34
+ after(:create) do |instance, evaluator|
35
+ instance.instance_variable_set(
36
+ :@messages,
37
+ repo_create_list(:message, evaluator.message_count, result_id: instance.id)
38
+ )
39
+ instance.instance_variable_set(
40
+ :@requests,
41
+ repo_create_list(:request, evaluator.request_count, result_id: instance.id)
42
+ )
43
+ end
44
+ end
45
+ end
@@ -0,0 +1,24 @@
1
+ FactoryBot.define do
2
+ factory :test_run, class: 'Inferno::Entities::TestRun' do
3
+ test_session
4
+ test_session_id { test_session.id }
5
+
6
+ transient do
7
+ runnable { { test_suite_id: 'BasicTestSuite::Suite' } }
8
+ end
9
+
10
+ test_suite_id { runnable[:test_suite_id] }
11
+ test_group_id { runnable[:test_group_id] }
12
+ test_id { runnable[:test_id] }
13
+ status { 'queued' }
14
+
15
+ inputs { nil }
16
+ wait_timeout { nil }
17
+
18
+ initialize_with { new(**attributes) }
19
+
20
+ to_create do |instance|
21
+ Inferno::Repositories::TestRuns.new.create(instance.to_hash).tap(&:runnable)
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,11 @@
1
+ require_relative '../../lib/inferno/repositories'
2
+
3
+ FactoryBot.define do
4
+ factory :test_session, class: 'Inferno::Entities::TestSession' do
5
+ test_suite_id { 'BasicTestSuite::Suite' }
6
+
7
+ initialize_with { new(**attributes) }
8
+
9
+ to_create { |instance| Inferno::Repositories::TestSessions.new.create(instance.to_hash) }
10
+ end
11
+ end
@@ -0,0 +1,9 @@
1
+ module BasicTestSuite
2
+ class AbcGroup < Inferno::Entities::TestGroup
3
+ title 'ABC Group'
4
+
5
+ test 'demo_test' do
6
+ 1 + 1
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,8 @@
1
+ require_relative 'basic_test_group'
2
+
3
+ module BasicTestSuite
4
+ class Suite < Inferno::Entities::TestSuite
5
+ title 'Basic Test Suite'
6
+ group from: 'BasicTestSuite::AbcGroup'
7
+ end
8
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: inferno_core
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stephen MacVicar
@@ -10,50 +10,50 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2021-06-15 00:00:00.000000000 Z
13
+ date: 2021-08-10 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: activesupport
17
17
  requirement: !ruby/object:Gem::Requirement
18
18
  requirements:
19
- - - ">="
19
+ - - "~>"
20
20
  - !ruby/object:Gem::Version
21
- version: '0'
21
+ version: '6.1'
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
25
25
  requirements:
26
- - - ">="
26
+ - - "~>"
27
27
  - !ruby/object:Gem::Version
28
- version: '0'
28
+ version: '6.1'
29
29
  - !ruby/object:Gem::Dependency
30
30
  name: blueprinter
31
31
  requirement: !ruby/object:Gem::Requirement
32
32
  requirements:
33
- - - ">="
33
+ - - '='
34
34
  - !ruby/object:Gem::Version
35
- version: '0'
35
+ version: 0.25.2
36
36
  type: :runtime
37
37
  prerelease: false
38
38
  version_requirements: !ruby/object:Gem::Requirement
39
39
  requirements:
40
- - - ">="
40
+ - - '='
41
41
  - !ruby/object:Gem::Version
42
- version: '0'
42
+ version: 0.25.2
43
43
  - !ruby/object:Gem::Dependency
44
44
  name: dotenv
45
45
  requirement: !ruby/object:Gem::Requirement
46
46
  requirements:
47
- - - ">="
47
+ - - "~>"
48
48
  - !ruby/object:Gem::Version
49
- version: '0'
49
+ version: '2.7'
50
50
  type: :runtime
51
51
  prerelease: false
52
52
  version_requirements: !ruby/object:Gem::Requirement
53
53
  requirements:
54
- - - ">="
54
+ - - "~>"
55
55
  - !ruby/object:Gem::Version
56
- version: '0'
56
+ version: '2.7'
57
57
  - !ruby/object:Gem::Dependency
58
58
  name: dry-system
59
59
  requirement: !ruby/object:Gem::Requirement
@@ -72,30 +72,44 @@ dependencies:
72
72
  name: faraday
73
73
  requirement: !ruby/object:Gem::Requirement
74
74
  requirements:
75
- - - ">="
75
+ - - "~>"
76
76
  - !ruby/object:Gem::Version
77
- version: '0'
77
+ version: '1.2'
78
78
  type: :runtime
79
79
  prerelease: false
80
80
  version_requirements: !ruby/object:Gem::Requirement
81
81
  requirements:
82
- - - ">="
82
+ - - "~>"
83
83
  - !ruby/object:Gem::Version
84
- version: '0'
84
+ version: '1.2'
85
85
  - !ruby/object:Gem::Dependency
86
86
  name: fhir_client
87
87
  requirement: !ruby/object:Gem::Requirement
88
88
  requirements:
89
- - - ">="
89
+ - - "~>"
90
90
  - !ruby/object:Gem::Version
91
- version: '0'
91
+ version: '4.0'
92
92
  type: :runtime
93
93
  prerelease: false
94
94
  version_requirements: !ruby/object:Gem::Requirement
95
95
  requirements:
96
- - - ">="
96
+ - - "~>"
97
97
  - !ruby/object:Gem::Version
98
- version: '0'
98
+ version: '4.0'
99
+ - !ruby/object:Gem::Dependency
100
+ name: fhir_models
101
+ requirement: !ruby/object:Gem::Requirement
102
+ requirements:
103
+ - - "~>"
104
+ - !ruby/object:Gem::Version
105
+ version: 4.2.0
106
+ type: :runtime
107
+ prerelease: false
108
+ version_requirements: !ruby/object:Gem::Requirement
109
+ requirements:
110
+ - - "~>"
111
+ - !ruby/object:Gem::Version
112
+ version: 4.2.0
99
113
  - !ruby/object:Gem::Dependency
100
114
  name: hanami-controller
101
115
  requirement: !ruby/object:Gem::Requirement
@@ -128,16 +142,16 @@ dependencies:
128
142
  name: oj
129
143
  requirement: !ruby/object:Gem::Requirement
130
144
  requirements:
131
- - - ">="
145
+ - - "~>"
132
146
  - !ruby/object:Gem::Version
133
- version: '0'
147
+ version: '3.11'
134
148
  type: :runtime
135
149
  prerelease: false
136
150
  version_requirements: !ruby/object:Gem::Requirement
137
151
  requirements:
138
- - - ">="
152
+ - - "~>"
139
153
  - !ruby/object:Gem::Version
140
- version: '0'
154
+ version: '3.11'
141
155
  - !ruby/object:Gem::Dependency
142
156
  name: pry
143
157
  requirement: !ruby/object:Gem::Requirement
@@ -170,128 +184,142 @@ dependencies:
170
184
  name: puma
171
185
  requirement: !ruby/object:Gem::Requirement
172
186
  requirements:
173
- - - ">="
187
+ - - "~>"
174
188
  - !ruby/object:Gem::Version
175
- version: '0'
189
+ version: '5.3'
176
190
  type: :runtime
177
191
  prerelease: false
178
192
  version_requirements: !ruby/object:Gem::Requirement
179
193
  requirements:
180
- - - ">="
194
+ - - "~>"
181
195
  - !ruby/object:Gem::Version
182
- version: '0'
196
+ version: '5.3'
183
197
  - !ruby/object:Gem::Dependency
184
198
  name: rake
185
199
  requirement: !ruby/object:Gem::Requirement
186
200
  requirements:
187
- - - ">="
201
+ - - "~>"
188
202
  - !ruby/object:Gem::Version
189
- version: '0'
203
+ version: '13.0'
190
204
  type: :runtime
191
205
  prerelease: false
192
206
  version_requirements: !ruby/object:Gem::Requirement
193
207
  requirements:
194
- - - ">="
208
+ - - "~>"
195
209
  - !ruby/object:Gem::Version
196
- version: '0'
210
+ version: '13.0'
197
211
  - !ruby/object:Gem::Dependency
198
212
  name: sequel
199
213
  requirement: !ruby/object:Gem::Requirement
200
214
  requirements:
201
- - - ">="
215
+ - - "~>"
202
216
  - !ruby/object:Gem::Version
203
- version: '0'
217
+ version: '5.42'
204
218
  type: :runtime
205
219
  prerelease: false
206
220
  version_requirements: !ruby/object:Gem::Requirement
207
221
  requirements:
208
- - - ">="
222
+ - - "~>"
209
223
  - !ruby/object:Gem::Version
210
- version: '0'
224
+ version: '5.42'
225
+ - !ruby/object:Gem::Dependency
226
+ name: sidekiq
227
+ requirement: !ruby/object:Gem::Requirement
228
+ requirements:
229
+ - - "~>"
230
+ - !ruby/object:Gem::Version
231
+ version: 6.2.1
232
+ type: :runtime
233
+ prerelease: false
234
+ version_requirements: !ruby/object:Gem::Requirement
235
+ requirements:
236
+ - - "~>"
237
+ - !ruby/object:Gem::Version
238
+ version: 6.2.1
211
239
  - !ruby/object:Gem::Dependency
212
240
  name: sqlite3
213
241
  requirement: !ruby/object:Gem::Requirement
214
242
  requirements:
215
- - - ">="
243
+ - - "~>"
216
244
  - !ruby/object:Gem::Version
217
- version: '0'
245
+ version: '1.4'
218
246
  type: :runtime
219
247
  prerelease: false
220
248
  version_requirements: !ruby/object:Gem::Requirement
221
249
  requirements:
222
- - - ">="
250
+ - - "~>"
223
251
  - !ruby/object:Gem::Version
224
- version: '0'
252
+ version: '1.4'
225
253
  - !ruby/object:Gem::Dependency
226
254
  name: codecov
227
255
  requirement: !ruby/object:Gem::Requirement
228
256
  requirements:
229
- - - ">="
257
+ - - '='
230
258
  - !ruby/object:Gem::Version
231
- version: '0'
259
+ version: 0.5.2
232
260
  type: :development
233
261
  prerelease: false
234
262
  version_requirements: !ruby/object:Gem::Requirement
235
263
  requirements:
236
- - - ">="
264
+ - - '='
237
265
  - !ruby/object:Gem::Version
238
- version: '0'
266
+ version: 0.5.2
239
267
  - !ruby/object:Gem::Dependency
240
268
  name: database_cleaner-sequel
241
269
  requirement: !ruby/object:Gem::Requirement
242
270
  requirements:
243
- - - ">="
271
+ - - "~>"
244
272
  - !ruby/object:Gem::Version
245
- version: '0'
273
+ version: '1.8'
246
274
  type: :development
247
275
  prerelease: false
248
276
  version_requirements: !ruby/object:Gem::Requirement
249
277
  requirements:
250
- - - ">="
278
+ - - "~>"
251
279
  - !ruby/object:Gem::Version
252
- version: '0'
280
+ version: '1.8'
253
281
  - !ruby/object:Gem::Dependency
254
282
  name: factory_bot
255
283
  requirement: !ruby/object:Gem::Requirement
256
284
  requirements:
257
- - - ">="
285
+ - - "~>"
258
286
  - !ruby/object:Gem::Version
259
- version: '0'
287
+ version: '6.1'
260
288
  type: :development
261
289
  prerelease: false
262
290
  version_requirements: !ruby/object:Gem::Requirement
263
291
  requirements:
264
- - - ">="
292
+ - - "~>"
265
293
  - !ruby/object:Gem::Version
266
- version: '0'
294
+ version: '6.1'
267
295
  - !ruby/object:Gem::Dependency
268
296
  name: rack-test
269
297
  requirement: !ruby/object:Gem::Requirement
270
298
  requirements:
271
- - - ">="
299
+ - - "~>"
272
300
  - !ruby/object:Gem::Version
273
- version: '0'
301
+ version: '1.1'
274
302
  type: :development
275
303
  prerelease: false
276
304
  version_requirements: !ruby/object:Gem::Requirement
277
305
  requirements:
278
- - - ">="
306
+ - - "~>"
279
307
  - !ruby/object:Gem::Version
280
- version: '0'
308
+ version: '1.1'
281
309
  - !ruby/object:Gem::Dependency
282
310
  name: rspec
283
311
  requirement: !ruby/object:Gem::Requirement
284
312
  requirements:
285
- - - ">="
313
+ - - "~>"
286
314
  - !ruby/object:Gem::Version
287
- version: '0'
315
+ version: '3.10'
288
316
  type: :development
289
317
  prerelease: false
290
318
  version_requirements: !ruby/object:Gem::Requirement
291
319
  requirements:
292
- - - ">="
320
+ - - "~>"
293
321
  - !ruby/object:Gem::Version
294
- version: '0'
322
+ version: '3.10'
295
323
  - !ruby/object:Gem::Dependency
296
324
  name: rubocop
297
325
  requirement: !ruby/object:Gem::Requirement
@@ -310,86 +338,86 @@ dependencies:
310
338
  name: rubocop-rake
311
339
  requirement: !ruby/object:Gem::Requirement
312
340
  requirements:
313
- - - ">="
341
+ - - '='
314
342
  - !ruby/object:Gem::Version
315
- version: '0'
343
+ version: 0.5.1
316
344
  type: :development
317
345
  prerelease: false
318
346
  version_requirements: !ruby/object:Gem::Requirement
319
347
  requirements:
320
- - - ">="
348
+ - - '='
321
349
  - !ruby/object:Gem::Version
322
- version: '0'
350
+ version: 0.5.1
323
351
  - !ruby/object:Gem::Dependency
324
352
  name: rubocop-rspec
325
353
  requirement: !ruby/object:Gem::Requirement
326
354
  requirements:
327
- - - ">="
355
+ - - "~>"
328
356
  - !ruby/object:Gem::Version
329
- version: '0'
357
+ version: '2.1'
330
358
  type: :development
331
359
  prerelease: false
332
360
  version_requirements: !ruby/object:Gem::Requirement
333
361
  requirements:
334
- - - ">="
362
+ - - "~>"
335
363
  - !ruby/object:Gem::Version
336
- version: '0'
364
+ version: '2.1'
337
365
  - !ruby/object:Gem::Dependency
338
366
  name: rubocop-sequel
339
367
  requirement: !ruby/object:Gem::Requirement
340
368
  requirements:
341
- - - ">="
369
+ - - '='
342
370
  - !ruby/object:Gem::Version
343
- version: '0'
371
+ version: 0.1.0
344
372
  type: :development
345
373
  prerelease: false
346
374
  version_requirements: !ruby/object:Gem::Requirement
347
375
  requirements:
348
- - - ">="
376
+ - - '='
349
377
  - !ruby/object:Gem::Version
350
- version: '0'
378
+ version: 0.1.0
351
379
  - !ruby/object:Gem::Dependency
352
380
  name: simplecov
353
381
  requirement: !ruby/object:Gem::Requirement
354
382
  requirements:
355
- - - ">="
383
+ - - '='
356
384
  - !ruby/object:Gem::Version
357
- version: '0'
385
+ version: 0.21.2
358
386
  type: :development
359
387
  prerelease: false
360
388
  version_requirements: !ruby/object:Gem::Requirement
361
389
  requirements:
362
- - - ">="
390
+ - - '='
363
391
  - !ruby/object:Gem::Version
364
- version: '0'
392
+ version: 0.21.2
365
393
  - !ruby/object:Gem::Dependency
366
394
  name: webmock
367
395
  requirement: !ruby/object:Gem::Requirement
368
396
  requirements:
369
- - - ">="
397
+ - - "~>"
370
398
  - !ruby/object:Gem::Version
371
- version: '0'
399
+ version: '3.11'
372
400
  type: :development
373
401
  prerelease: false
374
402
  version_requirements: !ruby/object:Gem::Requirement
375
403
  requirements:
376
- - - ">="
404
+ - - "~>"
377
405
  - !ruby/object:Gem::Version
378
- version: '0'
406
+ version: '3.11'
379
407
  - !ruby/object:Gem::Dependency
380
408
  name: yard
381
409
  requirement: !ruby/object:Gem::Requirement
382
410
  requirements:
383
- - - ">="
411
+ - - '='
384
412
  - !ruby/object:Gem::Version
385
- version: '0'
413
+ version: 0.9.26
386
414
  type: :development
387
415
  prerelease: false
388
416
  version_requirements: !ruby/object:Gem::Requirement
389
417
  requirements:
390
- - - ">="
418
+ - - '='
391
419
  - !ruby/object:Gem::Version
392
- version: '0'
420
+ version: 0.9.26
393
421
  description: Inferno Core is an open source tool for testing data exchanges enabled
394
422
  by the FHIR standand
395
423
  email:
@@ -409,10 +437,13 @@ files:
409
437
  - lib/inferno/apps/web/controllers/test_runs/results/index.rb
410
438
  - lib/inferno/apps/web/controllers/test_runs/show.rb
411
439
  - lib/inferno/apps/web/controllers/test_sessions/create.rb
440
+ - lib/inferno/apps/web/controllers/test_sessions/last_test_run.rb
412
441
  - lib/inferno/apps/web/controllers/test_sessions/results/index.rb
442
+ - lib/inferno/apps/web/controllers/test_sessions/session_data/index.rb
413
443
  - lib/inferno/apps/web/controllers/test_sessions/show.rb
414
444
  - lib/inferno/apps/web/controllers/test_suites/index.rb
415
445
  - lib/inferno/apps/web/controllers/test_suites/show.rb
446
+ - lib/inferno/apps/web/index.html.erb
416
447
  - lib/inferno/apps/web/router.rb
417
448
  - lib/inferno/apps/web/serializers/header.rb
418
449
  - lib/inferno/apps/web/serializers/input.rb
@@ -420,6 +451,7 @@ files:
420
451
  - lib/inferno/apps/web/serializers/request.rb
421
452
  - lib/inferno/apps/web/serializers/result.rb
422
453
  - lib/inferno/apps/web/serializers/serializer.rb
454
+ - lib/inferno/apps/web/serializers/session_data.rb
423
455
  - lib/inferno/apps/web/serializers/test.rb
424
456
  - lib/inferno/apps/web/serializers/test_group.rb
425
457
  - lib/inferno/apps/web/serializers/test_run.rb
@@ -429,19 +461,25 @@ files:
429
461
  - lib/inferno/config/boot.rb
430
462
  - lib/inferno/config/boot/db.rb
431
463
  - lib/inferno/config/boot/logging.rb
464
+ - lib/inferno/config/boot/sidekiq.rb
432
465
  - lib/inferno/config/boot/suites.rb
433
466
  - lib/inferno/config/boot/web.rb
434
467
  - lib/inferno/db/migrations/001_create_initial_structure.rb
468
+ - lib/inferno/db/migrations/002_add_wait_support.rb
469
+ - lib/inferno/db/migrations/003_update_session_data.rb
470
+ - lib/inferno/db/migrations/004_add_request_results_table.rb
471
+ - lib/inferno/db/migrations/005_add_updated_at_index_to_results.rb
472
+ - lib/inferno/db/schema.rb
435
473
  - lib/inferno/dsl.rb
436
474
  - lib/inferno/dsl/assertions.rb
437
475
  - lib/inferno/dsl/fhir_client.rb
438
476
  - lib/inferno/dsl/fhir_client_builder.rb
439
- - lib/inferno/dsl/fhir_manipulation.rb
440
477
  - lib/inferno/dsl/fhir_validation.rb
441
478
  - lib/inferno/dsl/http_client.rb
442
479
  - lib/inferno/dsl/http_client_builder.rb
443
480
  - lib/inferno/dsl/request_storage.rb
444
481
  - lib/inferno/dsl/results.rb
482
+ - lib/inferno/dsl/resume_test_route.rb
445
483
  - lib/inferno/dsl/runnable.rb
446
484
  - lib/inferno/entities.rb
447
485
  - lib/inferno/entities/attributes.rb
@@ -450,13 +488,16 @@ files:
450
488
  - lib/inferno/entities/message.rb
451
489
  - lib/inferno/entities/request.rb
452
490
  - lib/inferno/entities/result.rb
491
+ - lib/inferno/entities/session_data.rb
453
492
  - lib/inferno/entities/test.rb
454
493
  - lib/inferno/entities/test_group.rb
455
- - lib/inferno/entities/test_input.rb
456
494
  - lib/inferno/entities/test_run.rb
457
495
  - lib/inferno/entities/test_session.rb
458
496
  - lib/inferno/entities/test_suite.rb
459
497
  - lib/inferno/exceptions.rb
498
+ - lib/inferno/jobs.rb
499
+ - lib/inferno/jobs/execute_test_run.rb
500
+ - lib/inferno/jobs/resume_test_run.rb
460
501
  - lib/inferno/public/217.bundle.js
461
502
  - lib/inferno/public/assets.json
462
503
  - lib/inferno/public/bundle.js
@@ -472,6 +513,7 @@ files:
472
513
  - lib/inferno/repositories/repository.rb
473
514
  - lib/inferno/repositories/requests.rb
474
515
  - lib/inferno/repositories/results.rb
516
+ - lib/inferno/repositories/session_data.rb
475
517
  - lib/inferno/repositories/test_groups.rb
476
518
  - lib/inferno/repositories/test_runs.rb
477
519
  - lib/inferno/repositories/test_sessions.rb
@@ -482,6 +524,14 @@ files:
482
524
  - lib/inferno/test_runner.rb
483
525
  - lib/inferno/utils/middleware/request_logger.rb
484
526
  - lib/inferno/version.rb
527
+ - spec/factories/header.rb
528
+ - spec/factories/message.rb
529
+ - spec/factories/request.rb
530
+ - spec/factories/result.rb
531
+ - spec/factories/test_run.rb
532
+ - spec/factories/test_session.rb
533
+ - spec/fixtures/basic_test_group.rb
534
+ - spec/fixtures/basic_test_suite.rb
485
535
  - spec/support/factory_bot.rb
486
536
  homepage: https://github.com/inferno_community/inferno-core
487
537
  licenses:
@@ -506,7 +556,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
506
556
  - !ruby/object:Gem::Version
507
557
  version: '0'
508
558
  requirements: []
509
- rubygems_version: 3.1.4
559
+ rubygems_version: 3.1.6
510
560
  signing_key:
511
561
  specification_version: 4
512
562
  summary: Inferno Core is an open source tool for testing data exchanges enabled by