inferno_core 0.4.38 → 0.4.39
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/inferno/apps/cli/main.rb +27 -10
- data/lib/inferno/apps/cli/templates/lib/%library_name%.rb.tt +1 -1
- data/lib/inferno/dsl/auth_info.rb +174 -0
- data/lib/inferno/dsl/suite_endpoint.rb +0 -1
- data/lib/inferno/public/bundle.js +3 -3
- data/lib/inferno/repositories/session_data.rb +24 -1
- data/lib/inferno/utils/middleware/request_logger.rb +1 -1
- data/lib/inferno/version.rb +1 -1
- metadata +3 -2
@@ -1,3 +1,4 @@
|
|
1
|
+
require_relative '../dsl/auth_info'
|
1
2
|
require_relative '../dsl/oauth_credentials'
|
2
3
|
|
3
4
|
module Inferno
|
@@ -21,7 +22,7 @@ module Inferno
|
|
21
22
|
)
|
22
23
|
end
|
23
24
|
|
24
|
-
def load(test_session_id:, name:, type: 'text')
|
25
|
+
def load(test_session_id:, name:, type: 'text') # rubocop:disable Metrics/CyclomaticComplexity
|
25
26
|
raw_value =
|
26
27
|
self.class::Model
|
27
28
|
.find(test_session_id:, name: name.to_s.downcase)
|
@@ -32,6 +33,8 @@ module Inferno
|
|
32
33
|
DSL::OAuthCredentials.new(JSON.parse(raw_value || '{}'))
|
33
34
|
when 'checkbox'
|
34
35
|
JSON.parse(raw_value || '[]')
|
36
|
+
when 'auth_info'
|
37
|
+
DSL::AuthInfo.new(JSON.parse(raw_value || '{}'))
|
35
38
|
else
|
36
39
|
raw_value
|
37
40
|
end
|
@@ -64,6 +67,8 @@ module Inferno
|
|
64
67
|
serialize_checkbox_input(params)
|
65
68
|
when 'oauth_credentials'
|
66
69
|
serialize_oauth_credentials_input(params)
|
70
|
+
when 'auth_info'
|
71
|
+
serialize_auth_info(params)
|
67
72
|
else
|
68
73
|
raise Exceptions::UnknownSessionDataType, params
|
69
74
|
end
|
@@ -103,6 +108,24 @@ module Inferno
|
|
103
108
|
credentials.to_s
|
104
109
|
end
|
105
110
|
|
111
|
+
def serialize_auth_info(params)
|
112
|
+
auth =
|
113
|
+
if params[:value].is_a? String
|
114
|
+
DSL::AuthInfo.new(JSON.parse(params[:value]))
|
115
|
+
elsif !params[:value].is_a? DSL::AuthInfo
|
116
|
+
raise Exceptions::BadSessionDataType.new(
|
117
|
+
params[:name],
|
118
|
+
DSL::AuthInfo.name,
|
119
|
+
params[:value].class
|
120
|
+
)
|
121
|
+
else
|
122
|
+
params[:value]
|
123
|
+
end
|
124
|
+
|
125
|
+
auth.name = params[:name]
|
126
|
+
auth.to_s
|
127
|
+
end
|
128
|
+
|
106
129
|
class Model < Sequel::Model(db)
|
107
130
|
many_to_one :test_session, class: 'Inferno::Repositories::TestSessions::Model', key: :test_session_id
|
108
131
|
end
|
@@ -34,7 +34,7 @@ module Inferno
|
|
34
34
|
|
35
35
|
# rack.after_reply is handled by puma, which doesn't process requests
|
36
36
|
# in unit tests, so we manually run them when in the test environment
|
37
|
-
env['rack.after_reply']&.each(&:call) if
|
37
|
+
env['rack.after_reply']&.each(&:call) if ENV['APP_ENV'] == 'test'
|
38
38
|
|
39
39
|
response
|
40
40
|
end
|
data/lib/inferno/version.rb
CHANGED
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.4.
|
4
|
+
version: 0.4.39
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Stephen MacVicar
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2024-06-
|
13
|
+
date: 2024-06-25 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: activesupport
|
@@ -643,6 +643,7 @@ files:
|
|
643
643
|
- lib/inferno/db/schema.rb
|
644
644
|
- lib/inferno/dsl.rb
|
645
645
|
- lib/inferno/dsl/assertions.rb
|
646
|
+
- lib/inferno/dsl/auth_info.rb
|
646
647
|
- lib/inferno/dsl/configurable.rb
|
647
648
|
- lib/inferno/dsl/fhir_client.rb
|
648
649
|
- lib/inferno/dsl/fhir_client_builder.rb
|