summaryrefslogtreecommitdiff
path: root/spec/lib/gitlab/gitaly_client/repository_service_spec.rb
diff options
context:
space:
mode:
authorStan Hu <stanhu@gmail.com>2019-05-06 10:54:16 +0000
committerStan Hu <stanhu@gmail.com>2019-05-06 10:54:16 +0000
commit02ca1577ea92eaa1e8b23855f2742638b1a13e3a (patch)
tree41cbf2179a372870dc395ea2b51c8fd80321f214 /spec/lib/gitlab/gitaly_client/repository_service_spec.rb
parentd7adc4cf3ca53fee784c2e0966f127334a9dad54 (diff)
parent0e033b31248a48bd02ae67aada106f99a2af53f9 (diff)
downloadgitlab-ce-02ca1577ea92eaa1e8b23855f2742638b1a13e3a.tar.gz
Merge branch 'jc-disconnect-git-alternates-client' into 'master'
Add client methods for DisconnectGitAlternates rpc See merge request gitlab-org/gitlab-ce!27938
Diffstat (limited to 'spec/lib/gitlab/gitaly_client/repository_service_spec.rb')
-rw-r--r--spec/lib/gitlab/gitaly_client/repository_service_spec.rb30
1 files changed, 30 insertions, 0 deletions
diff --git a/spec/lib/gitlab/gitaly_client/repository_service_spec.rb b/spec/lib/gitlab/gitaly_client/repository_service_spec.rb
index 46ca2340389..09de7ca6afd 100644
--- a/spec/lib/gitlab/gitaly_client/repository_service_spec.rb
+++ b/spec/lib/gitlab/gitaly_client/repository_service_spec.rb
@@ -231,4 +231,34 @@ describe Gitlab::GitalyClient::RepositoryService do
client.raw_changes_between('deadbeef', 'deadpork')
end
end
+
+ describe '#disconnect_alternates' do
+ let(:project) { create(:project, :repository) }
+ let(:repository) { project.repository }
+ let(:repository_path) { File.join(TestEnv.repos_path, repository.relative_path) }
+ let(:pool_repository) { create(:pool_repository) }
+ let(:object_pool) { pool_repository.object_pool }
+ let(:object_pool_service) { Gitlab::GitalyClient::ObjectPoolService.new(object_pool) }
+
+ before do
+ object_pool_service.create(repository)
+ object_pool_service.link_repository(repository)
+ end
+
+ it 'deletes the alternates file' do
+ repository.disconnect_alternates
+
+ alternates_file = File.join(repository_path, "objects", "info", "alternates")
+
+ expect(File.exist?(alternates_file)).to be_falsey
+ end
+
+ context 'when called twice' do
+ it "doesn't raise an error" do
+ repository.disconnect_alternates
+
+ expect { repository.disconnect_alternates }.not_to raise_error
+ end
+ end
+ end
end