eyes_core 5.0.0 → 6.0.0

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 (62) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +504 -0
  3. data/Rakefile +35 -0
  4. data/eyes_core.gemspec +60 -0
  5. data/lib/applitools/core/batch_info.rb +2 -0
  6. data/lib/applitools/core/eyes_base.rb +106 -18
  7. data/lib/applitools/core/eyes_base_configuration.rb +9 -3
  8. data/lib/applitools/core/eyes_runner.rb +3 -2
  9. data/lib/applitools/core/test_results.rb +6 -1
  10. data/lib/applitools/core/universal_eyes_checks.rb +2 -1
  11. data/lib/applitools/core/universal_eyes_open.rb +2 -1
  12. data/lib/applitools/eyes_core/version.rb +10 -0
  13. data/lib/applitools/universal_sdk/universal_client.rb +26 -10
  14. data/lib/applitools/universal_sdk/universal_eyes_config.rb +10 -9
  15. data/lib/eyes_core.rb +1 -3
  16. metadata +14 -58
  17. data/ext/eyes_core/extconf.rb +0 -5
  18. data/ext/eyes_core/eyes_core.c +0 -252
  19. data/ext/eyes_core/eyes_core.h +0 -28
  20. data/lib/applitools/appium/android_region_provider.rb +0 -32
  21. data/lib/applitools/appium/android_screenshot.rb +0 -21
  22. data/lib/applitools/appium/driver.rb +0 -12
  23. data/lib/applitools/appium/eyes.rb +0 -189
  24. data/lib/applitools/appium/ios_region_provider.rb +0 -25
  25. data/lib/applitools/appium/ios_screenshot.rb +0 -10
  26. data/lib/applitools/appium/region_provider.rb +0 -51
  27. data/lib/applitools/appium/screenshot.rb +0 -30
  28. data/lib/applitools/appium/target.rb +0 -240
  29. data/lib/applitools/appium/utils.rb +0 -64
  30. data/lib/applitools/calabash/calabash_element.rb +0 -64
  31. data/lib/applitools/calabash/calabash_screenshot_provider.rb +0 -83
  32. data/lib/applitools/calabash/environment_detector.rb +0 -25
  33. data/lib/applitools/calabash/eyes.rb +0 -194
  34. data/lib/applitools/calabash/eyes_calabash_android_screenshot.rb +0 -68
  35. data/lib/applitools/calabash/eyes_calabash_ios_screenshot.rb +0 -30
  36. data/lib/applitools/calabash/eyes_calabash_screenshot.rb +0 -80
  37. data/lib/applitools/calabash/eyes_hooks.rb +0 -51
  38. data/lib/applitools/calabash/eyes_settings.rb +0 -45
  39. data/lib/applitools/calabash/full_page_capture_algorithm/android_scroll_view.rb +0 -95
  40. data/lib/applitools/calabash/full_page_capture_algorithm/base.rb +0 -51
  41. data/lib/applitools/calabash/full_page_capture_algorithm/ios_ui_table_view.rb +0 -150
  42. data/lib/applitools/calabash/full_page_capture_algorithm.rb +0 -26
  43. data/lib/applitools/calabash/os_versions.rb +0 -25
  44. data/lib/applitools/calabash/rspec_matchers.rb +0 -25
  45. data/lib/applitools/calabash/steps/android_eyes_session.rb +0 -37
  46. data/lib/applitools/calabash/steps/android_matchers.rb +0 -36
  47. data/lib/applitools/calabash/steps/eyes_session.rb +0 -42
  48. data/lib/applitools/calabash/steps/eyes_settings.rb +0 -59
  49. data/lib/applitools/calabash/steps/ios_eyes_session.rb +0 -15
  50. data/lib/applitools/calabash/steps/ios_matchers.rb +0 -17
  51. data/lib/applitools/calabash/steps/matchers.rb +0 -71
  52. data/lib/applitools/calabash/target.rb +0 -69
  53. data/lib/applitools/calabash/utils.rb +0 -74
  54. data/lib/applitools/calabash_steps.rb +0 -16
  55. data/lib/applitools/capybara/capybara_settings.rb +0 -25
  56. data/lib/applitools/capybara/driver.rb +0 -39
  57. data/lib/applitools/rspec/target_matcher.rb +0 -25
  58. data/lib/applitools/universal_sdk/executable_finder.rb +0 -57
  59. data/lib/applitools/universal_sdk/universal_server_control.rb +0 -79
  60. data/lib/applitools/version.rb +0 -8
  61. data/lib/eyes_consts.rb +0 -4
  62. data/lib/eyes_rspec.rb +0 -4
