public
Description: Piston is a utility that eases vendor branch management. This repository is a complete reimplementation of Piston to provide different backends, depending on the repositories and working copies you pistonize from.
Homepage: http://piston.rubyforge.org/
Clone URL: git://github.com/francois/piston.git
francois (author)
Tue May 13 17:17:53 -0700 2008
commit  1d52246f7acabb0fdec2f555430702840146d418
tree    744b3fa8d01e231c8493bedd58a04a48fccff70c
parent  0d066f30f00db013c1dd0ac62b464156dc061b92
piston / test / unit / git / commit / test_validation.rb
100644 33 lines (28 sloc) 0.926 kb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
require File.dirname(__FILE__) + "/../../../test_helper"
 
class TestGitCommitValidation < Test::Unit::TestCase
  def setup
    @repository = mock("repository")
    @repository.stubs(:url).returns("git://my-git-repos/my-project.git")
  end
 
  def test_is_invalid_if_cannot_ls_remote_repository
    commit = new_commit("HEAD")
    commit.expects(:git).with(:ls_remote, @repository.url).raises(Piston::Git::Client::CommandError)
    assert_raise Piston::Git::Commit::Gone do
      commit.validate!
    end
  end
 
  def test_is_valid_when_ls_remote_succeeds
    commit = new_commit("HEAD")
    commit.expects(:git).with(:ls_remote, @repository.url).returns(INFO)
    assert_nothing_raised do
      commit.validate!
    end
  end
 
  protected
  def new_commit(commit, recalled_values={})
    Piston::Git::Commit.new(@repository, commit, recalled_values)
  end
  
  INFO = <<EOF
a7c46c702243f145a4089b0cb33d189870f1ae53  HEAD
EOF
end