1
0
Fork 0
mirror of https://github.com/rails/rails.git synced 2022-11-09 12:12:34 -05:00

Extract cloud site configuration to gitignored YAML file

This commit is contained in:
David Heinemeier Hansson 2017-07-04 15:59:53 +02:00
parent e10f62f092
commit 8da081c36f
5 changed files with 26 additions and 14 deletions

1
test/sites/.gitignore vendored Normal file
View file

@ -0,0 +1 @@
configurations.yml

View file

@ -0,0 +1,11 @@
# Copy this file to configurations.yml and edit the credentials to match your IAM test account and bucket
s3:
access_key_id:
secret_access_key:
region:
bucket:
gcs:
project:
keyfile:
bucket:

View file

@ -1,13 +1,11 @@
require "sites/shared_site_tests"
if ENV["GCS_PROJECT"] && ENV["GCS_KEYFILE"] && ENV["GCS_BUCKET"]
if SITE_CONFIGURATIONS[:gcs]
class ActiveFile::Sites::GCSSiteTest < ActiveSupport::TestCase
SITE = ActiveFile::Sites::GCSSite.new(
project: ENV["GCS_PROJECT"], keyfile: ENV["GCS_KEYFILE"], bucket: ENV["GCS_BUCKET"]
)
SITE = ActiveFile::Sites::GCSSite.new(SITE_CONFIGURATIONS[:gcs])
include ActiveFile::Sites::SharedSiteTests
end
else
puts "Skipping GCS Site tests because ENV variables are missing"
puts "Skipping GCS Site tests because no GCS configuration was supplied"
end

View file

@ -1,16 +1,11 @@
require "sites/shared_site_tests"
if ENV["AWS_ACCESS_KEY_ID"] && ENV["AWS_SECRET_ACCESS_KEY"] && ENV["AWS_REGION"] && ENV["AWS_S3_BUCKET"]
if SITE_CONFIGURATIONS[:s3]
class ActiveFile::Sites::S3SiteTest < ActiveSupport::TestCase
SITE = ActiveFile::Sites::S3Site.new(
access_key_id: ENV["AWS_ACCESS_KEY_ID"],
secret_access_key: ENV["AWS_SECRET_ACCESS_KEY"],
region: ENV["AWS_REGION"],
bucket: ENV["AWS_S3_BUCKET"]
)
SITE = ActiveFile::Sites::S3Site.new(SITE_CONFIGURATIONS[:s3])
include ActiveFile::Sites::SharedSiteTests
end
else
puts "Skipping S3 Site tests because ENV variables are missing"
puts "Skipping S3 Site tests because no S3 configuration was supplied"
end

View file

@ -1,5 +1,12 @@
require "test_helper"
require "active_support/core_ext/securerandom"
require "yaml"
SITE_CONFIGURATIONS = begin
YAML.load_file(File.expand_path("../configurations.yml", __FILE__)).deep_symbolize_keys
rescue Errno::ENOENT
puts "Missing site configuration file in test/sites/configurations.yml"
end
module ActiveFile::Sites::SharedSiteTests
extend ActiveSupport::Concern