@@ -49,7 +49,7 @@ module Applitools
49
49
  begin
50
50
  driver_config_json = driver.universal_driver_config
51
51
  required_size = Applitools::RectangleSize.from_any_argument viewport_size
52
- @universal_client = Applitools::Connectivity::UniversalClient.new
52
+ @universal_client = Applitools::Connectivity::UniversalClient.new(self)
53
53
  @universal_client.core_set_viewport_size(driver_config_json, required_size.to_hash)
54
54
  rescue => e
55
55
  Applitools::EyesLogger.error e.class
@@ -64,7 +64,7 @@ module Applitools
64
64
  server_url = options[:server_url] || default_configs[:server_url]
65
65
  api_key = options[:api_key] || default_configs[:api_key]
66
66
  proxy = options[:proxy]
67
- @universal_client = Applitools::Connectivity::UniversalClient.new
67
+ @universal_client = Applitools::Connectivity::UniversalClient.new(self)
68
68
  core_ec_client = @universal_client.core_make_ec_client(server_url, api_key, proxy)
69
69
  core_ec_client[:url]
70
70
  end
@@ -150,6 +150,13 @@ module Applitools
150
150
  self.universal_driver = nil # eyes.open
151
151
  end
152
152
 
153
+ def self.environment_sdk
154
+ {
155
+ name: :eyes_core,
156
+ currentVersion: Applitools::EyesCore::VERSION
157
+ }
158
+ end
159
+
153
160
  def ensure_config
154
161
  self.config = Applitools::EyesBaseConfiguration.new
155
162
  end
@@ -441,11 +448,6 @@ module Applitools
441
448
  logger.info "close(#{throw_exception})"
442
449
  raise Applitools::EyesError.new 'Eyes not open' unless open?
443
450
 
444
- self.open = false
445
- self.last_screenshot = nil
446
-
447
- clear_user_inputs
448
-
449
451
  if !running_session && !universal_eyes
450
452
  be_silent || logger.info('Server session was not started')
451
453
  be_silent || logger.info('--- Empty test ended')
@@ -463,26 +465,112 @@ module Applitools
463
465
 
464
466
  # U-Notes : universal server returns Array ; keys as sym
465
467
  universal_eyes.close # nil
468
+ results = get_results(throw_exception)
469
+ # universal_results = universal_eyes.eyes_get_results # Array even for one test
470
+ # # require 'pry'
471
+ # # binding.pry
472
+ # # error from universal server
473
+ # if universal_results.is_a?(Hash) && universal_results[:message] && universal_results[:stack] && universal_results[:reason]
474
+ # logger.error "--- Error (#{universal_results[:reason]}) : #{universal_results[:message]}"
475
+ # error_message = "Test '#{test_name}' of '#{app_name}' " \
476
+ # "is failed! Details : #{universal_results[:message]}"
477
+ # raise Applitools::TestFailedError.new error_message, results if throw_exception
478
+ # return universal_results
479
+ # end
480
+ # key_transformed_results = Applitools::Utils.deep_stringify_keys(universal_results)
481
+ # results = key_transformed_results.map {|result| Applitools::TestResults.new(result) }
482
+ # results = results.first if results.size >= 1
483
+ #
484
+ # session_results_url = results.url
485
+ # # results = server_connector.stop_session running_session, false, save
486
+ # runner.aggregate_result(results) if runner
487
+ #
488
+ # # results.is_new = is_new_session
489
+ # # results.url = session_results_url
490
+ # save = results.new? && save_new_tests || !results.new? && failed && save_failed_tests
491
+ # logger.info "Automatically save test? #{save}"
492
+ #
493
+ # logger.info results.to_s(verbose_results)
494
+ #
495
+ # if results.unresolved?
496
+ # if results.new?
497
+ # logger.error "--- New test ended. see details at #{session_results_url}"
498
+ # error_message = "New test '#{test_name}' " \
499
+ # "of '#{app_name}' " \
500
+ # "Please approve the baseline at #{session_results_url} "
501
+ # raise Applitools::NewTestError.new error_message, results if throw_exception
502
+ # else
503
+ # logger.error "--- Differences are found. see details at #{session_results_url}"
504
+ # error_message = "Test '#{test_name}' " \
505
+ # "of '#{app_name}' " \
506
+ # "detected differences! See details at #{session_results_url}"
507
+ # raise Applitools::DiffsFoundError.new error_message, results if throw_exception
508
+ # end
509
+ # return results
510
+ # end
511
+ #
512
+ # if results.failed?
513
+ # logger.error "--- Failed test ended. see details at #{session_results_url}"
514
+ # error_message = "Test '#{test_name}' of '#{app_name}' " \
515
+ # "is failed! See details at #{session_results_url}"
516
+ # raise Applitools::TestFailedError.new error_message, results if throw_exception
517
+ # return results
518
+ # end
519
+
520
+ logger.info '--- Test passed'
521
+ self.results.push results
522
+
523
+ # match old style one result
524
+ if results.is_a?(Array) && results.first.is_a?(Applitools::TestResults)
525
+ return results.first if results.size >= 1
526
+ end
527
+ return results
528
+ ensure
529
+ self.running_session = nil
530
+ self.app_name = ''
531
+ end
532
+
533
+ def get_results(throw_exception = true)
534
+ if disabled?
535
+ logger.info "#{__method__} Ignored"
536
+ return false
537
+ end
538
+
539
+ self.open = false
540
+ self.last_screenshot = nil
541
+ clear_user_inputs
542
+
543
+ logger.info 'Getting results...'
544
+
466
545
  universal_results = universal_eyes.eyes_get_results # Array even for one test
