Sha256: d69541b42805abfafd664cfa7e56e8304f3a30ba9f8be1e44601b9885ae08021

Contents?: true

Size: 1.26 KB

Versions: 38

Compression:

Stored size: 1.26 KB

Contents

describe Terraspace::All::Runner do
  let(:runner) do
    runner = described_class.new(command: "up", yes: true)
    allow(runner).to receive(:build_modules)
    allow(runner).to receive(:build_batches).and_return(batches)
    allow(runner).to receive(:preview)
    # Just test to the point of the run_builder and deploy_batch
    allow(runner).to receive(:run_builder)
    allow(runner).to receive(:deploy_batch)
    # Take over logger
    allow(runner).to receive(:logger).and_return(logger)
    runner
  end
  # To capture logger output for testing
  let(:logger) do
    @io = StringIO.new
    Logger.new(@io)
  end

  context "simple batches" do
    let(:batches) do
      [
        set("c1"),
        set("b2", "b1"),
        set("a1"),
      ]
    end
    it "run" do
      runner.run
      expect(@io.string).to include "Batch Run 1"
      expect(@io.string).to include "Batch Run 2"
      expect(@io.string).to include "Batch Run 3"
    end
  end

  context "empty batches" do
    let(:batches) { [] }
    it "run" do
      runner.run
      expect(@io.string).to include "Time took" # just a sanity syntax check. dont think can really get here
    end
  end

  Node = Terraspace::Dependency::Node
  def set(*items)
    nodes = items.map { |i| Node.new(i) }
    Set.new(nodes)
  end
end

Version data entries

38 entries across 38 versions & 1 rubygems

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