jam-cloud/ruby/spec/factories.rb

309 lines
9.4 KiB
Ruby
Raw Normal View History

require 'faker'
FactoryGirl.define do
factory :user, :class => JamRuby::User do
sequence(:email) { |n| "person_#{n}@example.com"}
sequence(:first_name) { |n| "Person" }
sequence(:last_name) { |n| "#{n}" }
password "foobar"
password_confirmation "foobar"
2012-11-12 12:28:44 +00:00
email_confirmed true
city "Apex"
state "NC"
country "US"
musician true
2013-03-15 04:22:31 +00:00
terms_of_service true
#u.association :musician_instrument, factory: :musician_instrument, user: u
before(:create) do |user|
user.musician_instruments << FactoryGirl.build(:musician_instrument, user: user)
end
factory :admin do
admin true
end
end
factory :music_session, :class => JamRuby::MusicSession do
sequence(:description) { |n| "Music Session #{n}" }
fan_chat true
fan_access true
approval_required false
musician_access true
legal_terms true
2014-01-05 03:47:23 +00:00
genres [JamRuby::Genre.first]
association :creator, :factory => :user
end
factory :music_session_history, :class => JamRuby::MusicSessionHistory do
ignore do
music_session nil
end
music_session_id { music_session.id }
description { music_session.description }
user_id { music_session.user_id }
band_id { music_session.band_id }
end
factory :music_session_user_history, :class => JamRuby::MusicSessionUserHistory do
ignore do
history nil
user nil
end
2013-04-17 00:36:01 +00:00
music_session_id { history.music_session_id }
user_id { user.id }
sequence(:client_id) { |n| "Connection #{n}" }
end
factory :connection, :class => JamRuby::Connection do
2012-11-02 06:51:52 +00:00
sequence(:client_id) { |n| "Client#{n}" }
as_musician true
end
factory :invitation, :class => JamRuby::Invitation do
end
factory :friendship, :class => JamRuby::Friendship do
end
2012-11-12 12:28:44 +00:00
2012-12-06 01:56:12 +00:00
factory :band_musician, :class => JamRuby::BandMusician do
end
2012-11-12 12:28:44 +00:00
factory :band, :class => JamRuby::Band do
sequence(:name) { |n| "Band" }
biography "My Biography"
city "Apex"
state "NC"
country "US"
2012-11-12 12:28:44 +00:00
end
2012-12-05 19:10:58 +00:00
factory :genre, :class => JamRuby::Genre do
description { |n| "Genre #{n}" }
end
factory :join_request, :class => JamRuby::JoinRequest do
text 'let me in to the session!'
end
2013-01-15 02:13:45 +00:00
factory :track, :class => JamRuby::Track do
sound "mono"
2013-11-16 04:35:40 +00:00
sequence(:client_track_id) { |n| "client_track_id#{n}"}
2013-01-15 02:13:45 +00:00
end
2013-01-30 05:46:40 +00:00
factory :recorded_track, :class => JamRuby::RecordedTrack do
2013-01-15 02:13:45 +00:00
end
factory :instrument, :class => JamRuby::Instrument do
2013-03-15 04:22:31 +00:00
2013-01-15 02:13:45 +00:00
end
2013-01-30 05:46:40 +00:00
factory :recording, :class => JamRuby::Recording do
2013-04-17 00:36:01 +00:00
2013-01-30 05:46:40 +00:00
end
2013-03-15 04:22:31 +00:00
factory :musician_instrument, :class => JamRuby::MusicianInstrument do
instrument { Instrument.find('electric guitar') }
proficiency_level 1
priority 0
end
factory :invited_user, :class => JamRuby::InvitedUser do
sequence(:email) { |n| "user#{n}@someservice.com" }
autofriend false
end
2013-04-16 02:12:16 +00:00
factory :music_session_perf_data, :class => JamRuby::MusicSessionPerfData do
2013-04-17 00:36:01 +00:00
association :music_session => :music_session
2013-04-16 02:12:16 +00:00
end
2013-08-09 01:03:41 +00:00
factory :crash_dump, :class => JamRuby::CrashDump do
end
2013-11-03 03:07:16 +00:00
factory :geocoder, :class => JamRuby::MaxMindGeo do
country 'US'
2013-11-03 06:43:09 +00:00
sequence(:region) { |n| ['NC', 'CA'][(n-1).modulo(2)] }
sequence(:city) { |n| ['Apex', 'San Francisco'][(n-1).modulo(2)] }
sequence(:ip_start) { |n| ['1.1.0.0', '1.1.255.255'][(n-1).modulo(2)] }
sequence(:ip_end) { |n| ['1.2.0.0', '1.2.255.255'][(n-1).modulo(2)] }
sequence(:lat) { |n| [35.73265, 37.7742075][(n-1).modulo(2)] }
sequence(:lng) { |n| [-78.85029, -122.4155311][(n-1).modulo(2)] }
2013-11-03 03:07:16 +00:00
end
factory :promo_buzz, :class => JamRuby::PromoBuzz do
text_short Faker::Lorem.characters(10)
text_long Faker::Lorem.paragraphs(3).join("\n")
end
factory :icecast_limit, :class => JamRuby::IcecastLimit do
clients 5
sources 1
queue_size 102400
client_timeout 30
header_timeout 15
source_timeout 10
burst_size 65536
end
factory :icecast_admin_authentication, :class => JamRuby::IcecastAdminAuthentication do
source_pass Faker::Lorem.characters(10)
admin_user Faker::Lorem.characters(10)
admin_pass Faker::Lorem.characters(10)
relay_user Faker::Lorem.characters(10)
relay_pass Faker::Lorem.characters(10)
end
factory :icecast_directory, :class => JamRuby::IcecastDirectory do
yp_url_timeout 15
yp_url Faker::Lorem.characters(10)
end
factory :icecast_master_server_relay, :class => JamRuby::IcecastMasterServerRelay do
master_server Faker::Lorem.characters(10)
master_server_port 8000
master_update_interval 120
master_username Faker::Lorem.characters(10)
master_pass Faker::Lorem.characters(10)
relays_on_demand 1
end
factory :icecast_path, :class => JamRuby::IcecastPath do
base_dir Faker::Lorem.characters(10)
log_dir Faker::Lorem.characters(10)
pid_file Faker::Lorem.characters(10)
web_root Faker::Lorem.characters(10)
admin_root Faker::Lorem.characters(10)
end
factory :icecast_logging, :class => JamRuby::IcecastLogging do
access_log Faker::Lorem.characters(10)
error_log Faker::Lorem.characters(10)
log_level 3
log_archive nil
log_size 10000
end
factory :icecast_security, :class => JamRuby::IcecastSecurity do
chroot 0
end
factory :icecast_mount, :class => JamRuby::IcecastMount do
name "/" + Faker::Lorem.characters(10)
source_username Faker::Lorem.characters(10)
source_pass Faker::Lorem.characters(10)
max_listeners 100
max_listener_duration 3600
fallback_mount Faker::Lorem.characters(10)
fallback_override 1
fallback_when_full 1
is_public -1
stream_name Faker::Lorem.characters(10)
stream_description Faker::Lorem.characters(10)
stream_url Faker::Lorem.characters(10)
genre Faker::Lorem.characters(10)
hidden 0
association :server, factory: :icecast_server_with_overrides
factory :icecast_mount_with_auth do
association :authentication, :factory => :icecast_user_authentication
factory :iceast_mount_with_template do
association :mount_template, :factory => :icecast_mount_template
factory :iceast_mount_with_music_session do
association :music_session, :factory => :music_session
end
end
end
end
factory :icecast_listen_socket, :class => JamRuby::IcecastListenSocket do
port 8000
end
factory :icecast_relay, :class => JamRuby::IcecastRelay do
port 8000
mount Faker::Lorem.characters(10)
server Faker::Lorem.characters(10)
on_demand 1
end
factory :icecast_user_authentication, :class => JamRuby::IcecastUserAuthentication do
authentication_type 'url'
unused_username Faker::Lorem.characters(10)
unused_pass Faker::Lorem.characters(10)
mount_add Faker::Lorem.characters(10)
mount_remove Faker::Lorem.characters(10)
listener_add Faker::Lorem.characters(10)
listener_remove Faker::Lorem.characters(10)
auth_header 'icecast-auth-user: 1'
timelimit_header 'icecast-auth-timelimit:'
end
factory :icecast_server, :class => JamRuby::IcecastServer do
sequence(:hostname) { |n| "hostname-#{n}"}
sequence(:server_id) { |n| "server-#{n}"}
factory :icecast_server_minimal do
association :template, :factory => :icecast_template_minimal
association :mount_template, :factory => :icecast_mount_template
factory :icecast_server_with_overrides do
association :limit, :factory => :icecast_limit
association :admin_auth, :factory => :icecast_admin_authentication
association :path, :factory => :icecast_path
association :logging, :factory => :icecast_logging
association :security, :factory => :icecast_security
before(:create) do |server|
server.listen_sockets << FactoryGirl.build(:icecast_listen_socket)
end
end
end
end
factory :icecast_template, :class => JamRuby::IcecastTemplate do
sequence(:name) { |n| "name-#{n}"}
sequence(:location) { |n| "location-#{n}"}
factory :icecast_template_minimal do
association :limit, :factory => :icecast_limit
association :admin_auth, :factory => :icecast_admin_authentication
association :path, :factory => :icecast_path
association :logging, :factory => :icecast_logging
association :security, :factory => :icecast_security
before(:create) do |template|
template.listen_sockets << FactoryGirl.build(:icecast_listen_socket)
end
end
end
factory :icecast_mount_template, :class => JamRuby::IcecastMountTemplate do
sequence(:name) { |n| "name-#{n}"}
source_username Faker::Lorem.characters(10)
source_pass Faker::Lorem.characters(10)
max_listeners 100
max_listener_duration 3600
fallback_mount Faker::Lorem.characters(10)
fallback_override 1
fallback_when_full 1
is_public -1
stream_name Faker::Lorem.characters(10)
stream_description Faker::Lorem.characters(10)
stream_url Faker::Lorem.characters(10)
genre Faker::Lorem.characters(10)
hidden 0
association :authentication, :factory => :icecast_user_authentication
end
2012-12-06 01:56:12 +00:00
end