From b8e620cb6d64c9907f4836ca3a3da206d6fef3f1 Mon Sep 17 00:00:00 2001 From: Mathieu Parent Date: Fri, 31 Mar 2023 10:30:09 +0200 Subject: [PATCH] Fix broken trait specs - package See https://gitlab.com/gitlab-org/gitlab/-/issues/322699 Changelog: fixed --- ee/spec/models/factories_spec.rb | 14 ++++++++------ spec/factories/packages/debian/file_metadatum.rb | 9 ++++++++- spec/support/helpers/stub_object_storage.rb | 12 ++++++++++++ 3 files changed, 28 insertions(+), 7 deletions(-) diff --git a/ee/spec/models/factories_spec.rb b/ee/spec/models/factories_spec.rb index 6c99a7f82e8800..a8a84f5bf84a4d 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 42729b25087211..f61d8113fffb20 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 d120e1805e35f2..65c0c32c44cb93 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, -- GitLab