debian-mirror-gitlab/spec/factories/packages/debian/component_file.rb
2023-05-27 22:25:52 +05:30

58 lines
1.9 KiB
Ruby

# frozen_string_literal: true
FactoryBot.define do
factory :debian_project_component_file, class: 'Packages::Debian::ProjectComponentFile' do
transient do
file_fixture { 'spec/fixtures/packages/debian/distribution/Packages' }
end
component { association(:debian_project_component) }
architecture { association(:debian_project_architecture, distribution: component.distribution) }
factory :debian_group_component_file, class: 'Packages::Debian::GroupComponentFile' do
component { association(:debian_group_component) }
architecture { association(:debian_group_architecture, distribution: component.distribution) }
end
file_type { :packages }
after(:build) do |component_file, evaluator|
component_file.file = fixture_file_upload(evaluator.file_fixture) if evaluator.file_fixture.present?
end
file_md5 { '12345abcde' }
file_sha256 { 'be93151dc23ac34a82752444556fe79b32c7a1ad' }
trait(:packages) do
file_type { :packages }
end
trait(:sources) do
file_type { :sources }
architecture { nil }
file_fixture { 'spec/fixtures/packages/debian/distribution/Sources' }
end
trait(:di_packages) do
file_type { :di_packages }
file_fixture { 'spec/fixtures/packages/debian/distribution/D-I-Packages' }
end
trait(:older_sha256) do
created_at { '2020-01-24T08:00:00Z' }
file_sha256 { '157a1ad2b9102038560eea56771913b312ebf25093f5ef3b9842021c639c880d' }
file_fixture { 'spec/fixtures/packages/debian/distribution/OtherSHA256' }
end
trait(:object_storage) do
file_store { Packages::PackageFileUploader::Store::REMOTE }
end
trait(:empty) do
file_md5 { 'd41d8cd98f00b204e9800998ecf8427e' }
file_sha256 { 'e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855' }
file_fixture { nil }
size { 0 }
end
end
end