JAMKAZAM_TESTING_BUCKET = 'jamkazam-testing' # cuz i'm not comfortable using aws_bucket accessor directly def app_config klass = Class.new do def aws_bucket JAMKAZAM_TESTING_BUCKET end def aws_access_key_id 'AKIAJESQY24TOT542UHQ' end def aws_secret_access_key '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' end def aws_region 'us-east-1' end def aws_bucket_public 'jamkazam-testing-public' end def aws_cache '315576000' end 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 def ffmpeg_path ENV['FFMPEG_PATH'] || '/usr/local/bin/ffmpeg' end 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 def icecast_max_sourced_changed 15 # 15 seconds end def icecast_hardcoded_source_password nil # generate a new password everytime end def icecast_wait_after_reload 0 # 0 seconds end def rabbitmq_host "localhost" end def rabbitmq_port 5672 end 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 def max_audio_downloads 100 end def send_join_session_email_notifications true end def max_mind_working_dir 'tmp' end 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 end klass.new end def run_tests? type type = type.to_s.capitalize ENV["RUN_#{type}_TESTS"] == "1" || ENV[type] == "1" || ENV['ALL_TESTS'] == "1" end # 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 def wipe_s3_test_bucket # 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 test_bucket.objects.each do |obj| obj.delete end end end 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 end