module Beaker::DSL::PEClientTools::ExecutableHelper

Public Instance Methods

login_with_puppet_access_on(host, credentialed_dispatcher, opts={}) click to toggle source

Logs a user in on a SUT with puppet-access/RBAC API (windows) @param [Beaker::Host] host The SUT to perform the login on @param [Scooter::HttpDispatchers::ConsoleDispatcher] credentialed_dispatcher A Scooter dispatcher that has credentials for the user @option attribute_hash [String] :name The environment variable @option attribute_hash [String] :default The default value for the environment variable @option attribute_hash [String] :message A message describing the use of this variable @option attribute_hash [Boolean] :required Used internally by CommandFlag, ignored for a standalone EnvVar

# File lib/beaker-pe/pe-client-tools/executable_helper.rb, line 80
def login_with_puppet_access_on(host, credentialed_dispatcher, opts={})

  lifetime = opts[:lifetime] || nil
  unless host.platform =~ /win/

    user = credentialed_dispatcher.credentials.login
    password = credentialed_dispatcher.credentials.password
    args = ['login']
    args.push "--lifetime #{lifetime}" if lifetime
    puppet_access_on(host, *args, {:stdin => "#{user}\n#{password}\n"})
  else

    # this is a hack
    # puppet-access needs to support alternative to interactive login
    # create .puppetlabs dir
    cmd = Beaker::Command.new('echo', ['%userprofile%'], :cmdexe => true)
    user_home_dir = host.exec(cmd).stdout.chomp
    win_token_path =  "#{user_home_dir}\\.puppetlabs\\"
    host.exec(Beaker::Command.new('MD', [win_token_path.gsub('\\', '\\\\\\')], :cmdexe => true), :accept_all_exit_codes => true)

    token = credentialed_dispatcher.acquire_token_with_credentials(lifetime)
    create_remote_file(host, "#{win_token_path}\\token", token)
  end
end
puppet_access_on(*args, &block) click to toggle source

puppet-access helper win/lin/osx @param [BEAKER::Host] host The SUT that should run the puppet-access command @param [String] args The arguments to puppet-access @param [Hash] opts options hash to the Beaker Command @param [Block] &block optional block

# File lib/beaker-pe/pe-client-tools/executable_helper.rb, line 15
def puppet_access_on(*args, &block)
  Private.new.tool(:access, *args, &block)
end
puppet_app_on(*args, &block) click to toggle source

puppet-app helper win/lin/osx @param [BEAKER::Host] host The SUT that should run the puppet-app command @param [String] args The arguments to puppet-app @param [Hash] opts options hash to the Beaker Command @param [Block] &block optional block

# File lib/beaker-pe/pe-client-tools/executable_helper.rb, line 42
def puppet_app_on(*args, &block)
  Private.new.tool(:app, *args, &block)
end
puppet_code_on(*args, &block) click to toggle source

puppet-code helper win/lin/osx @param [BEAKER::Host] host The SUT that should run the puppet-code command @param [String] args The arguments to puppet-code @param [Hash] opts options hash to the Beaker Command @param [Block] &block optional block

# File lib/beaker-pe/pe-client-tools/executable_helper.rb, line 24
def puppet_code_on(*args, &block)
  Private.new.tool(:code, *args, &block)
end
puppet_db_on(*args, &block) click to toggle source

puppet-db helper win/lin/osx @param [BEAKER::Host] host The SUT that should run the puppet-db command @param [String] args The arguments to puppet-db @param [Hash] opts options hash to the Beaker Command @param [Block] &block optional block

# File lib/beaker-pe/pe-client-tools/executable_helper.rb, line 51
def puppet_db_on(*args, &block)
  Private.new.tool(:db, *args, &block)
end
puppet_job_on(*args, &block) click to toggle source

puppet-job helper win/lin/osx @param [BEAKER::Host] host The SUT that should run the puppet-job command @param [String] args The arguments to puppet-job @param [Hash] opts options hash to the Beaker Command @param [Block] &block optional block

# File lib/beaker-pe/pe-client-tools/executable_helper.rb, line 33
def puppet_job_on(*args, &block)
  Private.new.tool(:job, *args, &block)
end
puppet_query_on(*args, &block) click to toggle source

puppet-query helper win/lin/osx @param [BEAKER::Host] host The SUT that should run the puppet-query command @param [String] args The arguments to puppet-query @param [Hash] opts options hash to the Beaker Command @param [Block] &block optional block

# File lib/beaker-pe/pe-client-tools/executable_helper.rb, line 60
def puppet_query_on(*args, &block)
  Private.new.tool(:query, *args, &block)
end
puppet_task_on(*args, &block) click to toggle source

puppet-task helper win/lin/osx @param [BEAKER::Host] host The SUT that should run the puppet-task command @param [String] args The arguments to puppet-task @param [Hash] opts options hash to the Beaker Command @param [Block] &block optional block

# File lib/beaker-pe/pe-client-tools/executable_helper.rb, line 69
def puppet_task_on(*args, &block)
  Private.new.tool(:task, *args, &block)
end