Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'spec/models/project_statistics_spec.rb')
-rw-r--r--spec/models/project_statistics_spec.rb61
1 files changed, 58 insertions, 3 deletions
diff --git a/spec/models/project_statistics_spec.rb b/spec/models/project_statistics_spec.rb
index 20fc14113ef..2c29d4c42f4 100644
--- a/spec/models/project_statistics_spec.rb
+++ b/spec/models/project_statistics_spec.rb
@@ -36,7 +36,7 @@ RSpec.describe ProjectStatistics do
snippets_size: 1.exabyte,
pipeline_artifacts_size: 512.petabytes - 1,
uploads_size: 512.petabytes,
- container_registry_size: 8.exabytes - 1
+ container_registry_size: 12.petabytes
)
statistics.reload
@@ -50,7 +50,7 @@ RSpec.describe ProjectStatistics do
expect(statistics.snippets_size).to eq(1.exabyte)
expect(statistics.pipeline_artifacts_size).to eq(512.petabytes - 1)
expect(statistics.uploads_size).to eq(512.petabytes)
- expect(statistics.container_registry_size).to eq(8.exabytes - 1)
+ expect(statistics.container_registry_size).to eq(12.petabytes)
end
end
@@ -62,6 +62,7 @@ RSpec.describe ProjectStatistics do
statistics.build_artifacts_size = 4
statistics.snippets_size = 5
statistics.uploads_size = 3
+ statistics.container_registry_size = 8
expect(statistics.total_repository_size).to eq 5
end
@@ -104,6 +105,7 @@ RSpec.describe ProjectStatistics do
allow(statistics).to receive(:update_snippets_size)
allow(statistics).to receive(:update_storage_size)
allow(statistics).to receive(:update_uploads_size)
+ allow(statistics).to receive(:update_container_registry_size)
end
context "without arguments" do
@@ -118,6 +120,7 @@ RSpec.describe ProjectStatistics do
expect(statistics).to have_received(:update_lfs_objects_size)
expect(statistics).to have_received(:update_snippets_size)
expect(statistics).to have_received(:update_uploads_size)
+ expect(statistics).to have_received(:update_container_registry_size)
end
end
@@ -133,6 +136,7 @@ RSpec.describe ProjectStatistics do
expect(statistics).not_to have_received(:update_wiki_size)
expect(statistics).not_to have_received(:update_snippets_size)
expect(statistics).not_to have_received(:update_uploads_size)
+ expect(statistics).not_to have_received(:update_container_registry_size)
end
end
@@ -148,11 +152,13 @@ RSpec.describe ProjectStatistics do
expect(statistics).to have_received(:update_wiki_size)
expect(statistics).to have_received(:update_snippets_size)
expect(statistics).to have_received(:update_uploads_size)
+ expect(statistics).to have_received(:update_container_registry_size)
expect(statistics.repository_size).to eq(0)
expect(statistics.commit_count).to eq(0)
expect(statistics.wiki_size).to eq(0)
expect(statistics.snippets_size).to eq(0)
expect(statistics.uploads_size).to eq(0)
+ expect(statistics.container_registry_size).to eq(0)
end
end
@@ -174,11 +180,13 @@ RSpec.describe ProjectStatistics do
expect(statistics).to have_received(:update_wiki_size)
expect(statistics).to have_received(:update_snippets_size)
expect(statistics).to have_received(:update_uploads_size)
+ expect(statistics).to have_received(:update_container_registry_size)
expect(statistics.repository_size).to eq(0)
expect(statistics.commit_count).to eq(0)
expect(statistics.wiki_size).to eq(0)
expect(statistics.snippets_size).to eq(0)
expect(statistics.uploads_size).to eq(0)
+ expect(statistics.container_registry_size).to eq(0)
end
end
@@ -224,6 +232,7 @@ RSpec.describe ProjectStatistics do
expect(statistics).not_to receive(:update_lfs_objects_size)
expect(statistics).not_to receive(:update_snippets_size)
expect(statistics).not_to receive(:update_uploads_size)
+ expect(statistics).not_to receive(:update_container_registry_size)
expect(statistics).not_to receive(:save!)
expect(Namespaces::ScheduleAggregationWorker)
.not_to receive(:perform_async)
@@ -319,8 +328,42 @@ RSpec.describe ProjectStatistics do
end
end
+ describe '#update_container_registry_size' do
+ subject(:update_container_registry_size) { statistics.update_container_registry_size }
+
+ it 'stores the project container registry repositories size' do
+ allow(project).to receive(:container_repositories_size).and_return(10)
+
+ update_container_registry_size
+
+ expect(statistics.container_registry_size).to eq(10)
+ end
+
+ it 'handles nil values for the repositories size' do
+ allow(project).to receive(:container_repositories_size).and_return(nil)
+
+ update_container_registry_size
+
+ expect(statistics.container_registry_size).to eq(0)
+ end
+
+ context 'with container_registry_project_statistics FF disabled' do
+ before do
+ stub_feature_flags(container_registry_project_statistics: false)
+ end
+
+ it 'does not update the container_registry_size' do
+ expect(project).not_to receive(:container_repositories_size)
+
+ update_container_registry_size
+
+ expect(statistics.container_registry_size).to eq(0)
+ end
+ end
+ end
+
describe '#update_storage_size' do
- it "sums all storage counters" do
+ it "sums the relevant storage counters" do
statistics.update!(
repository_size: 2,
wiki_size: 4,
@@ -337,6 +380,18 @@ RSpec.describe ProjectStatistics do
expect(statistics.storage_size).to eq 28
end
+ it 'excludes the container_registry_size' do
+ statistics.update!(
+ repository_size: 2,
+ uploads_size: 5,
+ container_registry_size: 10
+ )
+
+ statistics.reload
+
+ expect(statistics.storage_size).to eq 7
+ end
+
it 'works during wiki_size backfill' do
statistics.update!(
repository_size: 2,