require 'aruba/platforms/announcer' # Aruba module Aruba # Api module Api # Deprecated module Deprecated # @deprecated # The path to the directory which should contain all your test data # You might want to overwrite this method to place your data else where. # # @return [Array] # The directory path: Each subdirectory is a member of an array def dirs Aruba.platform.deprecated('The use of "@dirs" is deprecated. Use "Aruba.configure { |c| c.current_directory = \'path/to/dir\' }" instead to set the "current_directory') if defined? @dirs Aruba.platform.deprecated('The use of "dirs" deprecated. Use "Aruba.configure { |c| c.current_directory = \'path/to/dir\' }" instead to set the "current_directory and "expand_path(".")" to get the current directory or use "#cd(\'.\') { # your code }" to run code in the current directory') @dirs ||= aruba.current_directory end # @deprecated # Get access to current dir # # @return # Current directory def current_directory Aruba.platform.deprecated(%(The use of "current_directory" deprecated. Use "expand_path(".")" to get the current directory or "#cd" to run code in the current directory. #{caller.first})) aruba.current_directory.to_s end # @deprecated # Clean the current directory def clean_current_directory Aruba.platform.deprecated('The use of "clean_current_directory" is deprecated. Either use "#setup_aruba" or `#remove(\'.\') to clean up aruba\'s working directory before your tests are run') setup_aruba end # @deprecated # Execute block in current directory # # @yield # The block which should be run in current directory def in_current_directory(&block) Aruba.platform.deprecated('The use of "in_current_directory" deprecated. Use "#cd(\'.\') { # your code }" instead. But be aware, `cd` requires a previously created directory') create_directory '.' unless directory?('.') cd('.', &block) end # @deprecated def detect_ruby(cmd) Aruba.platform.deprecated('The use of "#detect_ruby" is deprecated') Aruba.platform.detect_ruby cmd end # @deprecated def current_ruby Aruba.platform.deprecated('The use of "#current_ruby" is deprecated') Aruba.platform.current_ruby cmd end # @deprecated def _ensure_newline(str) Aruba.platform.deprecated('The use of "#_ensure_newline" is deprecated') Aruba.platform.ensure_newline cmd end # @deprecated def absolute_path(*args) Aruba.platform.deprecated('The use of "absolute_path" is deprecated. Use "expand_path" instead. But be aware that "expand_path" uses a different implementation') File.expand_path File.join(*args), aruba.current_directory end # @deprecated def _read_interactive Aruba.platform.deprecated('The use of "#_read_interactive" is deprecated. Please use "last_command_started.stdout" instead') last_command_started.stdout end # @deprecated def announce_or_puts(msg) Aruba.platform.deprecated('The use of "#announce_or_puts" is deprecated. Please use "#announcer.mode = :kernel" or "#announcer.mode = :puts" instead') if(@puts) Kernel.puts(msg) else puts(msg) end end # @deprecated def _write_interactive(input) Aruba.platform.deprecated('The use of "#_write_interactive" is deprecated. Please use "#last_command_started.write()" instead') last_command_started.write(input) end # @deprecated def eot Aruba.platform.deprecated(%{\e[35m The \"#eot\"-method is deprecated. It will be deleted with the next major version. Please use \"#close_input\"-method instead.\e[0m}) close_input end # Run a command interactively # # @param [String] cmd # The command to by run # # @see #cmd # @deprectated def run_interactive(cmd) Aruba.platform.deprecated('The use of "#run_interactive" is deprecated. You can simply use "run" instead') run(cmd) end # @deprecated # Create an empty file # # @param [String] file_name # The name of the file def touch_file(*args) Aruba.platform.deprecated('The use of "#touch_file" is deprecated. Use "#touch" instead') touch(*args) end # @deprecated def mod?(file, perms, &block) Aruba.platform.deprecated('The use of "#mod?" is deprecated. Use "expect().to have_permissions()" instead') expect(Array(file)).to Aruba::Matchers.all have_permissions(perms) end # @deprecated # Remove file # # @param [String] file_name # The file which should be deleted in current directory def remove_file(*args) Aruba.platform.deprecated('The use of "#remove_file" is deprecated. Use "#remove" instead') remove(*args) end # @deprecated def create_dir(*args) Aruba.platform.deprecated('The use of "#create_dir" is deprecated. Use "#create_directory" instead') create_directory(*args) end # @deprecated # Remove directory # # @param [String] directory_name # The name of the directory which should be removed def remove_directory(*args) Aruba.platform.deprecated('The use of "remove_directory" is deprecated. Use "remove" instead') remove(*args) end # @deprecated def remove_dir(*args) Aruba.platform.deprecated('The use of "remove_dir" is deprecated. Use "remove" instead') remove(*args) end # @deprecated # # Check if paths are present # # @param [#each] paths # The paths which should be checked # # @param [true,false] expect_presence # Should the given paths be present (true) or absent (false) def check_file_presence(paths, expect_presence = true) Aruba.platform.deprecated('The use of "check_file_presence" is deprecated. Use "expect().to be_an_existing_file" or "expect(all_paths).to all match /pattern/" instead') stop_all_commands Array(paths).each do |path| if path.kind_of? Regexp if expect_presence expect(all_paths).to match_path_pattern(path) else expect(all_paths).not_to match_path_pattern(path) end else if expect_presence expect(path).to be_an_existing_file else expect(path).not_to be_an_existing_file end end end end # @deprecated # Check the file size of paths # # @params [Hash] paths_and_sizes # A hash containing the path (key) and the expected size (value) # # @example # # paths_and_sizes = { # 'file' => 10 # } # # check_file_size(paths_and_sizes) # def check_file_size(paths_and_sizes) Aruba.platform.deprecated('The use of "#check_file_size" is deprecated. Use "expect(file).to have_file_size(size)", "expect(all_files).to all have_file_size(1)", "expect(all_files).to include a_file_with_size(1)" instead') stop_all_commands paths_and_sizes.each do |path, size| expect(path).to have_file_size size end end # @deprecated def check_exact_file_content(file, exact_content, expect_match = true) Aruba.platform.deprecated('The use of "#check_exact_file_content" is deprecated. Use "expect(file).to have_file_content(content)" with a string') check_file_content(file, exact_content, expect_match) end # @deprecated # Check if the content of file against the content of a reference file # # @param [String] file # The file to be checked # # @param [String] reference_file # The reference file # # @param [true, false] expect_match # Must the content be in the file or not def check_binary_file_content(file, reference_file, expect_match = true) Aruba.platform.deprecated('The use of "#check_binary_file_content" is deprecated. Use "expect(file).to have_same_file_content_like(file)"') stop_all_commands if expect_match expect(file).to have_same_file_content_like reference_file else expect(file).not_to have_same_file_content_like reference_file end end # @deprecated # Check presence of a directory # # @param [Array] paths # The paths to be checked # # @param [true, false] expect_presence # Should the directory be there or should the directory not be there def check_directory_presence(paths, expect_presence) Aruba.platform.deprecated('The use of "#check_directory_presence" is deprecated. Use "expect(directory).to be_an_existing_directory"') stop_all_commands paths.each do |path| path = expand_path(path) if expect_presence expect(path).to be_an_existing_directory else expect(path).not_to be_an_existing_directory end end end # @deprecated def prep_for_fs_check(&block) Aruba.platform.deprecated('The use of "prep_for_fs_check" is deprecated. Use apropriate methods and the new rspec matchers instead') stop_all_commands cd('') { yield } end # @deprecated def assert_exit_status_and_partial_output(expect_to_pass, expected) Aruba.platform.deprecated('The use of "assert_exit_status_and_partial_output" is deprecated. Use "#assert_access" and "#assert_partial_output" instead') assert_success(expect_to_pass) assert_partial_output(expected, all_output) end # TODO: Remove this. Call more methods elsewhere instead. Reveals more intent. # @deprecated def assert_exit_status_and_output(expect_to_pass, expected_output, expect_exact_output) assert_success(expect_to_pass) if expect_exact_output assert_exact_output(expected_output, all_output) else assert_partial_output(expected_output, all_output) end end # Check the content of file # # It supports partial content as well. And it is up to you to decided if # the content must be there or not. # # @param [String] file # The file to be checked # # @param [String, Regexp] content # The content which must/must not be in the file. If content is # a String exact match is done, if content is a Regexp then file # is matched using regular expression # # @param [true, false] expect_match # Must the content be in the file or not def check_file_content(file, content, expect_match = true) Aruba.platform.deprecated('The use of "#check_file_content" is deprecated. Use "expect(file).to have_file_content(content)" instead. For eq match use string, for partial match use /regex/') stop_all_commands if expect_match expect(file).to have_file_content content else expect(file).not_to have_file_content content end end # @deprecated def _mkdir(dir_name) Aruba.platform.deprecated('The use of "#_mkdir" is deprecated') Aruba.platform.mkdir(dir_name) end # @deprecated def _rm(dir_name) Aruba.platform.deprecated('The use of "#_rm_rf" is deprecated') Aruba.platform.rm(dir_name) end # @deprecated def current_dir(*args, &block) Aruba.platform.deprecated('The use of "#current_dir" is deprecated. Use "#current_directory" instead') current_directory(*args, &block) end # @deprecated def clean_current_dir(*args, &block) Aruba.platform.deprecated('The use of "clean_current_dir" is deprecated. Either use "#setup_aruba" or `#remove(\'.\') to clean up aruba\'s working directory before your tests are run') setup_aruba end # @deprecated def in_current_dir(&block) Aruba.platform.deprecated('The use of "in_current_dir" is deprecated. Use "#cd(\'.\') { }" instead') create_directory '.' unless directory?('.') cd('.', &block) end # @deprecated # Run block with environment # # @param [Hash] env # The variables to be used for block. # # @yield # The block of code which should be run with the changed environment variables def with_env(env = {}, &block) Aruba.platform.deprecated('The use of "#with_env" is deprecated. Use "#with_environment {}" instead. But be careful this uses a different implementation') env.each do |k,v| set_env k, v end yield restore_env end # @deprecated # Restore original process environment def restore_env # No output because we need to reset env on each scenario/spec run # Aruba.platform.deprecated('The use of "#restore_env" is deprecated. If you use "set_environment_variable" there\'s no need to restore the environment') # original_env.each do |key, value| if value ENV[key] = value aruba.environment[key] = value else aruba.environment.delete key ENV.delete key end end end # @deprecated # Set environment variable # # @param [String] key # The name of the environment variable as string, e.g. 'HOME' # # @param [String] value # The value of the environment variable. Needs to be a string. def set_env(key, value) Aruba.platform.deprecated('The use of "#set_env" is deprecated. Please use "set_environment_variable" instead. But be careful, this method uses a different kind of implementation') aruba.announcer.announce(:environment, key, value) set_environment_variable key, value original_env[key] = ENV.delete(key) unless original_env.key? key ENV[key] = value end # @deprecated def original_env # Aruba.platform.deprecated('The use of "#original_env" is deprecated') @original_env ||= {} end # @deprecated def filesystem_permissions(*args) Aruba.platform.deprecated('The use of "#filesystem_permissions" is deprecated. Please use "#chmod" instead') chmod(*args) end # Check file system permissions of file # # @param [Octal] expected_permissions # Expected file system permissions, e.g. 0755 # @param [String] file_names # The file name(s) # @param [Boolean] expected_result # Are the permissions expected to be mode or are they expected not to be mode? def check_filesystem_permissions(*args) Aruba.platform.deprecated('The use of "#check_filesystem_permissions" is deprecated. Please use "expect().to have_permissions perms" instead') args = args.flatten expected_permissions = args.shift expected_result = args.pop args.each do |p| raise "Expected #{p} to be present" unless exist? p if expected_result expect(p).to have_permissions expected_permissions else expect(p).not_to have_permissions expected_permissions end end end # @deprecated def _create_file(name, content, check_presence) Aruba.platform.deprecated('The use of "#_create_file" is deprecated. It will be removed soon') ArubaFileCreator.new.write(expand_path(name), content, check_presence) self end # @deprecated def _create_fixed_size_file(file_name, file_size, check_presence) Aruba.platform.deprecated('The use of "#_create_fixed_size_file" is deprecated. It will be removed soon') ArubaFixedSizeFileCreator.new.write(expand_path(name), size, check_presence) self end # @deprecated # Unescape string # # @param [String] string # The string which should be unescaped, e.g. the output of a command # # @return # The string stripped from escape sequences def unescape(string, keep_ansi = false) Aruba.platform.deprecated('The use of "#unescape" is deprecated. Please use "#sanitize_text" intead') string = unescape_text(string) string = extract_text(string) if !keep_ansi || !aruba.config.keep_ansi || aruba.config.remove_ansi_escape_sequences string end # @deprecated # The root directory of aruba def root_directory Aruba.platform.deprecated('The use of "#root_directory" is deprecated. Use "aruba.root_directory" instead') aruba.root_directory end # The path to the directory which contains fixtures # You might want to overwrite this method to place your data else where. # # @return [String] # The directory to where your fixtures are stored def fixtures_directory Aruba.platform.deprecated('The use of "#fixtures_directory" is deprecated. Use "aruba.fixtures_directory" instead') aruba.fixtures_directory end # @deprecated # rubocop:disable Metrics/CyclomaticComplexity # rubocop:disable Metrics/MethodLength def check_for_deprecated_variables if defined? @aruba_exit_timeout Aruba.platform.deprecated('The use of "@aruba_exit_timeout" is deprecated. Use "#aruba.config.exit_timeout = " instead') aruba.config.exit_timeout = @aruba_exit_timeout end if defined? @aruba_io_wait_seconds Aruba.platform.deprecated('The use of "@aruba_io_wait_seconds" is deprecated. Use "#aruba.config.io_wait_timeout = " instead') aruba.config.io_wait_timeout = @aruba_io_wait_seconds end if defined? @keep_ansi Aruba.platform.deprecated('The use of "@aruba_keep_ansi" is deprecated. Use "#aruba.config.remove_ansi_escape_sequences = " instead. Be aware that it uses an inverted logic') aruba.config.remove_ansi_escape_sequences = false end if defined? @aruba_root_directory Aruba.platform.deprecated('The use of "@aruba_root_directory" is deprecated. Use "#aruba.config.root_directory = " instead') aruba.config.root_directory = @aruba_root_directory.to_s end end # rubocop:enable Metrics/CyclomaticComplexity # rubocop:enable Metrics/MethodLength # Last command started def last_command Aruba.platform.deprecated('The use of "#last_command" is deprecated. Use "#last_command_started"') process_monitor.last_command_started end # @deprecated # # Full compare arg1 and arg2 # # @return [TrueClass, FalseClass] # If arg1 is exactly the same as arg2 return true, otherwise false def assert_exact_output(expected, actual) Aruba.platform.deprecated('The use of "#assert_exact_output" is deprecated. Use "expect(command).to have_output \'exact\'" instead. There are also special matchers for "stdout" and "stderr"') actual.force_encoding(expected.encoding) if RUBY_VERSION >= "1.9" expect(Aruba.platform.unescape(actual, aruba.config.keep_ansi)).to eq Aruba.platform.unescape(expected, aruba.config.keep_ansi) end # @deprecated # # Partial compare arg1 and arg2 # # @return [TrueClass, FalseClass] # If arg2 contains arg1 return true, otherwise false def assert_partial_output(expected, actual) Aruba.platform.deprecated('The use of "#assert_partial_output" is deprecated. Use "expect(command).to have_output /partial/" instead. There are also special matchers for "stdout" and "stderr"') actual.force_encoding(expected.encoding) if RUBY_VERSION >= "1.9" expect(Aruba.platform.unescape(actual, aruba.config.keep_ansi)).to include(Aruba.platform.unescape(expected, aruba.config.keep_ansi)) end # @deprecated # # Regex Compare arg1 and arg2 # # @return [TrueClass, FalseClass] # If arg2 matches arg1 return true, otherwise false def assert_matching_output(expected, actual) Aruba.platform.deprecated('The use of "#assert_matching_output" is deprecated. Use "expect(command).to have_output /partial/" instead. There are also special matchers for "stdout" and "stderr"') actual.force_encoding(expected.encoding) if RUBY_VERSION >= "1.9" expect(Aruba.platform.unescape(actual, aruba.config.keep_ansi)).to match(/#{Aruba.platform.unescape(expected, aruba.config.keep_ansi)}/m) end # @deprecated # # Negative regex compare arg1 and arg2 # # @return [TrueClass, FalseClass] # If arg2 does not match arg1 return true, otherwise false def assert_not_matching_output(expected, actual) Aruba.platform.deprecated('The use of "#assert_not_matching_output" is deprecated. Use "expect(command).not_to have_output /partial/" instead. There are also special matchers for "stdout" and "stderr"') actual.force_encoding(expected.encoding) if RUBY_VERSION >= "1.9" expect(Aruba.platform.unescape(actual, aruba.config.keep_ansi)).not_to match(/#{Aruba.platform.unescape(expected, aruba.config.keep_ansi)}/m) end # @deprecated # # Negative partial compare arg1 and arg2 # # @return [TrueClass, FalseClass] # If arg2 does not match/include arg1 return true, otherwise false def assert_no_partial_output(unexpected, actual) Aruba.platform.deprecated('The use of "#assert_no_partial_output" is deprecated. Use "expect(command).not_to have_output /partial/" instead. There are also special matchers for "stdout" and "stderr"') actual.force_encoding(unexpected.encoding) if RUBY_VERSION >= "1.9" if Regexp === unexpected expect(Aruba.platform.unescape(actual, aruba.config.keep_ansi)).not_to match unexpected else expect(Aruba.platform.unescape(actual, aruba.config.keep_ansi)).not_to include(unexpected) end end # @deprecated # # Partial compare output of interactive command and arg1 # # @return [TrueClass, FalseClass] # If output of interactive command includes arg1 return true, otherwise false def assert_partial_output_interactive(expected) Aruba.platform.deprecated('The use of "#assert_partial_output_interactive" is deprecated. Use "expect(last_command_started).to have_output /partial/" instead. There are also special matchers for "stdout" and "stderr"') Aruba.platform.unescape(last_command_started.stdout, aruba.config.keep_ansi).include?(Aruba.platform.unescape(expected, aruba.config.keep_ansi)) ? true : false end # @deprecated # # Check if command succeeded and if arg1 is included in output # # @return [TrueClass, FalseClass] # If exit status is 0 and arg1 is included in output return true, otherwise false def assert_passing_with(expected) Aruba.platform.deprecated('The use of "#assert_passing_with" is deprecated. Use "expect(all_commands).to all(be_successfully_executed).and include_an_object(have_output(/partial/))" or something similar instead. There are also special matchers for "stdout" and "stderr"') assert_success(true) assert_partial_output(expected, all_output) end # @deprecated # # Check if command failed and if arg1 is included in output # # @return [TrueClass, FalseClass] # If exit status is not equal 0 and arg1 is included in output return true, otherwise false def assert_failing_with(expected) Aruba.platform.deprecated('The use of "#assert_passing_with" is deprecated. Use "expect(all_commands).not_to include_an_object(be_successfully_executed).and include_an_object(have_output(/partial/))" or something similar instead. There are also special matchers for "stdout" and "stderr"') assert_success(false) assert_partial_output(expected, all_output) end # @deprecated # # Check exit status of process # # @return [TrueClass, FalseClass] # If arg1 is true, return true if command was successful # If arg1 is false, return true if command failed def assert_success(success) Aruba.platform.deprecated('The use of "#assert_success" is deprecated. Use "expect(last_command_started).to be_successfully_executed" or with "not_to" or the negative form "have_failed_running" (requires rspec >= 3.1)') if success expect(last_command_started).to be_successfully_executed else expect(last_command_started).not_to be_successfully_executed end end # @deprecated def assert_exit_status(status) Aruba.platform.deprecated('The use of "#assert_success" is deprecated. Use "expect(last_command_started).to have_exit_status(status)"') expect(last_command_started).to have_exit_status(status) end # @deprecated def assert_not_exit_status(status) Aruba.platform.deprecated('The use of "#assert_success" is deprecated. Use "expect(last_command_started).not_to have_exit_status(status)"') expect(last_exit_status).not_to eq(status), append_output_to("Exit status was #{last_exit_status} which was not expected.") end # @deprecated def append_output_to(message) Aruba.platform.deprecated('The use of "#append_output_to" is deprecated') "#{message} Output:\n\n#{all_output}\n" end # @deprecated def register_process(*args) # Aruba.platform.deprecated('The use of "#register_process" is deprecated') process_monitor.register_process(*args) end # @deprecated def get_process(wanted) # Aruba.platform.deprecated('The use of "#get_process" is deprecated') process_monitor.get_process(wanted) end # @deprecated # # Fetch output (stdout, stderr) from command # # @param [String] cmd # The command def output_from(cmd) # Aruba.platform.deprecated('The use of "#output_from" is deprecated') process_monitor.output_from(cmd) end # @deprecated # # Fetch stdout from command # # @param [String] cmd # The command def stdout_from(cmd) # Aruba.platform.deprecated('The use of "#stdout_from" is deprecated') process_monitor.stdout_from(cmd) end # @deprecated # # Fetch stderr from command # # @param [String] cmd # The command def stderr_from(cmd) # Aruba.platform.deprecated('The use of "#stderr_from" is deprecated') process_monitor.stderr_from(cmd) end # @deprecated # # Get stdout of all processes # # @return [String] # The stdout of all process which have run before def all_stdout Aruba.platform.deprecated('The use of "#all_stdout" is deprecated. Use `all_commands.map { |c| c.stdout }.join("\n") instead. If you need to check for some output use "expect(all_commands).to have_output_on_stdout /output/" instead') process_monitor.all_stdout end # @deprecated # # Get stderr of all processes # # @return [String] # The stderr of all process which have run before def all_stderr Aruba.platform.deprecated('The use of "#all_stderr" is deprecated. Use `all_commands.map { |c| c.stderr }.join("\n") instead. If you need to check for some output use "expect(all_commands).to have_output_on_stderr /output/" instead') process_monitor.all_stderr end # @deprecated # # Get stderr and stdout of all processes # # @return [String] # The stderr and stdout of all process which have run before def all_output Aruba.platform.deprecated('The use of "#all_output" is deprecated. Use `all_commands.map { |c| c.output }.join("\n") instead. If you need to check for some output use "expect(all_commands).to have_output /output/" instead') process_monitor.all_output end # @deprecated # # Default exit timeout for running commands with aruba # # Overwrite this method if you want a different timeout or set # `@aruba_timeout_seconds`. def exit_timeout Aruba.platform.deprecated('The use of "#exit_timeout" is deprecated. Use "aruba.config.exit_timeout" instead.') aruba.config.exit_timeout end # @deprecated # # Default io wait timeout # # Overwrite this method if you want a different timeout or set # `@aruba_io_wait_seconds def io_wait Aruba.platform.deprecated('The use of "#io_wait" is deprecated. Use "aruba.config.io_wait_timeout" instead') aruba.config.io_wait_timeout end # @deprecated # Only processes def only_processes Aruba.platform.deprecated('The use of "#only_processes" is deprecated. Use "#all_commands" instead') process_monitor.only_processes end # @deprecated def last_exit_status Aruba.platform.deprecated('The use of "#last_exit_status" is deprecated. Use "#last_command_(started|stopped).exit_status" instead') process_monitor.last_exit_status end # @deprecated def stop_process(process) # Aruba.platform.deprecated('The use of "#stop_process" is deprecated. Use "#last_command_(started|stopped).stop" instead') @last_exit_status = process_monitor.stop_process(process) end # @deprecated def terminate_process(process) # Aruba.platform.deprecated('The use of "#terminate_process" is deprecated. Use "#last_command_(started|stopped).terminate" instead') process_monitor.terminate_process(process) end # @deprecated def stop_processes! Aruba.platform.deprecated('The use of "#stop_processes!" is deprecated. Use "#stop_all_commands" instead') stop_all_commands end # @deprecated # # Terminate all running processes def terminate_processes! Aruba.platform.deprecated('The use of "#stop_processes!" is deprecated. Use "all_commands.each(&:terminate)" instead') all_commands.each(&:terminate) end # @deprecated # # Access to announcer def announcer Aruba.platform.deprecated('The use of "#announcer" is deprecated. Use "aruba.announcer" instead') @announcer ||= Platforms::Announcer.new( self, :stdout => defined?(@announce_stdout), :stderr => defined?(@announce_stderr), :dir => defined?(@announce_dir), :cmd => defined?(@announce_cmd), :env => defined?(@announce_env) ) @announcer end # @private # @deprecated def process_monitor Aruba.platform.deprecated('The use of "#process_monitor" is deprecated.') aruba.command_monitor end # @private # @deprecated def processes Aruba.platform.deprecated('The use of "#process_monitor" is deprecated. Please use "#all_commands" instead.') aruba.command_monitor.send(:processes) end end end end