eyes_core 3.17.0 → 3.17.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.
- 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: []
         |