Sha256: 541a24ee791f6672b9079508bad5320eed40a684d05a96f8fe60a019c48ad691

Contents?: true

Size: 1.34 KB

Versions: 44

Compression:

Stored size: 1.34 KB

Contents

require 'spec_helper'

describe EY::Serverside::Source::Git do
  before do
    allow_any_instance_of(described_class).to receive(:runner) { RunnerDouble }
  end

  it "errors when required options are not used" do
    expect { described_class.new(nil, {}) }.to raise_error(ArgumentError)
  end

  context "source" do
    let(:shell) { ShellDouble.new }
    subject {
      described_class.new(shell,
        :uri => "engineyard/engineyard-serverside.git",
        :ref => "",
        :repository_cache => "cache_dir")
    }

    it "creates the correct reivison file command" do
      expect(subject.create_revision_file_command("directory/REVISION")).to eq(
        "git --git-dir cache_dir/.git --work-tree cache_dir show --pretty=format:\"%H\" | head -1 > \"directory/REVISION\""
      )
    end

    it "runs gc" do
      expect(subject.gc_repository_cache.output).to eq("git --git-dir cache_dir/.git --work-tree cache_dir gc")
      expect(shell.messages.last).to eq("Garbage collecting cached git repository to reduce disk usage.")
    end

    it "checks if it is the same revision" do
      expect(subject.same?("", "")).to be
    end

    it "runs a short log message" do
      expect(subject.short_log_message("rev")).to eq(
        "git --git-dir cache_dir/.git --work-tree cache_dir log --pretty=oneline --abbrev-commit -n 1 'rev'"
      )
    end

  end

end

Version data entries

44 entries across 44 versions & 1 rubygems

Version Path
engineyard-serverside-2.8.0.pre4 spec/source/git_spec.rb
engineyard-serverside-2.8.0.pre spec/source/git_spec.rb
engineyard-serverside-2.6.17 spec/source/git_spec.rb
engineyard-serverside-2.6.15.pre spec/source/git_spec.rb
engineyard-serverside-2.6.14 spec/source/git_spec.rb
engineyard-serverside-2.6.13 spec/source/git_spec.rb
engineyard-serverside-2.6.12 spec/source/git_spec.rb
engineyard-serverside-2.6.12.prewut5 spec/source/git_spec.rb
engineyard-serverside-2.6.12.prewut4 spec/source/git_spec.rb
engineyard-serverside-2.6.12.prewut3 spec/source/git_spec.rb
engineyard-serverside-2.6.12.prewut2 spec/source/git_spec.rb
engineyard-serverside-2.6.12.prewut1 spec/source/git_spec.rb
engineyard-serverside-2.6.12.prewut0 spec/source/git_spec.rb
engineyard-serverside-2.6.11 spec/source/git_spec.rb
engineyard-serverside-2.6.10 spec/source/git_spec.rb
engineyard-serverside-2.6.9pre3 spec/source/git_spec.rb
engineyard-serverside-2.6.9pre2 spec/source/git_spec.rb
engineyard-serverside-2.6.9pre1 spec/source/git_spec.rb
engineyard-serverside-2.6.8 spec/source/git_spec.rb
engineyard-serverside-2.6.8pre2 spec/source/git_spec.rb