467
546
  # require 'pry'
468
547
  # binding.pry
548
+ # error from universal server
549
+ if universal_results.is_a?(Hash) && universal_results[:message] && universal_results[:stack] && universal_results[:reason]
550
+ logger.error "--- Error (#{universal_results[:reason]}) : #{universal_results[:message]}"
551
+ error_message = "Test '#{test_name}' of '#{app_name}' " \
552
+ "is failed! Details : #{universal_results[:message]}"
553
+ raise Applitools::TestFailedError.new error_message, results if throw_exception
554
+ return universal_results
555
+ end
469
556
  key_transformed_results = Applitools::Utils.deep_stringify_keys(universal_results)
470
557
  results = key_transformed_results.map {|result| Applitools::TestResults.new(result) }
471
- results = results.first if results.size >= 1
558
+ # results = results.first if results.size >= 1
472
559
 
473
- session_results_url = results.url
560
+ session_results_url = results.first.url
474
561
  # results = server_connector.stop_session running_session, false, save
475
- runner.aggregate_result(results) if runner
562
+
563
+ results.each { |result| runner.aggregate_result(result) } if runner
476
564
 
477
565
  # results.is_new = is_new_session
478
566
  # results.url = session_results_url
479
- save = results.new? && save_new_tests || !results.new? && failed && save_failed_tests
567
+ save = (results.any?(&:new?) && save_new_tests) || (!results.any?(&:new?) && failed && save_failed_tests)
480
568
  logger.info "Automatically save test? #{save}"
481
569
 
482
- logger.info results.to_s(verbose_results)
570
+ logger.info results.first.to_s(verbose_results)
483
571
 
484
- if results.unresolved?
485
- if results.new?
572
+ if results.any?(&:unresolved?)
573
+ if results.any?(&:new?)
486
574
  logger.error "--- New test ended. see details at #{session_results_url}"
487
575
  error_message = "New test '#{test_name}' " \
488
576
  "of '#{app_name}' " \
@@ -498,16 +586,16 @@ module Applitools
498
586
  return results
499
587
  end
500
588
 
501
- if results.failed?
589
+ if results.any?(&:failed?)
502
590
  logger.error "--- Failed test ended. see details at #{session_results_url}"
503
591
  error_message = "Test '#{test_name}' of '#{app_name}' " \
504
- "is failed! See details at #{session_results_url}"
592
+ "is failed! See details at #{session_results_url}"
505
593
  raise Applitools::TestFailedError.new error_message, results if throw_exception
506
594
  return results
507
595
  end
508
596
 
509
- logger.info '--- Test passed'
510
- self.results.push results
597
+ # logger.info '--- Test passed'
598
+ # self.results.push results
511
599
  return results
512
600
  ensure
513
601
  self.running_session = nil
@@ -207,9 +207,15 @@ module Applitools
207
207
 
208
208
  # layoutBreakpoints?: boolean | number[]
209
209
  def layout_breakpoints=(value)
