Sha256: 1bf3e52ecc7b14d32b36d8da013fae19fa28be3141d41964c5eb2a3764eb63ed
Contents?: true
Size: 1.41 KB
Versions: 3
Compression:
Stored size: 1.41 KB
Contents
# frozen_string_literal: true module BoltSpec module Plans class ScriptStub < ActionStub def matches(targets, _script, arguments, options) if @invocation[:targets] && Set.new(@invocation[:targets]) != Set.new(targets.map(&:name)) return false end if @invocation[:arguments] && arguments != @invocation[:arguments] return false end if @invocation[:options] && options != @invocation[:options] return false end true end def call(targets, script, arguments, options) @calls += 1 if @return_block # Merge arguments and options into params to match puppet function signature. params = options.merge('arguments' => arguments) check_resultset(@return_block.call(targets: targets, script: script, params: params), script) else Bolt::ResultSet.new(targets.map { |target| @data[target.name] || default_for(target) }) end end def parameters @invocation[:arguments] + @invocation[:options] end def result_for(target, stdout: '', stderr: '') Bolt::Result.for_command(target, stdout, stderr, 0) end # Public methods def with_params(params) @invocation[:arguments] = params['arguments'] @invocation[:options] = params.select { |k, _v| k.start_with?('_') } self end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
bolt-1.6.0 | lib/bolt_spec/plans/action_stubs/script_stub.rb |
bolt-1.5.0 | lib/bolt_spec/plans/action_stubs/script_stub.rb |
bolt-1.4.0 | lib/bolt_spec/plans/action_stubs/script_stub.rb |