Module: Beaker::DSL
- Includes:
- Assertions, Helpers, InstallUtils, Outcomes, Patterns, Roles, Structure, TestTagging, Wrappers
- Included in:
- TestCase
- Defined in:
- lib/beaker/dsl.rb,
lib/beaker/dsl/roles.rb,
lib/beaker/dsl/helpers.rb,
lib/beaker/dsl/outcomes.rb,
lib/beaker/dsl/patterns.rb,
lib/beaker/dsl/wrappers.rb,
lib/beaker/dsl/structure.rb,
lib/beaker/dsl/assertions.rb,
lib/beaker/dsl/test_tagging.rb,
lib/beaker/dsl/install_utils.rb,
lib/beaker/dsl/helpers/web_helpers.rb,
lib/beaker/dsl/helpers/host_helpers.rb,
lib/beaker/dsl/helpers/test_helpers.rb,
lib/beaker/dsl/helpers/hocon_helpers.rb
Overview
This is a catch all module for including Puppetlabs home grown testing DSL. This module is mixed into TestCase and can be mixed into any test runner by defining the methods that it requires to interact with. If not all of the functionality is required sub modules of the DSL may be mixed into a test runner of your choice.
Currently most DSL modules require #logger and #hosts defined. #logger should provided the methods #debug, #warn and #notify and may be a wrapper to any logger you wish (or Logger). #hosts should return an array of objects which conform to the interface defined in Host (primarily it should provide Hash like access and interfaces like Host#exec, Host#do_scp_to, and Host#do_scp_from.
Defined Under Namespace
Modules: Assertions, Helpers, InstallUtils, Outcomes, Patterns, Roles, Structure, TestTagging, Wrappers
Instance Attribute Summary
Attributes included from Assertions
Class Method Summary collapse
Methods included from TestTagging
Methods included from Patterns
Methods included from Helpers::HoconHelpers
#hocon_file_edit_in_place_on, #hocon_file_edit_on, #hocon_file_read_on
Methods included from Helpers::WebHelpers
#link_exists?, #port_open_within?
Methods included from Helpers::TestHelpers
#current_step_name, #current_test_filename, #current_test_name, #set_current_step_name, #set_current_test_filename, #set_current_test_name
Methods included from Helpers::HostHelpers
#add_system32_hosts_entry, #archive_file_from, #backup_the_file, #check_for_package, #create_remote_file, #curl_on, #curl_with_retries, #directory_exists_on, #echo_on, #execute_powershell_script_on, #file_contents_on, #file_exists_on, #install_package, #link_exists_on, #on, #retry_on, #rsync_to, #run_script, #run_script_on, #scp_from, #scp_to, #shell, #uninstall_package, #upgrade_package, #win_ads_path
Methods included from Wrappers
Methods included from Assertions
Methods included from Structure
#confine, #confine_block, #expect_failure, #manual_step, #manual_test, #select_hosts, #step, #teardown, #test_name
Methods included from Outcomes
#export, #fail_test, #pass_test, #pending_test, #skip_test
Methods included from Roles
#add_role, #add_role_def, #agent_only, #agents, #aio_agent?, #aio_version?, #any_hosts_as?, #dashboard, #database, #default, #find_at_most_one, #find_host_with_role, #find_only_one, #hosts_as, #master, #not_controller
Class Method Details
.register(helper_module) ⇒ Object
83 84 85 86 87 88 89 90 91 92 |
# File 'lib/beaker/dsl.rb', line 83 def self.register(helper_module) include helper_module # Modules added into a module which has previously been included are not # retroactively included in the including class. Do this here so we don't # have to in every DSL extension library. # # https://github.com/adrianomitre/retroactive_module_inclusion Beaker::TestCase.class_eval { include Beaker::DSL } end |