gitlabhq/spec/support/stubbed_repository.rb
2013-03-31 18:50:17 +03:00

76 lines
1.1 KiB
Ruby

require "gitlab/git/repository"
require "project"
require "merge_request"
require "shell"
# Stubs out all Git repository access done by models so that specs can run
# against fake repositories without Grit complaining that they don't exist.
class Project
def repository
if path == "empty" || !path
nil
else
GitLabTestRepo.new(path_with_namespace)
end
end
def satellite
FakeSatellite.new
end
class FakeSatellite
def exists?
true
end
def destroy
true
end
def create
true
end
end
end
class MergeRequest
def check_if_can_be_merged
true
end
end
class GitLabTestRepo < Gitlab::Git::Repository
def repo
@repo ||= Grit::Repo.new(Rails.root.join('tmp', 'repositories', 'gitlabhq'))
end
# patch repo size (in mb)
def size
12.45
end
end
module Gitlab
class Shell
def add_repository name
true
end
def mv_repository name, new_name
true
end
def remove_repository name
true
end
def add_key id, key
true
end
def remove_key id, key
true
end
end
end