2014-01-07 19:40:26 +00:00
|
|
|
JAMKAZAM_TESTING_BUCKET = 'jamkazam-testing' # cuz i'm not comfortable using aws_bucket accessor directly
|
2013-12-17 19:44:21 +00:00
|
|
|
|
|
|
|
|
def app_config
|
|
|
|
|
klass = Class.new do
|
2014-04-09 21:11:13 +00:00
|
|
|
|
2013-12-17 19:44:21 +00:00
|
|
|
def aws_bucket
|
2014-04-09 21:11:13 +00:00
|
|
|
JAMKAZAM_TESTING_BUCKET
|
2013-12-17 19:44:21 +00:00
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def aws_access_key_id
|
|
|
|
|
'AKIAJESQY24TOT542UHQ'
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def aws_secret_access_key
|
|
|
|
|
'h0V0ffr3JOp/UtgaGrRfAk25KHNiO9gm8Pj9m6v3'
|
|
|
|
|
end
|
2014-01-08 22:55:44 +00:00
|
|
|
|
2014-04-09 21:11:13 +00:00
|
|
|
def aws_region
|
|
|
|
|
'us-east-1'
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def aws_bucket_public
|
|
|
|
|
'jamkazam-testing-public'
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def aws_cache
|
|
|
|
|
'315576000'
|
|
|
|
|
end
|
|
|
|
|
|
2014-01-08 22:55:44 +00:00
|
|
|
def audiomixer_path
|
|
|
|
|
# you can specify full path to audiomixer with AUDIOMIXER_PATH env variable...
|
|
|
|
|
# or we check for audiomixer path in the user's workspace
|
|
|
|
|
# and finally the debian install path
|
|
|
|
|
ENV['AUDIOMIXER_PATH'] || audiomixer_workspace_path || "/var/lib/audiomixer/audiomixer/audiomixerapp"
|
|
|
|
|
end
|
|
|
|
|
|
2014-02-04 20:28:00 +00:00
|
|
|
def ffmpeg_path
|
|
|
|
|
ENV['FFMPEG_PATH'] || '/usr/local/bin/ffmpeg'
|
|
|
|
|
end
|
|
|
|
|
|
2014-01-19 02:20:44 +00:00
|
|
|
def icecast_reload_cmd
|
|
|
|
|
'true' # as in, /bin/true
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def icecast_config_file
|
|
|
|
|
Dir::Tmpname.make_tmpname(["#{Dir.tmpdir}/icecast", 'xml'], nil)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def icecast_server_id
|
|
|
|
|
'test'
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def icecast_max_missing_check
|
|
|
|
|
2 * 60 # 2 minutes
|
|
|
|
|
end
|
|
|
|
|
|
2014-01-21 14:51:03 +00:00
|
|
|
def icecast_max_sourced_changed
|
|
|
|
|
15 # 15 seconds
|
|
|
|
|
end
|
|
|
|
|
|
2014-01-25 22:48:24 +00:00
|
|
|
def icecast_hardcoded_source_password
|
|
|
|
|
nil # generate a new password everytime
|
|
|
|
|
end
|
|
|
|
|
|
2014-02-01 15:59:43 +00:00
|
|
|
def icecast_wait_after_reload
|
|
|
|
|
0 # 0 seconds
|
|
|
|
|
end
|
|
|
|
|
|
2014-01-16 02:21:28 +00:00
|
|
|
def rabbitmq_host
|
|
|
|
|
"localhost"
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def rabbitmq_port
|
|
|
|
|
5672
|
|
|
|
|
end
|
|
|
|
|
|
2014-02-07 21:28:47 +00:00
|
|
|
def external_hostname
|
|
|
|
|
'localhost'
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def external_protocol
|
|
|
|
|
'http://'
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def external_port
|
|
|
|
|
3000
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def external_root_url
|
|
|
|
|
"#{external_protocol}#{external_hostname}#{(external_port == 80 || external_port == 443) ? '' : ':' + external_port.to_s}"
|
|
|
|
|
end
|
|
|
|
|
|
2014-02-24 16:55:56 +00:00
|
|
|
def max_audio_downloads
|
|
|
|
|
100
|
|
|
|
|
end
|
|
|
|
|
|
2014-02-25 19:22:32 +00:00
|
|
|
def send_join_session_email_notifications
|
|
|
|
|
true
|
|
|
|
|
end
|
|
|
|
|
|
2014-07-14 20:53:04 +00:00
|
|
|
def max_mind_working_dir
|
|
|
|
|
'tmp'
|
|
|
|
|
end
|
2014-07-20 02:11:16 +00:00
|
|
|
|
|
|
|
|
def max_track_upload_failures
|
|
|
|
|
10
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def max_track_part_upload_failures
|
|
|
|
|
3
|
|
|
|
|
end
|
2014-08-01 01:16:38 +00:00
|
|
|
|
|
|
|
|
def max_good_full_score
|
2014-08-20 01:58:24 +00:00
|
|
|
40
|
2014-08-01 01:16:38 +00:00
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def max_yellow_full_score
|
2014-08-20 01:58:24 +00:00
|
|
|
70
|
2014-08-01 01:16:38 +00:00
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def max_red_full_score
|
2014-08-20 01:58:24 +00:00
|
|
|
100
|
2014-08-01 01:16:38 +00:00
|
|
|
end
|
|
|
|
|
|
2014-01-08 22:55:44 +00:00
|
|
|
private
|
|
|
|
|
|
|
|
|
|
def audiomixer_workspace_path
|
|
|
|
|
if ENV['WORKSPACE']
|
|
|
|
|
dev_path = ENV['WORKSPACE']
|
|
|
|
|
else
|
|
|
|
|
dev_path = ENV['HOME']
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
dev_path = "#{dev_path}/audiomixer/audiomixer/audiomixerapp"
|
|
|
|
|
dev_path if File.exist? dev_path
|
|
|
|
|
end
|
|
|
|
|
|
2013-12-17 19:44:21 +00:00
|
|
|
end
|
|
|
|
|
|
2014-04-09 21:11:13 +00:00
|
|
|
klass.new
|
2014-01-07 19:40:26 +00:00
|
|
|
end
|
|
|
|
|
|
2014-01-11 04:57:07 +00:00
|
|
|
def run_tests? type
|
|
|
|
|
type = type.to_s.capitalize
|
|
|
|
|
|
|
|
|
|
ENV["RUN_#{type}_TESTS"] == "1" || ENV[type] == "1" || ENV['ALL_TESTS'] == "1"
|
|
|
|
|
end
|
|
|
|
|
|
2014-05-01 19:09:33 +00:00
|
|
|
# you have go out of your way to update 'updated_at '
|
|
|
|
|
def set_updated_at(resource, time)
|
|
|
|
|
begin
|
|
|
|
|
ActiveRecord::Base.record_timestamps = false
|
|
|
|
|
resource.updated_at = time
|
|
|
|
|
resource.save!(validate: false)
|
|
|
|
|
ensure
|
|
|
|
|
# very important to turn it back; it'll break all tests otherwise
|
|
|
|
|
ActiveRecord::Base.record_timestamps = true
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
2014-01-07 19:40:26 +00:00
|
|
|
def wipe_s3_test_bucket
|
2014-01-11 04:57:07 +00:00
|
|
|
# don't bother if the user isn't doing AWS tests
|
|
|
|
|
if run_tests? :aws
|
|
|
|
|
test_config = app_config
|
|
|
|
|
s3 = AWS::S3.new(:access_key_id => test_config.aws_access_key_id,
|
|
|
|
|
:secret_access_key => test_config.aws_secret_access_key)
|
|
|
|
|
test_bucket = s3.buckets[JAMKAZAM_TESTING_BUCKET]
|
|
|
|
|
if test_bucket.name == JAMKAZAM_TESTING_BUCKET
|
2014-02-02 01:30:23 +00:00
|
|
|
test_bucket.objects.each do |obj|
|
|
|
|
|
obj.delete
|
|
|
|
|
end
|
2014-01-11 04:57:07 +00:00
|
|
|
end
|
2014-01-07 19:40:26 +00:00
|
|
|
end
|
2014-07-14 20:53:04 +00:00
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# creates a maxmind 'GEO-124' zip file using the supplied CSV
|
|
|
|
|
def fake_geo_124_zip(geoisp_csv)
|
|
|
|
|
zipfile = Tempfile.new(['fake_geo_124', '.zip'])
|
|
|
|
|
|
|
|
|
|
Zip::File.open(Pathname.new(zipfile.path).realpath.to_s, Zip::File::CREATE) do |zipfile|
|
|
|
|
|
zipfile.add('fake_geo_124/GeoIPISP.csv', Pathname.new(geoisp_csv.path).realpath.to_s)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
zipfile
|
2014-08-01 21:17:04 +00:00
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def friend(user1, user2)
|
|
|
|
|
FactoryGirl.create(:friendship, user: user1, friend: user2)
|
|
|
|
|
FactoryGirl.create(:friendship, user: user2, friend: user1)
|
2013-12-17 19:44:21 +00:00
|
|
|
end
|