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.
- checksums.yaml +4 -4
- data/lib/inferno.rb +4 -0
- data/lib/inferno/apps/web/controllers/test_runs/create.rb +17 -10
- data/lib/inferno/apps/web/controllers/test_runs/show.rb +10 -0
- data/lib/inferno/apps/web/controllers/test_sessions/create.rb +1 -0
- data/lib/inferno/apps/web/controllers/test_sessions/last_test_run.rb +22 -0
- data/lib/inferno/apps/web/controllers/test_sessions/results/index.rb +6 -1
- data/lib/inferno/apps/web/controllers/test_sessions/session_data/index.rb +21 -0
- data/lib/inferno/apps/web/index.html.erb +44 -0
- data/lib/inferno/apps/web/router.rb +15 -0
- data/lib/inferno/apps/web/serializers/request.rb +1 -0
- data/lib/inferno/apps/web/serializers/result.rb +8 -0
- data/lib/inferno/apps/web/serializers/session_data.rb +10 -0
- data/lib/inferno/apps/web/serializers/test.rb +1 -3
- data/lib/inferno/apps/web/serializers/test_group.rb +2 -3
- data/lib/inferno/apps/web/serializers/test_run.rb +1 -0
- data/lib/inferno/apps/web/serializers/test_session.rb +1 -1
- data/lib/inferno/apps/web/serializers/test_suite.rb +1 -0
- data/lib/inferno/config/application.rb +4 -2
- data/lib/inferno/config/boot.rb +2 -0
- data/lib/inferno/config/boot/db.rb +10 -1
- data/lib/inferno/config/boot/sidekiq.rb +11 -0
- data/lib/inferno/db/migrations/001_create_initial_structure.rb +0 -21
- data/lib/inferno/db/migrations/002_add_wait_support.rb +7 -0
- data/lib/inferno/db/migrations/003_update_session_data.rb +18 -0
- data/lib/inferno/db/migrations/004_add_request_results_table.rb +9 -0
- data/lib/inferno/db/migrations/005_add_updated_at_index_to_results.rb +5 -0
- data/lib/inferno/db/schema.rb +154 -0
- data/lib/inferno/dsl.rb +1 -3
- data/lib/inferno/dsl/fhir_client_builder.rb +16 -0
- data/lib/inferno/dsl/request_storage.rb +12 -0
- data/lib/inferno/dsl/results.rb +49 -0
- data/lib/inferno/dsl/resume_test_route.rb +89 -0
- data/lib/inferno/dsl/runnable.rb +96 -7
- data/lib/inferno/entities.rb +1 -1
- data/lib/inferno/entities/header.rb +7 -7
- data/lib/inferno/entities/message.rb +8 -6
- data/lib/inferno/entities/request.rb +40 -14
- data/lib/inferno/entities/result.rb +34 -18
- data/lib/inferno/entities/session_data.rb +33 -0
- data/lib/inferno/entities/test.rb +20 -7
- data/lib/inferno/entities/test_run.rb +13 -6
- data/lib/inferno/entities/test_session.rb +8 -8
- data/lib/inferno/exceptions.rb +12 -0
- data/lib/inferno/jobs.rb +16 -0
- data/lib/inferno/jobs/execute_test_run.rb +14 -0
- data/lib/inferno/jobs/resume_test_run.rb +14 -0
- data/lib/inferno/public/bundle.js +1 -1
- data/lib/inferno/repositories/repository.rb +13 -0
- data/lib/inferno/repositories/requests.rb +5 -4
- data/lib/inferno/repositories/results.rb +151 -3
- data/lib/inferno/repositories/session_data.rb +47 -0
- data/lib/inferno/repositories/test_runs.rb +66 -0
- data/lib/inferno/test_runner.rb +121 -29
- data/lib/inferno/utils/middleware/request_logger.rb +16 -3
- data/lib/inferno/version.rb +1 -1
- data/spec/factories/header.rb +19 -0
- data/spec/factories/message.rb +17 -0
- data/spec/factories/request.rb +35 -0
- data/spec/factories/result.rb +45 -0
- data/spec/factories/test_run.rb +24 -0
- data/spec/factories/test_session.rb +11 -0
- data/spec/fixtures/basic_test_group.rb +9 -0
- data/spec/fixtures/basic_test_suite.rb +8 -0
- metadata +139 -89
- data/lib/inferno/dsl/fhir_manipulation.rb +0 -25
- 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,
|
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
|
-
|
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
|
-
|
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
|
data/lib/inferno/version.rb
CHANGED
@@ -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
|
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.
|
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-
|
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: '
|
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: '
|
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:
|
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:
|
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: '
|
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: '
|
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: '
|
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: '
|
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: '
|
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: '
|
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: '
|
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: '
|
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: '
|
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: '
|
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: '
|
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: '
|
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:
|
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:
|
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: '
|
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: '
|
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: '
|
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: '
|
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: '
|
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: '
|
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: '
|
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: '
|
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:
|
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:
|
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: '
|
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: '
|
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:
|
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:
|
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:
|
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:
|
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: '
|
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: '
|
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:
|
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:
|
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.
|
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
|