70 lines
1.7 KiB
Ruby
70 lines
1.7 KiB
Ruby
|
# frozen_string_literal: true
|
||
|
|
||
|
FactoryBot.define do
|
||
|
factory :docker_container_info, class: Hash do
|
||
|
initialize_with do
|
||
|
{
|
||
|
'Id' => '1234567890abcdef',
|
||
|
'Names' => ['/test-container'],
|
||
|
'State' => { 'Status' => 'running' },
|
||
|
'Labels' => {
|
||
|
'baktainer.backup' => 'true',
|
||
|
'baktainer.db.engine' => 'postgres',
|
||
|
'baktainer.db.name' => 'testdb',
|
||
|
'baktainer.db.user' => 'testuser',
|
||
|
'baktainer.db.password' => 'testpass',
|
||
|
'baktainer.name' => 'TestApp'
|
||
|
}
|
||
|
}
|
||
|
end
|
||
|
|
||
|
trait :mysql do
|
||
|
initialize_with do
|
||
|
base_attrs = attributes.dup
|
||
|
base_attrs['Labels'] = base_attrs['Labels'].merge({
|
||
|
'baktainer.db.engine' => 'mysql'
|
||
|
})
|
||
|
base_attrs
|
||
|
end
|
||
|
end
|
||
|
|
||
|
trait :postgres do
|
||
|
initialize_with do
|
||
|
base_attrs = attributes.dup
|
||
|
base_attrs['Labels'] = base_attrs['Labels'].merge({
|
||
|
'baktainer.db.engine' => 'postgres'
|
||
|
})
|
||
|
base_attrs
|
||
|
end
|
||
|
end
|
||
|
|
||
|
trait :sqlite do
|
||
|
initialize_with do
|
||
|
base_attrs = attributes.dup
|
||
|
base_attrs['Labels'] = base_attrs['Labels'].merge({
|
||
|
'baktainer.db.engine' => 'sqlite',
|
||
|
'baktainer.db.name' => '/data/test.db'
|
||
|
})
|
||
|
base_attrs
|
||
|
end
|
||
|
end
|
||
|
|
||
|
trait :stopped do
|
||
|
initialize_with do
|
||
|
base_attrs = attributes.dup
|
||
|
base_attrs['State'] = { 'Status' => 'exited' }
|
||
|
base_attrs
|
||
|
end
|
||
|
end
|
||
|
|
||
|
trait :no_backup_label do
|
||
|
initialize_with do
|
||
|
base_attrs = build(:docker_container_info)
|
||
|
labels = base_attrs['Labels'].dup
|
||
|
labels.delete('baktainer.backup')
|
||
|
base_attrs['Labels'] = labels
|
||
|
base_attrs
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|