diff options
author | Douwe Maan <douwe@gitlab.com> | 2016-07-04 04:40:41 +0000 |
---|---|---|
committer | Douwe Maan <douwe@gitlab.com> | 2016-07-04 04:40:41 +0000 |
commit | 021b6aef94b3398ab5603b4c11afd4c6d8432795 (patch) | |
tree | dd07a012d164d91e4dd7d5d220179d57c049778f /spec/models | |
parent | 4b0bd4f828cbd957ab0d6b828addd294f1397252 (diff) | |
parent | 16ecd7c6dd642c46bda5806569032bc91d6ee70d (diff) | |
download | gitlab-ce-021b6aef94b3398ab5603b4c11afd4c6d8432795.tar.gz |
Merge branch '13524-keep-around-commits' into 'master'
Don't garbage collect commits that have related DB records like comments
Closes #13524
Also needed for https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/4101.
See merge request !5062
Diffstat (limited to 'spec/models')
-rw-r--r-- | spec/models/merge_request_spec.rb | 4 | ||||
-rw-r--r-- | spec/models/note_spec.rb | 4 | ||||
-rw-r--r-- | spec/models/repository_spec.rb | 8 |
3 files changed, 14 insertions, 2 deletions
diff --git a/spec/models/merge_request_spec.rb b/spec/models/merge_request_spec.rb index 3b199f4d98d..ceb4d64698f 100644 --- a/spec/models/merge_request_spec.rb +++ b/spec/models/merge_request_spec.rb @@ -464,7 +464,7 @@ describe MergeRequest, models: true do context 'when it is not broken and has no conflicts' do it 'is marked as mergeable' do allow(subject).to receive(:broken?) { false } - allow(project).to receive_message_chain(:repository, :can_be_merged?) { true } + allow(project.repository).to receive(:can_be_merged?) { true } expect { subject.check_if_can_be_merged }.to change { subject.merge_status }.to('can_be_merged') end @@ -481,7 +481,7 @@ describe MergeRequest, models: true do context 'when it has conflicts' do before do allow(subject).to receive(:broken?) { false } - allow(project).to receive_message_chain(:repository, :can_be_merged?) { false } + allow(project.repository).to receive(:can_be_merged?) { false } end it 'becomes unmergeable' do diff --git a/spec/models/note_spec.rb b/spec/models/note_spec.rb index 285ab19cfaf..6549791f675 100644 --- a/spec/models/note_spec.rb +++ b/spec/models/note_spec.rb @@ -70,6 +70,10 @@ describe Note, models: true do it "should be recognized by #for_commit?" do expect(note).to be_for_commit end + + it "keeps the commit around" do + expect(note.project.repository.kept_around?(commit.id)).to be_truthy + end end describe 'authorization' do diff --git a/spec/models/repository_spec.rb b/spec/models/repository_spec.rb index 851b8b241d7..e753306a31f 100644 --- a/spec/models/repository_spec.rb +++ b/spec/models/repository_spec.rb @@ -1117,6 +1117,14 @@ describe Repository, models: true do end end + describe "#keep_around" do + it "stores a reference to the specified commit sha so it isn't garbage collected" do + repository.keep_around(sample_commit.id) + + expect(repository.kept_around?(sample_commit.id)).to be_truthy + end + end + def create_remote_branch(remote_name, branch_name, target) rugged = repository.rugged rugged.references.create("refs/remotes/#{remote_name}/#{branch_name}", target) |