Sha256: cf2720cd50edc398c1673fa218692379914bba366a185c2d78598375bd5db9a9

Contents?: true

Size: 924 Bytes

Versions: 104

Compression:

Stored size: 924 Bytes

Contents

class Terraspace::CLI
  class Test
    def initialize(options={})
      @options = options
    end

    def run
      config = Terraspace.config
      test_command = config.test_framework_command || config.test_framework
      execute(test_command)
    end

    def execute(command)
      command = adjust_command(command)
      puts "=> #{command}"
      Kernel.exec(command)
    end

    def adjust_command(command)
      if cd_into_test?
        command = "bundle exec #{command}" unless command.include?("bundle exec")
        command = "cd test && #{command}"
      else
        command
      end
    end

    # Automatically cd into the test folder in case running within the root of a module.
    # Detect/guess that we're in a module folder vs the terraspace project
    def cd_into_test?
      !File.exist?("app") && File.exist?("test") &&
      (File.exist?("main.tf") || File.exist?("main.rb"))
    end
  end
end

Version data entries

104 entries across 104 versions & 1 rubygems

Version Path
terraspace-2.2.17 lib/terraspace/cli/test.rb
terraspace-2.2.16 lib/terraspace/cli/test.rb
terraspace-2.2.15 lib/terraspace/cli/test.rb
terraspace-2.2.14 lib/terraspace/cli/test.rb
terraspace-2.2.13 lib/terraspace/cli/test.rb
terraspace-2.2.12 lib/terraspace/cli/test.rb
terraspace-2.2.11 lib/terraspace/cli/test.rb
terraspace-2.2.10 lib/terraspace/cli/test.rb
terraspace-2.2.9 lib/terraspace/cli/test.rb
terraspace-2.2.8 lib/terraspace/cli/test.rb
terraspace-2.2.7 lib/terraspace/cli/test.rb
terraspace-2.2.6 lib/terraspace/cli/test.rb
terraspace-2.2.5 lib/terraspace/cli/test.rb
terraspace-2.2.4 lib/terraspace/cli/test.rb
terraspace-2.2.3 lib/terraspace/cli/test.rb
terraspace-2.2.2 lib/terraspace/cli/test.rb
terraspace-2.2.1 lib/terraspace/cli/test.rb
terraspace-2.2.0 lib/terraspace/cli/test.rb
terraspace-2.1.7 lib/terraspace/cli/test.rb
terraspace-2.1.6 lib/terraspace/cli/test.rb