class Kitchen::Terraform::SystemsVerifier::FailSlow
FailSlow
is the class of objects which verify systems and raise rescued errors after all systems have been verified.
Attributes
messages[RW]
systems[RW]
Public Class Methods
new(systems:)
click to toggle source
initialize prepares a new instance of the class.
@param systems [Array<::Kitchen::Terraform::System>] a list of systems to be verified. @return [Kitchen::Terraform::SystemsVerifier::FailSlow]
# File lib/kitchen/terraform/systems_verifier/fail_slow.rb, line 29 def initialize(systems:) self.messages = [] self.systems = systems end
Public Instance Methods
verify(outputs:, variables:)
click to toggle source
verify
verifies each system.
@param outputs [Hash] a mapping of Terraform
outputs. @param variables [Hash] a mapping of Terraform
variables. @raise [Kitchen::TransientFailure] if verification of a system fails. @return [self]
# File lib/kitchen/terraform/systems_verifier/fail_slow.rb, line 40 def verify(outputs:, variables:) systems.each do |system| verify_and_continue outputs: outputs, system: system, variables: variables end raise ::Kitchen::TransientFailure, messages.join("\n\n") if !messages.empty? self end
Private Instance Methods
verify_and_continue(outputs:, system:, variables:)
click to toggle source
# File lib/kitchen/terraform/systems_verifier/fail_slow.rb, line 54 def verify_and_continue(outputs:, system:, variables:) system.verify fail_fast: false, outputs: outputs, variables: variables rescue ::Kitchen::TransientFailure => error messages.push error.message end