210
- config_hash[:layout_breakpoints] = value if value === true || value === false
211
- config_hash[:layout_breakpoints] = value if value.is_a?(Array) && value.all? {|v| v.is_a?(Numeric)}
212
- config_hash[:layout_breakpoints] = value if value.is_a?(Hash)
210
+ config_hash[:layout_breakpoints] = { breakpoints: value } if value === true || value === false
211
+ config_hash[:layout_breakpoints] = { breakpoints: value } if value.is_a?(Array) && value.all? {|v| v.is_a?(Numeric)}
212
+ if value.is_a?(Hash)
213
+ if value.has_key?(:breakpoints) || value.has_key?('breakpoints')
214
+ config_hash[:layout_breakpoints] = value
215
+ else
216
+ config_hash[:layout_breakpoints] = { breakpoints: value }
217
+ end
218
+ end
213
219
  end
214
220
  def layout_breakpoints
215
221
  config_hash[:layout_breakpoints]
@@ -8,7 +8,7 @@ module Applitools
8
8
 
9
9
  def initialize
10
10
  self.batches_server_connectors_map = {}
11
- self.universal_client = Applitools::Connectivity::UniversalClient.new
11
+ self.universal_client = nil # eyes.open
12
12
  self.universal_eyes_manager = nil # eyes.open
13
13
  end
14
14
 
@@ -20,8 +20,9 @@ module Applitools
20
20
  batches_server_connectors_map.each_value { |v| v.call if v.respond_to? :call }
21
21
  end
22
22
 
23
- def get_universal_eyes_manager
23
+ def get_universal_eyes_manager(eyes=nil)
24
24
  return universal_eyes_manager if universal_eyes_manager
25
+ self.universal_client = Applitools::Connectivity::UniversalClient.new(eyes) if universal_client.nil?
25
26
  self.universal_eyes_manager = universal_client.make_manager(universal_eyes_manager_config.to_hash)
26
27
  end
27
28
 
@@ -20,7 +20,8 @@ module Applitools
20
20
  attr_reader :status, :steps, :matches, :mismatches, :missing, :original_results, :browser_info, :renderer
21
21
 
22
22
  def initialize(init_results = {})
23
- @renderer = Applitools::Utils.deep_stringify_keys(Applitools::Utils.underscore_hash_keys(init_results[:renderer]))
23
+ environment = init_results[:environment] || {}
24
+ @renderer = Applitools::Utils.deep_stringify_keys(Applitools::Utils.underscore_hash_keys(environment[:requested]))
24
25
  @browser_info = JSON.parse(@renderer.to_json, object_class: OpenStruct)
25
26
  results = Applitools::Utils.deep_stringify_keys(init_results[:result] ? init_results[:result] : init_results)
26
27
  @original_results = results
@@ -77,6 +78,10 @@ module Applitools
77
78
  original_results['error']
78
79
  end
79
80
 
81
+ def app_name
82
+ original_results['appName']
83
+ end
84
+
80
85
  def session_accessibility_status
81
86
  @accessibility_status ||= original_results['accessibilityStatus'] && AccessibilityStatus.new(original_results['accessibilityStatus'] || {})
82
87
  end
@@ -12,6 +12,7 @@ module Applitools
12
12
  return disabled_result if respond_to?(:disabled?) && disabled?
13
13
 
14
14
  raise Applitools::EyesNotOpenException.new('Eyes not open!') if @universal_eyes.nil?
15
+ raise Applitools::EyesNotOpenException.new('Eyes not open') unless open?
15
16
  Applitools::EyesLogger.logger.info "#{test_name} : check(#{name}) started ..."
16
17
  settings = get_universal_check_settings(name, target)
17
18
  image_target = settings[:image].nil? ? {} : { image: settings.delete(:image) }
@@ -24,7 +25,7 @@ module Applitools
24
25
  raise Applitools::EyesError.new("Request failed: #{check_result[:message]}")
25
26
  end
26
27
 
27
- if check_result != {}
28
+ if check_result != {} && !check_result.nil?
28
29
  result = Applitools::MatchResult.new(Applitools::Utils.deep_stringify_keys(check_result[0]))
29
30
 
30
31
  check_fail_result_processing(name) unless result.as_expected?
@@ -31,7 +31,7 @@ module Applitools
31
31
 
32
32
  update_config_from_options(options)
33
33
  universal_driver_config = driver.universal_driver_config if self.class.name != 'Applitools::Images::Eyes'
34
- universal_eyes_manager = runner.get_universal_eyes_manager
34
+ universal_eyes_manager = runner.get_universal_eyes_manager(self)
35
35
 
