diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-03-13 03:09:34 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-03-13 03:09:34 +0300 |
commit | 3cd08f4bf96cda3e9d3abf233095107832b17c20 (patch) | |
tree | dc09a618783a79d70f2a404374d4b850ccf9cc84 /spec/lib/gitlab/git | |
parent | dd4bee69b7d55620f7dc9db8c36b478bd4959755 (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/lib/gitlab/git')
-rw-r--r-- | spec/lib/gitlab/git/repository_spec.rb | 89 |
1 files changed, 45 insertions, 44 deletions
diff --git a/spec/lib/gitlab/git/repository_spec.rb b/spec/lib/gitlab/git/repository_spec.rb index d3daa7c0260..cfe73ead9cc 100644 --- a/spec/lib/gitlab/git/repository_spec.rb +++ b/spec/lib/gitlab/git/repository_spec.rb @@ -492,50 +492,6 @@ describe Gitlab::Git::Repository, :seed_helper do end end - describe '#fetch_repository_as_mirror' do - let(:new_repository) do - Gitlab::Git::Repository.new('default', 'my_project.git', '', 'group/project') - end - - subject { new_repository.fetch_repository_as_mirror(repository) } - - before do - new_repository.create_repository - end - - after do - new_repository.remove - end - - it 'fetches a repository as a mirror remote' do - subject - - expect(refs(new_repository_path)).to eq(refs(repository_path)) - end - - context 'with keep-around refs' do - let(:sha) { SeedRepo::Commit::ID } - let(:keep_around_ref) { "refs/keep-around/#{sha}" } - let(:tmp_ref) { "refs/tmp/#{SecureRandom.hex}" } - - before do - repository_rugged.references.create(keep_around_ref, sha, force: true) - repository_rugged.references.create(tmp_ref, sha, force: true) - end - - it 'includes the temporary and keep-around refs' do - subject - - expect(refs(new_repository_path)).to include(keep_around_ref) - expect(refs(new_repository_path)).to include(tmp_ref) - end - end - - def new_repository_path - File.join(TestEnv.repos_path, new_repository.relative_path) - end - end - describe '#fetch_remote' do it 'delegates to the gitaly RepositoryService' do ssh_auth = double(:ssh_auth) @@ -2181,4 +2137,49 @@ describe Gitlab::Git::Repository, :seed_helper do end end end + + describe '#replicate' do + let(:new_repository) do + Gitlab::Git::Repository.new('test_second_storage', TEST_REPO_PATH, '', 'group/project') + end + let(:new_repository_path) { File.join(TestEnv::SECOND_STORAGE_PATH, new_repository.relative_path) } + + subject { new_repository.replicate(repository) } + + before do + stub_storage_settings('test_second_storage' => { + 'gitaly_address' => Gitlab.config.repositories.storages.default.gitaly_address, + 'path' => TestEnv::SECOND_STORAGE_PATH + }) + Gitlab::Shell.new.create_repository('test_second_storage', TEST_REPO_PATH, 'group/project') + end + + after do + Gitlab::Shell.new.remove_repository('test_second_storage', TEST_REPO_PATH) + end + + it 'mirrors the source repository' do + subject + + expect(refs(new_repository_path)).to eq(refs(repository_path)) + end + + context 'with keep-around refs' do + let(:sha) { SeedRepo::Commit::ID } + let(:keep_around_ref) { "refs/keep-around/#{sha}" } + let(:tmp_ref) { "refs/tmp/#{SecureRandom.hex}" } + + before do + repository.write_ref(keep_around_ref, sha) + repository.write_ref(tmp_ref, sha) + end + + it 'includes the temporary and keep-around refs' do + subject + + expect(refs(new_repository_path)).to include(keep_around_ref) + expect(refs(new_repository_path)).to include(tmp_ref) + end + end + end end |