66 lines
2.3 KiB
Ruby
66 lines
2.3 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
FactoryBot.define do
|
|
factory :client do
|
|
name { random_string }
|
|
name_id { Faker::Internet.base64(length: 8, padding: false) }
|
|
api_key_hash { bcrypt_fake_hash }
|
|
description { Faker::String.random(length: 0..200) }
|
|
perm_r { Faker::Boolean.boolean }
|
|
perm_w { Faker::Boolean.boolean }
|
|
perm_x { false } # dont want to create random admin accounts
|
|
public_ip { Faker::Boolean.boolean }
|
|
ipv4 { empty_or_fake(Faker::Internet.public_ip_v4_address) }
|
|
end
|
|
# premade clients
|
|
# NOTE: api key and hash are hardcoded to speed up testing
|
|
factory :admin, class: 'Client' do
|
|
name { 'admin' }
|
|
name_id { 'd5d40cd9' }
|
|
# api_key { 'e2s1BsQEqmSE5MqyHYbDBVxGr/KY4BYIV5QkdjiCOF0=' }
|
|
api_key_hash { '$2y$08$peZ67RvHVjBmfhUkE8tBtexMRka9w4CPBk7dJfSp5VM4HMWxX8p/y' }
|
|
description { 'e2s1BsQEqmSE5MqyHYbDBVxGr/KY4BYIV5QkdjiCOF0=' } # misusing description to access api key in rspec
|
|
perm_r { true }
|
|
perm_w { true }
|
|
perm_x { true }
|
|
public_ip { false }
|
|
ipv4 { '' }
|
|
end
|
|
factory :public, class: 'Client' do
|
|
name { 'public_client.com.' }
|
|
name_id { '23acfa41' }
|
|
# api_key { 'Tn32gdYAlo1yY6RerRtwCO8KNrqFbh9m0ijyHPDqQJs=' }
|
|
api_key_hash { '$2y$08$2AMXQs/VQMIxyJBLeBr1vOiSX2NnEPE7RHberXMUD2B8uNx/SpGX2' }
|
|
description { 'Public Account' }
|
|
perm_r { false }
|
|
perm_w { true }
|
|
perm_x { false }
|
|
public_ip { true }
|
|
ipv4 { '153.25.33.4' }
|
|
end
|
|
factory :read, class: 'Client' do
|
|
name { 'read_client' }
|
|
name_id { '438fc1d4' }
|
|
# api_key { 'E1JtENz4PMLlFQzM63PyWjVIk1PunZPieYueYdM8I34=' }
|
|
api_key_hash { '$2y$08$a0v8JSbnHdKPqzqoZEg0qO1KHmt5TCiJSz.ICUl/MztuRw6vuNzJm' }
|
|
description { 'E1JtENz4PMLlFQzM63PyWjVIk1PunZPieYueYdM8I34=' } # misusing description to access api key in rspec
|
|
perm_r { true }
|
|
perm_w { false }
|
|
perm_x { false }
|
|
public_ip { false }
|
|
ipv4 { '' }
|
|
end
|
|
factory :write, class: 'Client' do
|
|
name { 'write_client' }
|
|
name_id { '7490d4ea' }
|
|
# api_key { 'Ll8XPUfDfKs5WHuY0Is/MKC8Lv3ysEgQOUc+Ya3HcuY=' }
|
|
api_key_hash { '$2y$08$qoo/wj5eytLQzl6bYLpPyuERdoPizOqkaq/EPIT4R8c8CADfwIQ7C' }
|
|
description { 'Ll8XPUfDfKs5WHuY0Is/MKC8Lv3ysEgQOUc+Ya3HcuY=' } # misusing description to access api key in rspec
|
|
perm_r { false }
|
|
perm_w { true }
|
|
perm_x { false }
|
|
public_ip { false }
|
|
ipv4 { '44.2.55.12' }
|
|
end
|
|
end
|