diff --git a/ee/spec/models/factories_spec.rb b/ee/spec/models/factories_spec.rb index 6c99a7f82e88002de287ff79d723e386e1c5ccf3..a8a84f5bf84a4d8d3428f6f8edec1ab637bad6ea 100644 --- a/ee/spec/models/factories_spec.rb +++ b/ee/spec/models/factories_spec.rb @@ -28,14 +28,8 @@ [:ci_job_artifact, :correct_checksum], [:dependency_proxy_blob, :remote_store], [:environment, :non_playable], - [:composer_cache_file, :object_storage], - [:debian_project_component_file, :object_storage], - [:debian_project_distribution, :object_storage], - [:debian_file_metadatum, :unknown], [:issue_customer_relations_contact, :for_contact], [:issue_customer_relations_contact, :for_issue], - [:package_file, :object_storage], - [:rpm_repository_file, :object_storage], [:pages_domain, :without_certificate], [:pages_domain, :without_key], [:pages_domain, :with_missing_chain], @@ -83,6 +77,14 @@ shared_examples 'factory' do |factory| skip_any = skipped.include?([factory.name, any]) + before do + stub_composer_cache_object_storage # [:composer_cache_file, :object_storage] + stub_package_file_object_storage # [:package_file, :object_storage] + debian_component_file_object_storage # [:debian_project_component_file, :object_storage] + debian_distribution_release_file_object_storage # [:debian_project_distribution, :object_storage] + stub_rpm_repository_file_object_storage # [:rpm_repository_file, :object_storage] + end + describe "#{factory.name} factory" do it 'does not raise error when built' do # We use `skip` here because using `build` mostly work even if diff --git a/spec/factories/packages/debian/file_metadatum.rb b/spec/factories/packages/debian/file_metadatum.rb index 42729b25087211c45885cda8d96c784eb85c6d43..f61d8113fffb206bb16d05059623a5e476cc84cb 100644 --- a/spec/factories/packages/debian/file_metadatum.rb +++ b/spec/factories/packages/debian/file_metadatum.rb @@ -2,7 +2,14 @@ FactoryBot.define do factory :debian_file_metadatum, class: 'Packages::Debian::FileMetadatum' do - package_file { association(:debian_package_file, without_loaded_metadatum: true) } + package_file do + if file_type == 'unknown' + association(:debian_package_file, :unknown, without_loaded_metadatum: true) + else + association(:debian_package_file, without_loaded_metadatum: true) + end + end + file_type { 'deb' } component { 'main' } architecture { 'amd64' } diff --git a/spec/support/helpers/stub_object_storage.rb b/spec/support/helpers/stub_object_storage.rb index d120e1805e35f20e20fc25f304e8245042202fdd..65c0c32c44cb9371e9869622284b96f694072029 100644 --- a/spec/support/helpers/stub_object_storage.rb +++ b/spec/support/helpers/stub_object_storage.rb @@ -90,6 +90,18 @@ def stub_composer_cache_object_storage(**params) **params) end + def debian_component_file_object_storage(**params) + stub_object_storage_uploader(config: Gitlab.config.packages.object_store, + uploader: ::Packages::Debian::ComponentFileUploader, + **params) + end + + def debian_distribution_release_file_object_storage(**params) + stub_object_storage_uploader(config: Gitlab.config.packages.object_store, + uploader: ::Packages::Debian::DistributionReleaseFileUploader, + **params) + end + def stub_uploads_object_storage(uploader = described_class, **params) stub_object_storage_uploader(config: Gitlab.config.uploads.object_store, uploader: uploader,