inferno_core 0.0.1 → 0.0.5

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.
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