eyes_core 3.17.0 → 3.17.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/applitools/connectivity/server_connector.rb +1 -4
- data/lib/applitools/core/abstract_configuration.rb +5 -3
- data/lib/applitools/core/app_environment.rb +10 -6
- data/lib/applitools/core/batch_info.rb +10 -6
- data/lib/applitools/core/eyes_base.rb +13 -13
- data/lib/applitools/core/eyes_base_configuration.rb +10 -4
- data/lib/applitools/core/jsonable.rb +13 -2
- data/lib/applitools/core/session_start_info.rb +25 -27
- data/lib/applitools/version.rb +1 -1
- metadata +5 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 864e172f6fa3b2035c0e8aa7a655e98d83de4bfe07c821f2cef2260e5df12747
|
4
|
+
data.tar.gz: e85acaa6dc31a5d09fc0e8060267b7c0be45c435fd54d5a1ef621a20d4c9de35
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3d62989db64a12ab1542ea9e1218a21646e5d209c17723570568f60ef13cfd8cd16aed6fd678afa34c5be60cb0c8d3c382b65b448760c52bf2faa49f89131601
|
7
|
+
data.tar.gz: 57696e8e7e2145ef6570ac42f55cff2560046fd5ce3193f16c2f6328811e8439a50b3d9bbdfcbddfa9d745ce12840d4f6754ef668896b3c357c75d5803f59c28
|
@@ -279,14 +279,11 @@ module Applitools::Connectivity
|
|
279
279
|
end
|
280
280
|
|
281
281
|
def start_session(session_start_info)
|
282
|
-
request_body =
|
283
|
-
startInfo: Applitools::Utils.camelcase_hash_keys(session_start_info.to_hash)
|
284
|
-
)
|
282
|
+
request_body = session_start_info.json
|
285
283
|
res = long_post(
|
286
284
|
endpoint_url, body: request_body
|
287
285
|
)
|
288
286
|
raise Applitools::EyesError.new("Request failed: #{res.status} #{res.body} #{request_body}") unless res.success?
|
289
|
-
|
290
287
|
response = Oj.load(res.body)
|
291
288
|
Applitools::Session.new(response, res.status == HTTP_STATUS_CODES[:created])
|
292
289
|
end
|
@@ -11,9 +11,11 @@ module Applitools
|
|
11
11
|
def initialize
|
12
12
|
@config_hash = {}
|
13
13
|
self.validation_errors = {}
|
14
|
-
|
15
|
-
|
16
|
-
|
14
|
+
if self.class.respond_to? :default_config
|
15
|
+
default_config = self.class.default_config
|
16
|
+
default_config.keys.each do |k|
|
17
|
+
send "#{k}=", default_config[k] unless default_config[k].nil?
|
18
|
+
end
|
17
19
|
end
|
18
20
|
end
|
19
21
|
|
@@ -12,16 +12,20 @@ module Applitools
|
|
12
12
|
self.device_info = options[:device_info]
|
13
13
|
end
|
14
14
|
|
15
|
-
def
|
15
|
+
def json_data
|
16
16
|
{
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
17
|
+
'os' => os,
|
18
|
+
'hostingApp' => hosting_app,
|
19
|
+
'displaySize' => display_size && display_size.to_hash,
|
20
|
+
'inferred' => inferred_environment,
|
21
|
+
'deviceInfo' => device_info.nil? || device_info.empty? ? 'Desktop' : device_info
|
22
22
|
}
|
23
23
|
end
|
24
24
|
|
25
|
+
def to_hash
|
26
|
+
json_data
|
27
|
+
end
|
28
|
+
|
25
29
|
def to_s
|
26
30
|
result = ''
|
27
31
|
to_hash.each_pair do |k, v|
|
@@ -19,16 +19,20 @@ module Applitools
|
|
19
19
|
self.id = SecureRandom.uuid unless id
|
20
20
|
end
|
21
21
|
|
22
|
-
def
|
22
|
+
def json_data
|
23
23
|
{
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
24
|
+
'id' => id,
|
25
|
+
'name' => name,
|
26
|
+
'startedAt' => @started_at.iso8601,
|
27
|
+
'batchSequenceName' => sequence_name,
|
28
|
+
'notifyOnCompletion' => 'true'.casecmp(notify_on_completion || '') == 0 ? true : false
|
29
29
|
}
|
30
30
|
end
|
31
31
|
|
32
|
+
def to_hash
|
33
|
+
json_data
|
34
|
+
end
|
35
|
+
|
32
36
|
def to_s
|
33
37
|
to_hash.to_s
|
34
38
|
end
|
@@ -87,7 +87,6 @@ module Applitools
|
|
87
87
|
self.results = []
|
88
88
|
self.allow_empty_screenshot = true
|
89
89
|
@inferred_environment = nil
|
90
|
-
@properties = []
|
91
90
|
@server_scale = 0
|
92
91
|
@server_remainder = 0
|
93
92
|
get_app_output_method = ->(r, s) { get_app_output_with_screenshot r, s }
|
@@ -151,10 +150,6 @@ module Applitools
|
|
151
150
|
running_session && running_session.new_session?
|
152
151
|
end
|
153
152
|
|
154
|
-
def add_property(name, value)
|
155
|
-
@properties << { name: name, value: value }
|
156
|
-
end
|
157
|
-
|
158
153
|
def abort_if_not_closed
|
159
154
|
if disabled?
|
160
155
|
logger.info "#{__method__} Ignored"
|
@@ -319,11 +314,14 @@ module Applitools
|
|
319
314
|
|
320
315
|
tag = '' if tag.nil?
|
321
316
|
|
322
|
-
session_start_info = SessionStartInfo.new agent_id: base_agent_id, app_id_or_name: app_name,
|
323
|
-
|
324
|
-
|
325
|
-
|
326
|
-
|
317
|
+
self.session_start_info = SessionStartInfo.new agent_id: base_agent_id, app_id_or_name: app_name,
|
318
|
+
scenario_id_or_name: test_name, batch_info: batch,
|
319
|
+
baseline_env_name: baseline_env_name, environment: app_env,
|
320
|
+
default_match_settings: default_match_settings,
|
321
|
+
environment_name: environment_name, session_type: session_type,
|
322
|
+
branch_name: branch_name, parent_branch_name: parent_branch_name,
|
323
|
+
baseline_branch_name: baseline_branch_name, save_diffs: save_diffs,
|
324
|
+
properties: properties
|
327
325
|
|
328
326
|
match_window_data.start_info = session_start_info
|
329
327
|
match_window_data.update_baseline_if_new = save_new_tests
|
@@ -481,7 +479,7 @@ module Applitools
|
|
481
479
|
attr_accessor :running_session, :last_screenshot, :scale_provider, :session_start_info,
|
482
480
|
:should_match_window_run_once_on_timeout, :app_output_provider, :failed
|
483
481
|
|
484
|
-
attr_reader :user_inputs
|
482
|
+
attr_reader :user_inputs
|
485
483
|
|
486
484
|
private :full_agent_id, :full_agent_id=
|
487
485
|
|
@@ -596,9 +594,11 @@ module Applitools
|
|
596
594
|
|
597
595
|
self.session_start_info = SessionStartInfo.new agent_id: base_agent_id, app_id_or_name: app_name,
|
598
596
|
scenario_id_or_name: test_name, batch_info: batch,
|
599
|
-
|
600
|
-
default_match_settings: default_match_settings
|
597
|
+
baseline_env_name: baseline_env_name, environment: app_env,
|
598
|
+
default_match_settings: default_match_settings,
|
599
|
+
environment_name: environment_name, session_type: session_type,
|
601
600
|
branch_name: branch_name, parent_branch_name: parent_branch_name,
|
601
|
+
baseline_branch_name: baseline_branch_name, save_diffs: save_diffs,
|
602
602
|
properties: properties
|
603
603
|
|
604
604
|
logger.info 'Starting server session...'
|
@@ -12,16 +12,17 @@ require 'applitools/core/image_match_settings'
|
|
12
12
|
module Applitools
|
13
13
|
class EyesBaseConfiguration < AbstractConfiguration
|
14
14
|
DEFAULT_CONFIG = {
|
15
|
-
branch_name: ENV['APPLITOOLS_BRANCH']
|
16
|
-
parent_branch_name: ENV['APPLITOOLS_PARENT_BRANCH']
|
17
|
-
baseline_branch_name: ENV['APPLITOOLS_BASELINE_BRANCH']
|
15
|
+
branch_name: ENV['APPLITOOLS_BRANCH'],
|
16
|
+
parent_branch_name: ENV['APPLITOOLS_PARENT_BRANCH'],
|
17
|
+
baseline_branch_name: ENV['APPLITOOLS_BASELINE_BRANCH'],
|
18
18
|
save_diffs: false,
|
19
19
|
server_url: ENV['APPLITOOLS_SERVER_URL'] ||
|
20
20
|
ENV['bamboo_APPLITOOLS_SERVER_URL'] || Applitools::Connectivity::ServerConnector::DEFAULT_SERVER_URL,
|
21
21
|
api_key: ENV['APPLITOOLS_API_KEY'] || ENV['bamboo_APPLITOOLS_API_KEY'] || '',
|
22
22
|
save_new_tests: true,
|
23
23
|
default_match_settings: Applitools::ImageMatchSettings.new,
|
24
|
-
accessibility_validation: nil
|
24
|
+
accessibility_validation: nil,
|
25
|
+
properties: []
|
25
26
|
}.freeze
|
26
27
|
|
27
28
|
class << self
|
@@ -111,6 +112,7 @@ module Applitools
|
|
111
112
|
int_field :remainder
|
112
113
|
boolean_field :ignore_caret
|
113
114
|
object_field :accessibility_validation, Applitools::AccessibilitySettings, true
|
115
|
+
object_field :properties, Array
|
114
116
|
|
115
117
|
methods_to_delegate.delete(:batch_info)
|
116
118
|
methods_to_delegate.delete(:batch_info=)
|
@@ -168,7 +170,11 @@ module Applitools
|
|
168
170
|
default_match_settings.accessibility_validation = value
|
169
171
|
end
|
170
172
|
|
173
|
+
def add_property(name, value)
|
174
|
+
properties << { name: name, value: value } if name && value
|
175
|
+
end
|
171
176
|
|
172
177
|
methods_to_delegate.push(:set_proxy)
|
178
|
+
methods_to_delegate.push(:add_property)
|
173
179
|
end
|
174
180
|
end
|
@@ -7,9 +7,10 @@ module Applitools
|
|
7
7
|
base.extend ClassMethods
|
8
8
|
base.class_eval do
|
9
9
|
class << self
|
10
|
-
attr_accessor :json_methods
|
10
|
+
attr_accessor :json_methods, :wrap_data_block
|
11
11
|
end
|
12
12
|
@json_methods = {}
|
13
|
+
@wrap_data_block = nil
|
13
14
|
end
|
14
15
|
end
|
15
16
|
|
@@ -34,10 +35,20 @@ module Applitools
|
|
34
35
|
def json_fields(*args)
|
35
36
|
args.each { |m| json_field m }
|
36
37
|
end
|
38
|
+
|
39
|
+
def wrap_data(&block)
|
40
|
+
@wrap_data_block = block
|
41
|
+
end
|
37
42
|
end
|
38
43
|
|
39
44
|
def json_data
|
40
|
-
self.class.json_methods.sort.map
|
45
|
+
result = self.class.json_methods.sort.map do |k,v|
|
46
|
+
val = json_value(send(v))
|
47
|
+
next if val.nil?
|
48
|
+
[k, val]
|
49
|
+
end.compact.to_h
|
50
|
+
result = self.class.wrap_data_block.call(result) if self.class.wrap_data_block.is_a? Proc
|
51
|
+
result
|
41
52
|
end
|
42
53
|
|
43
54
|
def json
|
@@ -2,38 +2,36 @@
|
|
2
2
|
|
3
3
|
module Applitools
|
4
4
|
class SessionStartInfo
|
5
|
-
|
5
|
+
include Applitools::Jsonable
|
6
|
+
json_fields :batchInfo, :agentId, :appIdOrName, :verId, :environment, :environmentName, :branchName, :defaultMatchSettings,
|
7
|
+
:scenarioIdOrName, :properties, :parentBranchName, :compareWithParentBranch, :baselineEnvName, :saveDiffs, :sessionType,
|
8
|
+
:baselineBranchName
|
9
|
+
|
10
|
+
wrap_data do |value|
|
11
|
+
{ startInfo: value }
|
12
|
+
end
|
6
13
|
|
7
14
|
def initialize(options = {})
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
15
|
+
self.agent_id = options[:agent_id]
|
16
|
+
self.app_id_or_name = options[:app_id_or_name]
|
17
|
+
self.ver_id = options[:ver_id]
|
18
|
+
self.scenario_id_or_name = options[:scenario_id_or_name]
|
19
|
+
self.batch_info = options[:batch_info]
|
20
|
+
self.environment_name = options[:environment_name]
|
21
|
+
self.baseline_env_name = options[:baseline_env_name]
|
22
|
+
self.environment = options[:environment]
|
23
|
+
self.default_match_settings = options[:default_match_settings]
|
24
|
+
self.branch_name = options[:branch_name]
|
25
|
+
self.parent_branch_name = options[:parent_branch_name]
|
26
|
+
self.properties = options[:properties]
|
27
|
+
self.compare_with_parent_branch = options[:compare_with_parent_branch]
|
28
|
+
self.save_diffs = options[:save_diffs]
|
29
|
+
self.session_type = options[:session_type]
|
30
|
+
self.baseline_branch_name = options[:baseline_branch_name]
|
20
31
|
end
|
21
32
|
|
22
33
|
def to_hash
|
23
|
-
|
24
|
-
agent_id: @agent_id,
|
25
|
-
app_id_or_name: @app_id_or_name,
|
26
|
-
ver_id: @ver_id,
|
27
|
-
scenario_id_or_name: @scenario_id_or_name,
|
28
|
-
batch_info: @batch_info && @batch_info.to_hash,
|
29
|
-
env_name: @env_name,
|
30
|
-
environment: @environment.to_hash,
|
31
|
-
default_match_settings: @default_match_settings,
|
32
|
-
branch_name: @branch_name,
|
33
|
-
parent_branch_name: @parent_branch_name,
|
34
|
-
compare_with_parent_branch: @compare_with_parent_branch,
|
35
|
-
properties: @properties
|
36
|
-
}
|
34
|
+
json_data
|
37
35
|
end
|
38
36
|
end
|
39
37
|
end
|
data/lib/applitools/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: eyes_core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.17.
|
4
|
+
version: 3.17.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Applitools Team
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-06-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: oily_png
|
@@ -370,7 +370,7 @@ licenses:
|
|
370
370
|
- Applitools
|
371
371
|
metadata:
|
372
372
|
yard.run: yri
|
373
|
-
post_install_message:
|
373
|
+
post_install_message:
|
374
374
|
rdoc_options: []
|
375
375
|
require_paths:
|
376
376
|
- lib
|
@@ -387,7 +387,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
387
387
|
version: '0'
|
388
388
|
requirements: []
|
389
389
|
rubygems_version: 3.0.8
|
390
|
-
signing_key:
|
390
|
+
signing_key:
|
391
391
|
specification_version: 4
|
392
392
|
summary: Core of the Applitools Ruby SDK
|
393
393
|
test_files: []
|