36
36
  universal_eyes_config = Applitools::UniversalEyesConfig.new
37
37
  universal_eyes_config.from_original_sdk(self)
@@ -43,6 +43,7 @@ module Applitools
43
43
  raise Applitools::EyesNotOpenException.new('Eyes not open!') if @universal_eyes.nil?
44
44
 
45
45
  self.open = true if respond_to?(:open=, true)
46
+ self.opened = true if respond_to?(:opened=, true)
46
47
  self.running_session = true if respond_to?(:running_session=, true)
47
48
  if self.class.name != 'Applitools::Images::Eyes'
48
49
  driver
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: false
2
+
3
+ module Applitools
4
+ module EyesCore
5
+ VERSION = '6.0.0'.freeze
6
+ UNIVERSAL_VERSION = '4.3.0'.freeze
7
+ end
8
+
9
+ VERSION = Applitools::EyesCore::VERSION
10
+ end
@@ -8,6 +8,7 @@ require 'securerandom'
8
8
  require 'colorize'
9
9
  require 'websocket'
10
10
  require 'uri'
11
+ require 'eyes_universal'
11
12
 
12
13
 
13
14
  module Applitools::Connectivity
@@ -40,9 +41,9 @@ module Applitools::Connectivity
40
41
 
41
42
  attr_accessor :commands_config
42
43
 
43
- def initialize
44
+ def initialize(eyes=nil)
44
45
  # @socket = Applitools::Connectivity::UniversalClientSocket.new
45
- prepare_socket
46
+ prepare_socket(eyes)
46
47
  # store on open for next check calls
47
48
  @open_config = nil
