Skip to content
Snippets Groups Projects
Unverified Commit 0b2cc5c2 authored by Vlad Shablinsky's avatar Vlad Shablinsky Committed by Xu Cheng
Browse files

test_download_strategies: add git tests

parent 2f5f352b
No related branches found
No related tags found
No related merge requests found
......@@ -60,6 +60,69 @@ class VCSDownloadStrategyTests < Homebrew::TestCase
end
end
class GitDownloadStrategyTests < Homebrew::TestCase
include FileUtils
def setup
resource = ResourceDouble.new("https://github.com/homebrew/foo")
@commit_id = 1
@strategy = GitDownloadStrategy.new("baz", resource)
@cached_location = @strategy.cached_location
mkpath @cached_location
touch @cached_location/"README"
end
def teardown
rmtree @cached_location
end
def git_commit_all
shutup do
system "git", "add", "--all"
system "git", "commit", "-m", "commit number #{@commit_id}"
@commit_id += 1
end
end
def inside_repo_using_git_env
initial_env = ENV.to_hash
%w[AUTHOR COMMITTER].each do |role|
ENV["GIT_#{role}_NAME"] = "brew tests"
ENV["GIT_#{role}_EMAIL"] = "brew-tests@localhost"
ENV["GIT_#{role}_DATE"] = "Thu May 21 00:04:11 2009 +0100"
end
@cached_location.cd do
yield
end
ensure
ENV.replace(initial_env)
end
def setup_git_repo
inside_repo_using_git_env do
shutup do
system "git", "init"
system "git", "remote", "add", "origin", "https://github.com/Homebrew/homebrew-foo"
end
git_commit_all
end
end
def test_source_modified_time
setup_git_repo
assert_equal 1242860651, @strategy.source_modified_time.to_i
end
def test_last_commit
setup_git_repo
inside_repo_using_git_env do
touch "LICENSE"
git_commit_all
end
assert_equal "c50c79b", @strategy.last_commit
end
end
class DownloadStrategyDetectorTests < Homebrew::TestCase
def setup
@d = DownloadStrategyDetector.new
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment