summaryrefslogtreecommitdiff
path: root/spec/models/packages/rpm/repository_file_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/models/packages/rpm/repository_file_spec.rb')
-rw-r--r--spec/models/packages/rpm/repository_file_spec.rb28
1 files changed, 27 insertions, 1 deletions
diff --git a/spec/models/packages/rpm/repository_file_spec.rb b/spec/models/packages/rpm/repository_file_spec.rb
index 34347793dd8..1147fd66ac6 100644
--- a/spec/models/packages/rpm/repository_file_spec.rb
+++ b/spec/models/packages/rpm/repository_file_spec.rb
@@ -1,7 +1,7 @@
# frozen_string_literal: true
require 'spec_helper'
-RSpec.describe Packages::Rpm::RepositoryFile, type: :model do
+RSpec.describe Packages::Rpm::RepositoryFile, type: :model, feature_category: :package_registry do
using RSpec::Parameterized::TableSyntax
let_it_be(:repository_file) { create(:rpm_repository_file) }
@@ -16,6 +16,32 @@ RSpec.describe Packages::Rpm::RepositoryFile, type: :model do
it { is_expected.to validate_presence_of(:project) }
end
+ describe '.has_oversized_filelists?' do
+ let_it_be(:filelists) { create(:rpm_repository_file, :filelists, size: 21.megabytes) }
+
+ subject { described_class.has_oversized_filelists?(project_id: filelists.project_id) }
+
+ context 'when has oversized filelists' do
+ it { expect(subject).to be true }
+ end
+
+ context 'when filelists.xml is not oversized' do
+ before do
+ filelists.update!(size: 19.megabytes)
+ end
+
+ it { expect(subject).to be_falsey }
+ end
+
+ context 'when there is no filelists.xml' do
+ before do
+ filelists.destroy!
+ end
+
+ it { expect(subject).to be_falsey }
+ end
+ end
+
context 'when updating project statistics' do
context 'when the package file has an explicit size' do
it_behaves_like 'UpdateProjectStatistics' do