48
49
  @commands_config = {
@@ -68,7 +69,7 @@ module Applitools::Connectivity
68
69
  # },
69
70
  # }
70
71
  ec_client_capabilities = {}
71
- ec_client_capabilities[:serverUrl] = server_url unless server_url.nil?
72
+ ec_client_capabilities[:ecServerUrl] = server_url unless server_url.nil?
72
73
  ec_client_capabilities[:apiKey] = api_key unless api_key.nil?
73
74
  ec_client_settings = {}
74
75
  ec_client_settings[:options] = ec_client_capabilities unless ec_client_capabilities.empty?
@@ -115,7 +116,7 @@ module Applitools::Connectivity
115
116
 
116
117
  def map_open_eyes_config_to_commands_config(config)
117
118
  [
118
- :serverUrl, :apiKey, :proxy, :connectionTimeout, :removeSession, :agentId, :appName, :testName, :displayName,
119
+ :eyesServerUrl, :apiKey, :proxy, :connectionTimeout, :removeSession, :agentId, :appName, :testName, :displayName,
119
120
  :userTestId, :sessionType, :properties, :batch, :keepBatchOpen, :environmentName, :environment, :branchName,
120
121
  :parentBranchName, :baselineEnvName, :baselineBranchName, :compareWithParentBranch, :ignoreBaseline,
121
122
  :ignoreGitBranching, :saveDiffs, :abortIdleTestTimeout
@@ -130,7 +131,7 @@ module Applitools::Connectivity
130
131
  config_mapping(config, commands_config[:check], k)
131
132
  end
132
133
 
133
- commands_config[:check][:renderers] = config.delete(:browsersInfo) unless config[:browsersInfo].nil?
134
+ commands_config[:check][:environments] = config.delete(:browsersInfo) unless config[:browsersInfo].nil?
134
135
 
135
136
  unless config[:defaultMatchSettings].nil?
136
137
  if config[:defaultMatchSettings][:accessibilitySettings]
@@ -326,6 +327,7 @@ module Applitools::Connectivity
326
327
  batch_ids = [close_batch_settings] if close_batch_settings.is_a?(String)
327
328
  batch_ids = close_batch_settings if close_batch_settings.is_a?(Array)
328
329
  optional = [:serverUrl, :apiKey, :proxy].map {|k| [k, @open_config[k]] }.to_h
330
+ optional[:eyesServerUrl] = optional.delete(:serverUrl) if optional[:serverUrl] # v4
329
331
  close_batch_settings = { settings: ({ batchIds: batch_ids }.merge(optional).compact) }
330
332
  end
331
333
  command_with_result(CORE_CLOSE_BATCHES, close_batch_settings)
@@ -342,11 +344,11 @@ module Applitools::Connectivity
342
344
  private
343
345
 
344
346
 
345
- def prepare_socket
346
- @universal_server_control = Applitools::Connectivity::UniversalServerControl.instance
347
+ def prepare_socket(eyes=nil)
348
+ @universal_server_control = Applitools::EyesUniversal::UniversalServerControl.instance
347
349
  @web_socket = @universal_server_control.new_server_socket_connection
348
350
  socket_handshake
349
- session_init
351
+ session_init(eyes)
350
352
  # connect_and_configure_socket(socket_uri)
351
353
  end
352
354
 
@@ -385,12 +387,26 @@ module Applitools::Connectivity
385
387
  @handshake_version = handshake.version if handshake.finished? && handshake.valid?
386
388
  end
387
389
 
388
- def session_init
390
+ def session_init(eyes=nil)
391
+ sdk_name = Applitools::EyesBase.environment_sdk[:name]
392
+ sdk_version = Applitools::EyesBase.environment_sdk[:currentVersion]
393
+ if eyes
394
+ if eyes.respond_to?(:environment_sdk)
395
+ sdk_name = eyes.environment_sdk[:name]
396
+ sdk_version = eyes.environment_sdk[:currentVersion]
397
+ elsif eyes.class.respond_to?(:environment_sdk)
398
+ sdk_name = eyes.class.environment_sdk[:name]
399
+ sdk_version = eyes.class.environment_sdk[:currentVersion]
400
+ end
401
+ end
389
402
  init_agent_id = "eyes.ruby-sdk/#{Applitools::VERSION}".freeze
390
403
  make_core_payload = {
391
404
  agentId: init_agent_id,
392
405
  cwd: Dir.pwd,
393
- spec: :webdriver
406
+ spec: :webdriver,
407
+ environment: {
408
+ sdk: {lang: :ruby, name: sdk_name, currentVersion: sdk_version}
409
+ }
394
410
  }
395
411
  # interface MakeCorePayload {
396
412
  # agentId: string
@@ -20,7 +20,7 @@ module Applitools
20
20
  :debugScreenshots,
21
21
  :agentId,
22
22
  :apiKey,
23
- :serverUrl,
23
+ :eyesServerUrl,
24
24
  :proxy,
25
25
  :isDisabled,
26
26
  :connectionTimeout,
@@ -133,7 +133,7 @@ module Applitools
133
133
  # 23 + 3 + 2 + 11 = 39
134
134
  FROM_ORIGINAL_EYES = [:api_key, :app_name, :batch, :browsers_info, :concurrent_sessions, :debug_screenshots,
135
135
  :force_full_page_screenshot, :hide_caret, :hide_scrollbars, :host_app, :host_os, :match_timeout, :proxy,
136
- :save_failed_tests, :save_new_tests, :scale_ratio, :send_dom, :server_url, :stitch_mode, :test_name,
136
+ :save_failed_tests, :save_new_tests, :scale_ratio, :send_dom, :stitch_mode, :test_name,
137
137
  :viewport_size, :visual_grid_options, :wait_before_screenshots, :wait_before_capture] + [
138
138
  :disabled?, # disabled? => is_disabled
139
139
  :stitching_overlap, # SeleniumEyes.stitching_overlap => stitch_overlap
@@ -192,6 +192,7 @@ module Applitools
192
192
  # self.display_name = original_eyes.app_name
193
193
  self.dont_close_batches = original_eyes.dont_close_batches unless original_eyes.dont_close_batches.nil?
194
194
  prepare_for_json!
195
+ self.eyes_server_url = original_eyes.server_url unless original_eyes.server_url.nil? # v4api_change
195
196
  end
196
197
 
197
198
  def copy_from(what, from)
@@ -208,20 +209,20 @@ module Applitools
208
209
  self.default_match_settings = default_match_settings.to_hash if default_match_settings.is_a?(Applitools::ImageMatchSettings)
209
210
  self.proxy = proxy.to_hash if proxy.is_a?(Applitools::Connectivity::Proxy)
210
211
  self.viewport_size = viewport_size.to_h if viewport_size.is_a?(Applitools::RectangleSize)
211
- v3api_change
212
+ api_change
212
213
  # require 'pry'
213
214
  # binding.pry
214
215
  end
215
216
 
216
- def v3api_change
217
+ def api_change
217
218
  # self.updateBaselineIfDifferent = saveFailedTests unless saveFailedTests.nil?
218
219
  # self.updateBaselineIfNew = saveNewTests unless saveNewTests.nil?
219
220
  environment = {}
220
- environment[:hostApp] = hostApp unless hostApp.nil?
221
- environment[:hostAppInfo] = hostAppInfo unless hostAppInfo.nil?
222
- environment[:hostOS] = hostOS unless hostOS.nil?
223
- environment[:hostOSInfo] = hostOSInfo unless hostOSInfo.nil?
224
- environment[:deviceInfo] = deviceInfo unless deviceInfo.nil?
221
+ environment[:hostingApp] = hostApp unless hostApp.nil?
222
+ environment[:displayHostingApp] = hostAppInfo unless hostAppInfo.nil?
223
+ environment[:os] = hostOS unless hostOS.nil?
224
+ environment[:displayOs] = hostOSInfo unless hostOSInfo.nil?
225
+ environment[:deviceName] = deviceInfo unless deviceInfo.nil?
225
226
  unless viewportSize.nil?
226
227
  environment[:viewportSize] = viewportSize
227
228
  self.viewportSize = nil
data/lib/eyes_core.rb CHANGED
@@ -4,7 +4,6 @@ require 'forwardable'
4
4
  require 'delegate'
5
5
  require 'time'
6
6
  require_relative 'require_utils'
7
- require_relative 'eyes_consts'
8
7
 
9
8
  module Applitools
10
9
  extend Applitools::RequireUtils
@@ -64,8 +63,7 @@ end
64
63
 
65
64
  require_relative 'applitools/method_tracer'
66
65
  require_relative 'applitools/extensions'
67
- require_relative 'applitools/version'
68
- # require_relative 'applitools/chunky_png_patch'
66
+ require_relative 'applitools/eyes_core/version'
69
67
 
70
68
  Applitools.require_dir 'utils'
71
69
  Applitools.require_dir 'core'
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: 5.0.0
4
+ version: 6.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Applitools Team
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-07-11 00:00:00.000000000 Z
11
+ date: 2023-12-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -114,14 +114,14 @@ dependencies:
114
114
  requirements:
115
115
  - - "~>"
116
116
  - !ruby/object:Gem::Version
117
- version: 3.6.0
117
+ version: 4.3.0
118
118
  type: :runtime
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
122
  - - "~>"
123
123
  - !ruby/object:Gem::Version
124
- version: 3.6.0
124
+ version: 4.3.0
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: bundler
127
127
  requirement: !ruby/object:Gem::Requirement
@@ -182,16 +182,16 @@ dependencies:
182
182
  name: webdrivers
183
183
  requirement: !ruby/object:Gem::Requirement
184
184
  requirements:
185
- - - ">="
185
+ - - "~>"
186
186
  - !ruby/object:Gem::Version
187
- version: '0'
187
+ version: '5.0'
188
188
  type: :development
189
189
  prerelease: false
190
190
  version_requirements: !ruby/object:Gem::Requirement
191
191
  requirements:
192
- - - ">="
192
+ - - "~>"
193
193
  - !ruby/object:Gem::Version
194
- version: '0'
194
+ version: '5.0'
195
195
  - !ruby/object:Gem::Dependency
196
196
  name: pry
197
197
  requirement: !ruby/object:Gem::Requirement
@@ -281,50 +281,12 @@ description: Don't use it directly, take a look at eyes_selenium, eyes_images or
281
281
  email:
282
282
  - team@applitools.com
283
283
  executables: []
284
- extensions:
285
- - ext/eyes_core/extconf.rb
284
+ extensions: []
286
285
  extra_rdoc_files: []
287
286
  files:
288
- - ext/eyes_core/extconf.rb
289
- - ext/eyes_core/eyes_core.c
290
- - ext/eyes_core/eyes_core.h
291
- - lib/applitools/appium/android_region_provider.rb
292
- - lib/applitools/appium/android_screenshot.rb
293
- - lib/applitools/appium/driver.rb
294
- - lib/applitools/appium/eyes.rb
295
- - lib/applitools/appium/ios_region_provider.rb
296
- - lib/applitools/appium/ios_screenshot.rb
297
- - lib/applitools/appium/region_provider.rb
298
- - lib/applitools/appium/screenshot.rb
299
- - lib/applitools/appium/target.rb
300
- - lib/applitools/appium/utils.rb
301
- - lib/applitools/calabash/calabash_element.rb
302
- - lib/applitools/calabash/calabash_screenshot_provider.rb
303
- - lib/applitools/calabash/environment_detector.rb
304
- - lib/applitools/calabash/eyes.rb
305
- - lib/applitools/calabash/eyes_calabash_android_screenshot.rb
306
- - lib/applitools/calabash/eyes_calabash_ios_screenshot.rb
307
- - lib/applitools/calabash/eyes_calabash_screenshot.rb
308
- - lib/applitools/calabash/eyes_hooks.rb
309
- - lib/applitools/calabash/eyes_settings.rb
310
- - lib/applitools/calabash/full_page_capture_algorithm.rb
311
- - lib/applitools/calabash/full_page_capture_algorithm/android_scroll_view.rb
312
- - lib/applitools/calabash/full_page_capture_algorithm/base.rb
313
- - lib/applitools/calabash/full_page_capture_algorithm/ios_ui_table_view.rb
314
- - lib/applitools/calabash/os_versions.rb
315
- - lib/applitools/calabash/rspec_matchers.rb
316
- - lib/applitools/calabash/steps/android_eyes_session.rb
317
- - lib/applitools/calabash/steps/android_matchers.rb
318
- - lib/applitools/calabash/steps/eyes_session.rb
319
- - lib/applitools/calabash/steps/eyes_settings.rb
320
- - lib/applitools/calabash/steps/ios_eyes_session.rb
321
- - lib/applitools/calabash/steps/ios_matchers.rb
322
- - lib/applitools/calabash/steps/matchers.rb
323
- - lib/applitools/calabash/target.rb
324
- - lib/applitools/calabash/utils.rb
325
- - lib/applitools/calabash_steps.rb
326
- - lib/applitools/capybara/capybara_settings.rb
327
- - lib/applitools/capybara/driver.rb
287
+ - CHANGELOG.md
288
+ - Rakefile
289
+ - eyes_core.gemspec
328
290
  - lib/applitools/connectivity/proxy.rb
329
291
  - lib/applitools/connectivity/server_connector.rb
330
292
  - lib/applitools/connectivity/user_agent_middleware.rb
@@ -382,11 +344,10 @@ files:
382
344
  - lib/applitools/core/universal_eyes_open.rb
383
345
  - lib/applitools/core/universal_new_api.rb
384
346
  - lib/applitools/extensions.rb
347
+ - lib/applitools/eyes_core/version.rb
385
348
  - lib/applitools/eyes_logger.rb
386
349
  - lib/applitools/method_tracer.rb
387
- - lib/applitools/rspec/target_matcher.rb
388
350
  - lib/applitools/sauce.rb
389
- - lib/applitools/universal_sdk/executable_finder.rb
390
351
  - lib/applitools/universal_sdk/universal_check_settings.rb
391
352
  - lib/applitools/universal_sdk/universal_client.rb
392
353
  - lib/applitools/universal_sdk/universal_client_socket.rb
@@ -395,15 +356,11 @@ files:
395
356
  - lib/applitools/universal_sdk/universal_eyes_manager.rb
396
357
  - lib/applitools/universal_sdk/universal_eyes_manager_config.rb
397
358
  - lib/applitools/universal_sdk/universal_server.rb
398
- - lib/applitools/universal_sdk/universal_server_control.rb
399
359
  - lib/applitools/utils/eyes_selenium_utils.rb
400
360
  - lib/applitools/utils/image_delta_compressor.rb
401
361
  - lib/applitools/utils/image_utils.rb
402
362
  - lib/applitools/utils/utils.rb
403
- - lib/applitools/version.rb
404
- - lib/eyes_consts.rb
405
363
  - lib/eyes_core.rb
406
- - lib/eyes_rspec.rb
407
364
  - lib/require_utils.rb
408
365
  homepage: https://www.applitools.com
409
366
  licenses:
@@ -414,7 +371,6 @@ post_install_message:
414
371
  rdoc_options: []
415
372
  require_paths:
416
373
  - lib
417
- - ext
418
374
  required_ruby_version: !ruby/object:Gem::Requirement
419
375
  requirements:
420
376
  - - ">="
@@ -426,7 +382,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
426
382
  - !ruby/object:Gem::Version
427
383
  version: '0'
428
384
  requirements: []
429
- rubygems_version: 3.3.14
385
+ rubygems_version: 3.0.3.1
430
386
  signing_key:
431
387
  specification_version: 4
432
388
  summary: Core of the Applitools Ruby SDK
@@ -1,5 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'mkmf'
4
- $CFLAGS << ' -Wall'
5
- create_makefile('eyes_core/eyes_core')