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:
parent
e10f62f092
commit
8da081c36f
5 changed files with 26 additions and 14 deletions
1
test/sites/.gitignore
vendored
Normal file
1
test/sites/.gitignore
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
configurations.yml
|
11
test/sites/configurations-example.yml
Normal file
11
test/sites/configurations-example.yml
Normal 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:
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -1,9 +1,16 @@
|
|||
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
|
||||
|
||||
|
||||
FIXTURE_KEY = SecureRandom.base58(24)
|
||||
FIXTURE_FILE = StringIO.new("Hello world!")
|
||||
|
||||
|
|
Loading…
Reference in a new issue