Sha256: 8012c99faad07e80271aec8b47117d4b1bb3f066b8390283b78f407ebd59f027

Contents?: true

Size: 1.86 KB

Versions: 2

Compression:

Stored size: 1.86 KB

Contents

require 'spec_helper'
require "fileutils"

describe Lobot::InstallGenerator do
  include GeneratorSpec::TestCase
  destination File.expand_path("../tmp", __FILE__)
  # arguments %w(something)

  before do
    prepare_destination
    run_generator
  end

  after :all do
    FileUtils.rm_rf ::File.expand_path("../tmp", __FILE__)
  end

  it "creates .gitignore" do
    assert_file ".gitignore", /config\/ci.yml/
  end

  it "creates ci.yml" do
    assert_file "config/ci.yml", /app_name/
  end

  it "create bootstrap_server.sh" do
    assert_file "script/bootstrap_server.sh", /bin\/bash/
  end

  it "creates a ci_build.sh file" do
    assert_file "script/ci_build.sh"
  end

  it "makes ci_build.sh executable" do
    system("test -x #{destination_root}/script/ci_build.sh").should == true
  end

  context "Capfile exists" do
    it "appends a load path to the Capfile" do
      prepare_destination
      system("echo 'line 2' > #{destination_root}/Capfile")
      run_generator
      assert_file "Capfile", "load 'config/capistrano/ci'\nline 2\n"
    end
  end

  context "Capfile doesn't exist" do
    it "create a Capfile" do
      assert_file "Capfile", /load 'config\/capistrano\/ci'/
    end

    it "give you the capify (default) capfile, but commented out" do
      assert_file "Capfile", /# load 'deploy'/
    end
  end

  it "creates config/deploy/ci.rb" do
    assert_file "config/deploy/ci.rb", /role :ci, "#\{ci_server\}:#\{ssh_port\}"/
  end

  it "creates config/capistrano/ci.rb" do
    assert_file "config/capistrano/ci.rb", /task :ci_setup do/
  end

  it "creates soloistrc" do
    assert_file "soloistrc", /cookbook_paths/
  end

  it "creates the chef directory" do
    destination_root.should have_structure do
      directory "chef" do
        directory "cookbooks" do
          directory "pivotal_ci"
          directory "pivotal_server"
        end
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
lobot-0.10.1 spec/install_spec.rb
lobot-0.10.0 spec/install_spec.rb