summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Marko <peter.marko@siemens.com>2019-05-29 16:09:41 +0200
committerPeter Marko <peter.marko@siemens.com>2019-05-29 16:15:02 +0200
commit8a0226d4be3b11d2362712b08e0c57d0a7e27c4b (patch)
tree3609f4a5822494725aa6b21aded4ed1ddab089b7
parent40490cc4922fedbf4512109429cdc2c5aed65ded (diff)
downloadgitlab-ce-8a0226d4be3b11d2362712b08e0c57d0a7e27c4b.tar.gz
Add spec to verify statistics without repositories
-rw-r--r--spec/models/project_statistics_spec.rb38
1 files changed, 38 insertions, 0 deletions
diff --git a/spec/models/project_statistics_spec.rb b/spec/models/project_statistics_spec.rb
index af429544d84..f985c114d4b 100644
--- a/spec/models/project_statistics_spec.rb
+++ b/spec/models/project_statistics_spec.rb
@@ -83,6 +83,44 @@ describe ProjectStatistics do
expect(statistics).not_to have_received(:update_wiki_size)
end
end
+
+ context 'without repositories' do
+ it 'does not crash' do
+ expect(project.repository.exists?).to be_falsey
+ expect(project.wiki.repository.exists?).to be_falsey
+
+ statistics.refresh!
+
+ expect(statistics).to have_received(:update_commit_count)
+ expect(statistics).to have_received(:update_repository_size)
+ expect(statistics).to have_received(:update_wiki_size)
+ expect(statistics.repository_size).to eq(0)
+ expect(statistics.commit_count).to eq(0)
+ expect(statistics.wiki_size).to eq(0)
+ end
+ end
+
+ context 'with deleted repositories' do
+ let(:project) { create(:project, :repository, :wiki_repo) }
+
+ before do
+ Gitlab::GitalyClient::StorageSettings.allow_disk_access do
+ FileUtils.rm_rf(project.repository.path)
+ FileUtils.rm_rf(project.wiki.repository.path)
+ end
+ end
+
+ it 'does not crash' do
+ statistics.refresh!
+
+ expect(statistics).to have_received(:update_commit_count)
+ expect(statistics).to have_received(:update_repository_size)
+ expect(statistics).to have_received(:update_wiki_size)
+ expect(statistics.repository_size).to eq(0)
+ expect(statistics.commit_count).to eq(0)
+ expect(statistics.wiki_size).to eq(0)
+ end
+ end
end
describe '#update_commit_count' do