lib/rspec/terraform/helpers/output.rb in rspec-terraform-0.1.0.pre.45 vs lib/rspec/terraform/helpers/output.rb in rspec-terraform-0.1.0.pre.46

- old
+ new

@@ -7,27 +7,22 @@ module RSpec module Terraform module Helpers class Output < Base def execute(overrides = {}) - parameters = with_configuration_provider_parameters(overrides) - parameters = with_mandatory_parameters(parameters) + parameters = resolve_parameters(overrides) validate(parameters) clean(parameters) init(parameters) output_value = output(parameters) - JSON.parse(output_value, symbolize_names: true) + parse(output_value) end private - def with_mandatory_parameters(parameters) - parameters.merge(mandatory_parameters) - end - def mandatory_parameters { json: true } end @@ -37,60 +32,11 @@ in_place: %i[name configuration_directory], isolated: %i[name source_directory configuration_directory] }[execution_mode] || [] end - def clean(parameters) - return unless execution_mode == :isolated - - FileUtils.rm_rf(parameters[:configuration_directory]) - FileUtils.mkdir_p(parameters[:configuration_directory]) - end - - def init(parameters) - init_command.execute(init_parameters(parameters)) - end - - def output(parameters) - stdout = StringIO.new - output_command(stdout: stdout) - .execute(output_parameters(parameters)) - stdout.string - end - - def init_command - RubyTerraform::Commands::Init.new(command_options) - end - - def output_command(opts = {}) - RubyTerraform::Commands::Output.new(command_options.merge(opts)) - end - - def init_parameters(parameters) - init_parameters = parameters.merge( - chdir: parameters[:configuration_directory], - input: false - ) - if execution_mode == :isolated - init_parameters = - init_parameters.merge(from_module: parameters[:source_directory]) - end - - init_parameters - end - - def output_parameters(parameters) - output_parameters = - parameters.merge( - chdir: parameters[:configuration_directory] - ) - - if parameters[:state_file] - output_parameters = - output_parameters.merge(state: parameters[:state_file]) - end - - output_parameters + def parse(output_value) + JSON.parse(output_value, symbolize_names: true) end end end end end