142 lines
4.2 KiB
Ruby
142 lines
4.2 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
FactoryBot.define do
|
|
factory :debian_file_metadatum, class: 'Packages::Debian::FileMetadatum' do
|
|
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' }
|
|
fields { { 'a' => 'b' } }
|
|
|
|
trait(:unknown) do
|
|
file_type { 'unknown' }
|
|
component { nil }
|
|
architecture { nil }
|
|
fields { nil }
|
|
end
|
|
|
|
trait(:source) do
|
|
file_type { 'source' }
|
|
component { 'main' }
|
|
architecture { nil }
|
|
fields { nil }
|
|
end
|
|
|
|
trait(:dsc) do
|
|
file_type { 'dsc' }
|
|
component { 'main' }
|
|
architecture { nil }
|
|
fields do
|
|
{
|
|
'Format' => '3.0 (native)',
|
|
'Source' => package_file.package.name,
|
|
'Binary' => 'sample-dev, libsample0, sample-udeb, sample-ddeb',
|
|
'Architecture' => 'any',
|
|
'Version' => package_file.package.version,
|
|
'Maintainer' => "#{FFaker::Name.name} <#{FFaker::Internet.email}>",
|
|
'Homepage' => FFaker::Internet.http_url,
|
|
'Standards-Version' => '4.5.0',
|
|
'Build-Depends' => 'debhelper-compat (= 13)',
|
|
'Package-List' => <<~PACKAGELIST.rstrip,
|
|
libsample0 deb libs optional arch=any
|
|
sample-ddeb deb libs optional arch=any
|
|
sample-dev deb libdevel optional arch=any
|
|
sample-udeb udeb libs optional arch=any
|
|
PACKAGELIST
|
|
'Checksums-Sha1' => "\n4a9cb2a7c77a68dc0fe54ba8ecef133a7c949e9d 964 sample_1.2.3~alpha2.tar.xz",
|
|
'Checksums-Sha256' =>
|
|
"\nc9d05185ca158bb804977fa9d7b922e8a0f644a2da41f99d2787dd61b1e2e2c5 964 sample_1.2.3~alpha2.tar.xz",
|
|
'Files' => "\nadc69e57cda38d9bb7c8d59cacfb6869 964 sample_1.2.3~alpha2.tar.xz"
|
|
}
|
|
end
|
|
end
|
|
|
|
trait(:deb) do
|
|
file_type { 'deb' }
|
|
component { 'main' }
|
|
architecture { 'amd64' }
|
|
fields do
|
|
{
|
|
'Package' => 'libsample0',
|
|
'Source' => package_file.package.name,
|
|
'Version' => package_file.package.version,
|
|
'Architecture' => 'amd64',
|
|
'Maintainer' => "#{FFaker::NameCN.name} #{FFaker::Name.name} <#{FFaker::Internet.email}>",
|
|
'Installed-Size' => '7',
|
|
'Section' => 'libs',
|
|
'Priority' => 'optional',
|
|
'Multi-Arch' => 'same',
|
|
'Homepage' => FFaker::Internet.http_url,
|
|
'Description' => <<~DESCRIPTION.rstrip
|
|
Some mostly empty lib
|
|
Used in GitLab tests.
|
|
|
|
Testing another paragraph.
|
|
DESCRIPTION
|
|
}
|
|
end
|
|
end
|
|
|
|
trait(:deb_dev) do
|
|
file_type { 'deb' }
|
|
component { 'main' }
|
|
architecture { 'amd64' }
|
|
fields do
|
|
{
|
|
'Package' => 'sample-dev',
|
|
'Source' => "#{package_file.package.name} (#{package_file.package.version})",
|
|
'Version' => '1.2.3~binary',
|
|
'Architecture' => 'amd64',
|
|
'Maintainer' => "#{FFaker::Name.name} <#{FFaker::Internet.email}>",
|
|
'Installed-Size' => '7',
|
|
'Depends' => 'libsample0 (= 1.2.3~binary)',
|
|
'Section' => 'libdevel',
|
|
'Priority' => 'optional',
|
|
'Multi-Arch' => 'same',
|
|
'Homepage' => FFaker::Internet.http_url,
|
|
'Description' => <<~DESCRIPTION.rstrip
|
|
Some mostly empty development files
|
|
Used in GitLab tests.
|
|
|
|
Testing another paragraph.
|
|
DESCRIPTION
|
|
}
|
|
end
|
|
end
|
|
|
|
trait(:udeb) do
|
|
file_type { 'udeb' }
|
|
component { 'main' }
|
|
architecture { 'amd64' }
|
|
fields { { 'a' => 'b' } }
|
|
end
|
|
|
|
trait(:ddeb) do
|
|
file_type { 'ddeb' }
|
|
component { 'main' }
|
|
architecture { 'amd64' }
|
|
fields { { 'a' => 'b' } }
|
|
end
|
|
|
|
trait(:buildinfo) do
|
|
file_type { 'buildinfo' }
|
|
component { 'main' }
|
|
architecture { nil }
|
|
fields { { 'Architecture' => 'amd64 source' } }
|
|
end
|
|
|
|
trait(:changes) do
|
|
file_type { 'changes' }
|
|
component { nil }
|
|
architecture { nil }
|
|
fields { { 'Architecture' => 'source amd64' } }
|
|
end
|
|
end
|
|
end
|