Skip to content

Commit

Permalink
Fix acceptance test env var order
Browse files Browse the repository at this point in the history
The service-specific env vars should be prioritized ahead of
the shared env vars.
  • Loading branch information
blowmage committed Jan 4, 2018
1 parent 0f4f963 commit b8419c9
Show file tree
Hide file tree
Showing 20 changed files with 262 additions and 117 deletions.
8 changes: 4 additions & 4 deletions Rakefile
Expand Up @@ -104,15 +104,15 @@ task :acceptance, [:project, :keyfile, :key] => :compile do |t, args|
fail "You must provide a project and keyfile. e.g. rake acceptance[test123, /path/to/keyfile.json] or GCLOUD_TEST_PROJECT=test123 GCLOUD_TEST_KEYFILE=/path/to/keyfile.json rake acceptance"
end
# always overwrite when running tests
ENV["GOOGLE_CLOUD_PROJECT"] = project
ENV["GOOGLE_CLOUD_KEYFILE"] = nil
ENV["GOOGLE_CLOUD_KEYFILE_JSON"] = keyfile
ENV["GCLOUD_TEST_PROJECT"] = project
ENV["GCLOUD_TEST_KEYFILE"] = nil
ENV["GCLOUD_TEST_KEYFILE_JSON"] = keyfile

key = args[:key] || ENV["GCLOUD_TEST_KEY"]
if key.nil?
fail "You must provide an API KEY for translate acceptance tests."
end # always overwrite when running tests
ENV["GOOGLE_CLOUD_KEY"] = key
ENV["GCLOUD_TEST_KEY"] = key

valid_gems.each do |gem|
$LOAD_PATH.unshift "#{gem}/lib", "#{gem}/acceptance"
Expand Down
32 changes: 23 additions & 9 deletions google-cloud-bigquery/Rakefile
Expand Up @@ -28,23 +28,32 @@ end
desc "Run the bigquery acceptance tests."
task :acceptance, :project, :keyfile do |t, args|
project = args[:project]
project ||= ENV["GCLOUD_TEST_PROJECT"] || ENV["BIGQUERY_TEST_PROJECT"]
project ||= ENV["BIGQUERY_TEST_PROJECT"] || ENV["GCLOUD_TEST_PROJECT"]
keyfile = args[:keyfile]
keyfile ||= ENV["GCLOUD_TEST_KEYFILE"] || ENV["BIGQUERY_TEST_KEYFILE"]
keyfile ||= ENV["BIGQUERY_TEST_KEYFILE"] || ENV["GCLOUD_TEST_KEYFILE"]
if keyfile
keyfile = File.read keyfile
else
keyfile ||= ENV["GCLOUD_TEST_KEYFILE_JSON"] || ENV["BIGQUERY_TEST_KEYFILE_JSON"]
keyfile ||= ENV["BIGQUERY_TEST_KEYFILE_JSON"] || ENV["GCLOUD_TEST_KEYFILE_JSON"]
end
if project.nil? || keyfile.nil?
fail "You must provide a project and keyfile. e.g. rake acceptance[test123, /path/to/keyfile.json] or BIGQUERY_TEST_PROJECT=test123 BIGQUERY_TEST_KEYFILE=/path/to/keyfile.json rake acceptance"
end
# clear any env var already set
require "google/cloud/bigquery/credentials"
(Google::Cloud::Bigquery::Credentials::PATH_ENV_VARS +
Google::Cloud::Bigquery::Credentials::JSON_ENV_VARS).each do |path|
ENV[path] = nil
end
require "google/cloud/storage/credentials"
(Google::Cloud::Storage::Credentials::PATH_ENV_VARS +
Google::Cloud::Storage::Credentials::JSON_ENV_VARS).each do |path|
ENV[path] = nil
end
# always overwrite when running tests
ENV["BIGQUERY_PROJECT"] = project
ENV["BIGQUERY_KEYFILE"] = nil
ENV["BIGQUERY_KEYFILE_JSON"] = keyfile
ENV["STORAGE_PROJECT"] = project
ENV["STORAGE_KEYFILE"] = nil
ENV["STORAGE_KEYFILE_JSON"] = keyfile

Rake::Task["acceptance:run"].invoke
Expand All @@ -66,20 +75,25 @@ namespace :acceptance do
desc "Removes *ALL* BigQuery datasets and tables. Use with caution."
task :cleanup, :project, :keyfile do |t, args|
project = args[:project]
project ||= ENV["GCLOUD_TEST_PROJECT"] || ENV["BIGQUERY_TEST_PROJECT"]
project ||= ENV["BIGQUERY_TEST_PROJECT"] || ENV["GCLOUD_TEST_PROJECT"]
keyfile = args[:keyfile]
keyfile ||= ENV["GCLOUD_TEST_KEYFILE"] || ENV["BIGQUERY_TEST_KEYFILE"]
keyfile ||= ENV["BIGQUERY_TEST_KEYFILE"] || ENV["GCLOUD_TEST_KEYFILE"]
if keyfile
keyfile = File.read keyfile
else
keyfile ||= ENV["GCLOUD_TEST_KEYFILE_JSON"] || ENV["BIGQUERY_TEST_KEYFILE_JSON"]
keyfile ||= ENV["BIGQUERY_TEST_KEYFILE_JSON"] || ENV["GCLOUD_TEST_KEYFILE_JSON"]
end
if project.nil? || keyfile.nil?
fail "You must provide a project and keyfile. e.g. rake acceptance:cleanup[test123, /path/to/keyfile.json] or BIGQUERY_TEST_PROJECT=test123 BIGQUERY_TEST_KEYFILE=/path/to/keyfile.json rake acceptance:cleanup"
end
# clear any env var already set
require "google/cloud/bigquery/credentials"
(Google::Cloud::Bigquery::Credentials::PATH_ENV_VARS +
Google::Cloud::Bigquery::Credentials::JSON_ENV_VARS).each do |path|
ENV[path] = nil
end
# always overwrite when running tests
ENV["BIGQUERY_PROJECT"] = project
ENV["BIGQUERY_KEYFILE"] = nil
ENV["BIGQUERY_KEYFILE_JSON"] = keyfile

$LOAD_PATH.unshift "lib"
Expand Down
13 changes: 9 additions & 4 deletions google-cloud-container/Rakefile
Expand Up @@ -68,20 +68,25 @@ end
desc "Run the google-cloud-container acceptance tests."
task :acceptance, :project, :keyfile do |t, args|
project = args[:project]
project ||= ENV["GCLOUD_TEST_PROJECT"] || ENV["CONTAINER_TEST_PROJECT"]
project ||= ENV["CONTAINER_TEST_PROJECT"] || ENV["GCLOUD_TEST_PROJECT"]
keyfile = args[:keyfile]
keyfile ||= ENV["GCLOUD_TEST_KEYFILE"] || ENV["CONTAINER_TEST_KEYFILE"]
keyfile ||= ENV["CONTAINER_TEST_KEYFILE"] || ENV["GCLOUD_TEST_KEYFILE"]
if keyfile
keyfile = File.read keyfile
else
keyfile ||= ENV["GCLOUD_TEST_KEYFILE_JSON"] || ENV["CONTAINER_TEST_KEYFILE_JSON"]
keyfile ||= ENV["CONTAINER_TEST_KEYFILE_JSON"] || ENV["GCLOUD_TEST_KEYFILE_JSON"]
end
if project.nil? || keyfile.nil?
fail "You must provide a project and keyfile. e.g. rake acceptance[test123, /path/to/keyfile.json] or CONTAINER_TEST_PROJECT=test123 CONTAINER_TEST_KEYFILE=/path/to/keyfile.json rake acceptance"
end
# clear any env var already set
require "google/cloud/container/credentials"
(Google::Cloud::Container::Credentials::PATH_ENV_VARS +
Google::Cloud::Container::Credentials::JSON_ENV_VARS).each do |path|
ENV[path] = nil
end
# always overwrite when running tests
ENV["CONTAINER_PROJECT"] = project
ENV["CONTAINER_KEYFILE"] = nil
ENV["CONTAINER_KEYFILE_JSON"] = keyfile

Rake::Task["acceptance:run"].invoke
Expand Down
13 changes: 9 additions & 4 deletions google-cloud-dataproc/Rakefile
Expand Up @@ -68,20 +68,25 @@ end
desc "Run the google-cloud-dataproc acceptance tests."
task :acceptance, :project, :keyfile do |t, args|
project = args[:project]
project ||= ENV["GCLOUD_TEST_PROJECT"] || ENV["DATAPROC_TEST_PROJECT"]
project ||= ENV["DATAPROC_TEST_PROJECT"] || ENV["GCLOUD_TEST_PROJECT"]
keyfile = args[:keyfile]
keyfile ||= ENV["GCLOUD_TEST_KEYFILE"] || ENV["DATAPROC_TEST_KEYFILE"]
keyfile ||= ENV["DATAPROC_TEST_KEYFILE"] || ENV["GCLOUD_TEST_KEYFILE"]
if keyfile
keyfile = File.read keyfile
else
keyfile ||= ENV["GCLOUD_TEST_KEYFILE_JSON"] || ENV["DATAPROC_TEST_KEYFILE_JSON"]
keyfile ||= ENV["DATAPROC_TEST_KEYFILE_JSON"] || ENV["GCLOUD_TEST_KEYFILE_JSON"]
end
if project.nil? || keyfile.nil?
fail "You must provide a project and keyfile. e.g. rake acceptance[test123, /path/to/keyfile.json] or DATAPROC_TEST_PROJECT=test123 VIDEO_INTELLIGENCE_TEST_KEYFILE=/path/to/keyfile.json rake acceptance"
end
# clear any env var already set
require "google/cloud/dataproc/credentials"
(Google::Cloud::Dataproc::Credentials::PATH_ENV_VARS +
Google::Cloud::Dataproc::Credentials::JSON_ENV_VARS).each do |path|
ENV[path] = nil
end
# always overwrite when running tests
ENV["DATAPROC_PROJECT"] = project
ENV["DATAPROC_KEYFILE"] = nil
ENV["DATAPROC_KEYFILE_JSON"] = keyfile

# Required for smoke tests
Expand Down
13 changes: 9 additions & 4 deletions google-cloud-datastore/Rakefile
Expand Up @@ -30,20 +30,25 @@ end
desc "Run the datastore acceptance tests."
task :acceptance, :project, :keyfile do |t, args|
project = args[:project]
project ||= ENV["GCLOUD_TEST_PROJECT"] || ENV["DATASTORE_TEST_PROJECT"]
project ||= ENV["DATASTORE_TEST_PROJECT"] || ENV["GCLOUD_TEST_PROJECT"]
keyfile = args[:keyfile]
keyfile ||= ENV["GCLOUD_TEST_KEYFILE"] || ENV["DATASTORE_TEST_KEYFILE"]
keyfile ||= ENV["DATASTORE_TEST_KEYFILE"] || ENV["GCLOUD_TEST_KEYFILE"]
if keyfile
keyfile = File.read keyfile
else
keyfile ||= ENV["GCLOUD_TEST_KEYFILE_JSON"] || ENV["DATASTORE_TEST_KEYFILE_JSON"]
keyfile ||= ENV["DATASTORE_TEST_KEYFILE_JSON"] || ENV["GCLOUD_TEST_KEYFILE_JSON"]
end
if project.nil? || keyfile.nil?
fail "You must provide a project and keyfile. e.g. rake acceptance[test123, /path/to/keyfile.json] or DATASTORE_TEST_PROJECT=test123 DATASTORE_TEST_KEYFILE=/path/to/keyfile.json rake acceptance"
end
# clear any env var already set
require "google/cloud/datastore/credentials"
(Google::Cloud::Datastore::Credentials::PATH_ENV_VARS +
Google::Cloud::Datastore::Credentials::JSON_ENV_VARS).each do |path|
ENV[path] = nil
end
# always overwrite when running tests
ENV["DATASTORE_PROJECT"] = project
ENV["DATASTORE_KEYFILE"] = nil
ENV["DATASTORE_KEYFILE_JSON"] = keyfile

Rake::Task["acceptance:run"].invoke
Expand Down
19 changes: 14 additions & 5 deletions google-cloud-debugger/Rakefile
Expand Up @@ -53,23 +53,32 @@ end
desc "Runs the trace acceptance tests."
task :acceptance, :project, :keyfile do |t, args|
project = args[:project]
project ||= ENV["GCLOUD_TEST_PROJECT"] || ENV["DEBUGGER_TEST_PROJECT"]
project ||= ENV["DEBUGGER_TEST_PROJECT"] || ENV["GCLOUD_TEST_PROJECT"]
keyfile = args[:keyfile]
keyfile ||= ENV["GCLOUD_TEST_KEYFILE"] || ENV["DEBUGGER_TEST_KEYFILE"]
keyfile ||= ENV["DEBUGGER_TEST_KEYFILE"] || ENV["GCLOUD_TEST_KEYFILE"]
if keyfile
keyfile = File.read keyfile
else
keyfile ||= ENV["GCLOUD_TEST_KEYFILE_JSON"] || ENV["DEBUGGER_TEST_KEYFILE_JSON"]
keyfile ||= ENV["DEBUGGER_TEST_KEYFILE_JSON"] || ENV["GCLOUD_TEST_KEYFILE_JSON"]
end
if project.nil? || keyfile.nil?
fail "You must provide a project and keyfile. e.g. rake acceptance[test123,/path/to/keyfile.json] or DEBUGGER_TEST_PROJECT=test123 DEBUGGER_TEST_KEYFILE=/path/to/keyfile.json rake acceptance"
end
# clear any env var already set
require "google/cloud/debugger/credentials"
(Google::Cloud::Debugger::Credentials::PATH_ENV_VARS +
Google::Cloud::Debugger::Credentials::JSON_ENV_VARS).each do |path|
ENV[path] = nil
end
require "google/cloud/logging/credentials"
(Google::Cloud::Logging::Credentials::PATH_ENV_VARS +
Google::Cloud::Logging::Credentials::JSON_ENV_VARS).each do |path|
ENV[path] = nil
end
# always overwrite when running tests
ENV["DEBUGGER_PROJECT"] = project
ENV["DEBUGGER_KEYFILE"] = nil
ENV["DEBUGGER_KEYFILE_JSON"] = keyfile
ENV["LOGGING_PROJECT"] = project
ENV["LOGGING_KEYFILE"] = nil
ENV["LOGGING_KEYFILE_JSON"] = keyfile

Rake::Task["acceptance:run"].invoke
Expand Down
13 changes: 9 additions & 4 deletions google-cloud-dlp/Rakefile
Expand Up @@ -68,20 +68,25 @@ end
desc "Run the google-cloud-dlp acceptance tests."
task :acceptance, :project, :keyfile do |t, args|
project = args[:project]
project ||= ENV["GCLOUD_TEST_PROJECT"] || ENV["DLP_TEST_PROJECT"]
project ||= ENV["DLP_TEST_PROJECT"] || ENV["GCLOUD_TEST_PROJECT"]
keyfile = args[:keyfile]
keyfile ||= ENV["GCLOUD_TEST_KEYFILE"] || ENV["DLP_TEST_KEYFILE"]
keyfile ||= ENV["DLP_TEST_KEYFILE"] || ENV["GCLOUD_TEST_KEYFILE"]
if keyfile
keyfile = File.read keyfile
else
keyfile ||= ENV["GCLOUD_TEST_KEYFILE_JSON"] || ENV["DLP_TEST_KEYFILE_JSON"]
keyfile ||= ENV["DLP_TEST_KEYFILE_JSON"] || ENV["GCLOUD_TEST_KEYFILE_JSON"]
end
if project.nil? || keyfile.nil?
fail "You must provide a project and keyfile. e.g. rake acceptance[test123, /path/to/keyfile.json] or DLP_TEST_PROJECT=test123 DLP_TEST_KEYFILE=/path/to/keyfile.json rake acceptance"
end
# clear any env var already set
require "google/cloud/dlp/credentials"
(Google::Cloud::Dlp::Credentials::PATH_ENV_VARS +
Google::Cloud::Dlp::Credentials::JSON_ENV_VARS).each do |path|
ENV[path] = nil
end
# always overwrite when running tests
ENV["DLP_PROJECT"] = project
ENV["DLP_KEYFILE"] = nil
ENV["DLP_KEYFILE_JSON"] = keyfile

# Required for smoke tests
Expand Down
26 changes: 18 additions & 8 deletions google-cloud-dns/Rakefile
Expand Up @@ -28,20 +28,25 @@ end
desc "Run the dns acceptance tests."
task :acceptance, :project, :keyfile do |t, args|
project = args[:project]
project ||= ENV["GCLOUD_TEST_PROJECT"] || ENV["DNS_TEST_PROJECT"]
project ||= ENV["DNS_TEST_PROJECT"] || ENV["GCLOUD_TEST_PROJECT"]
keyfile = args[:keyfile]
keyfile ||= ENV["GCLOUD_TEST_KEYFILE"] || ENV["DNS_TEST_KEYFILE"]
keyfile ||= ENV["DNS_TEST_KEYFILE"] || ENV["GCLOUD_TEST_KEYFILE"]
if keyfile
keyfile = File.read keyfile
else
keyfile ||= ENV["GCLOUD_TEST_KEYFILE_JSON"] || ENV["DNS_TEST_KEYFILE_JSON"]
keyfile ||= ENV["DNS_TEST_KEYFILE_JSON"] || ENV["GCLOUD_TEST_KEYFILE_JSON"]
end
if project.nil? || keyfile.nil?
fail "You must provide a project and keyfile. e.g. rake acceptance[test123, /path/to/keyfile.json] or DNS_TEST_PROJECT=test123 DNS_TEST_KEYFILE=/path/to/keyfile.json rake acceptance"
end
# clear any env var already set
require "google/cloud/dns/credentials"
(Google::Cloud::Dns::Credentials::PATH_ENV_VARS +
Google::Cloud::Dns::Credentials::JSON_ENV_VARS).each do |path|
ENV[path] = nil
end
# always overwrite when running tests
ENV["DNS_PROJECT"] = project
ENV["DNS_KEYFILE"] = nil
ENV["DNS_KEYFILE_JSON"] = keyfile

Rake::Task["acceptance:run"].invoke
Expand All @@ -63,20 +68,25 @@ namespace :acceptance do
desc "Removes *ALL* DNS zones and records. Use with caution."
task :cleanup do |t, args|
project = args[:project]
project ||= ENV["GCLOUD_TEST_PROJECT"] || ENV["DNS_TEST_PROJECT"]
project ||= ENV["DNS_TEST_PROJECT"] || ENV["GCLOUD_TEST_PROJECT"]
keyfile = args[:keyfile]
keyfile ||= ENV["GCLOUD_TEST_KEYFILE"] || ENV["DNS_TEST_KEYFILE"]
keyfile ||= ENV["DNS_TEST_KEYFILE"] || ENV["GCLOUD_TEST_KEYFILE"]
if keyfile
keyfile = File.read keyfile
else
keyfile ||= ENV["GCLOUD_TEST_KEYFILE_JSON"] || ENV["DNS_TEST_KEYFILE_JSON"]
keyfile ||= ENV["DNS_TEST_KEYFILE_JSON"] || ENV["GCLOUD_TEST_KEYFILE_JSON"]
end
if project.nil? || keyfile.nil?
fail "You must provide a project and keyfile. e.g. rake acceptance:cleanup[test123, /path/to/keyfile.json] or DNS_TEST_PROJECT=test123 DNS_TEST_KEYFILE=/path/to/keyfile.json rake acceptance:cleanup"
end
# clear any env var already set
require "google/cloud/dns/credentials"
(Google::Cloud::Dns::Credentials::PATH_ENV_VARS +
Google::Cloud::Dns::Credentials::JSON_ENV_VARS).each do |path|
ENV[path] = nil
end
# always overwrite when running tests
ENV["DNS_PROJECT"] = project
ENV["DNS_KEYFILE"] = nil
ENV["DNS_KEYFILE_JSON"] = keyfile

$LOAD_PATH.unshift "lib"
Expand Down
13 changes: 9 additions & 4 deletions google-cloud-error_reporting/Rakefile
Expand Up @@ -35,21 +35,26 @@ end
desc "Run the logging acceptance tests."
task :acceptance, :project, :keyfile do |t, args|
project = args[:project]
project ||= ENV["GCLOUD_TEST_PROJECT"] || ENV["ERROR_REPORTING_TEST_PROJECT"]
project ||= ENV["ERROR_REPORTING_TEST_PROJECT"] || ENV["GCLOUD_TEST_PROJECT"]
keyfile = args[:keyfile]
keyfile ||= ENV["GCLOUD_TEST_KEYFILE"] || ENV["ERROR_REPORTING_TEST_KEYFILE"]
keyfile ||= ENV["ERROR_REPORTING_TEST_KEYFILE"] || ENV["GCLOUD_TEST_KEYFILE"]
if keyfile
keyfile = File.read keyfile
else
keyfile ||= ENV["GCLOUD_TEST_KEYFILE_JSON"] || ENV["ERROR_REPORTING_TEST_KEYFILE_JSON"]
keyfile ||= ENV["ERROR_REPORTING_TEST_KEYFILE_JSON"] || ENV["GCLOUD_TEST_KEYFILE_JSON"]
end
if project.nil? || keyfile.nil?
fail "You must provide a project and keyfile. e.g. rake acceptance[test123,/path/to/keyfile.json] " \
"or ERROR_REPORTING_TEST_PROJECT=test123 ERROR_REPORTING_TEST_KEYFILE=/path/to/keyfile.json rake acceptance"
end
# clear any env var already set
require "google/cloud/error_reporting/credentials"
(Google::Cloud::ErrorReporting::Credentials::PATH_ENV_VARS +
Google::Cloud::ErrorReporting::Credentials::JSON_ENV_VARS).each do |path|
ENV[path] = nil
end
# always overwrite when running tests
ENV["ERROR_REPORTING_PROJECT"] = project
ENV["ERROR_REPORTING_KEYFILE"] = nil
ENV["ERROR_REPORTING_KEYFILE_JSON"] = keyfile

Rake::Task["acceptance:run"].invoke
Expand Down
13 changes: 9 additions & 4 deletions google-cloud-language/Rakefile
Expand Up @@ -68,20 +68,25 @@ end
desc "Run the google-cloud-language acceptance tests."
task :acceptance, :project, :keyfile do |t, args|
project = args[:project]
project ||= ENV["GCLOUD_TEST_PROJECT"] || ENV["LANGUAGE_TEST_PROJECT"]
project ||= ENV["LANGUAGE_TEST_PROJECT"] || ENV["GCLOUD_TEST_PROJECT"]
keyfile = args[:keyfile]
keyfile ||= ENV["GCLOUD_TEST_KEYFILE"] || ENV["LANGUAGE_TEST_KEYFILE"]
keyfile ||= ENV["LANGUAGE_TEST_KEYFILE"] || ENV["GCLOUD_TEST_KEYFILE"]
if keyfile
keyfile = File.read keyfile
else
keyfile ||= ENV["GCLOUD_TEST_KEYFILE_JSON"] || ENV["LANGUAGE_TEST_KEYFILE_JSON"]
keyfile ||= ENV["LANGUAGE_TEST_KEYFILE_JSON"] || ENV["GCLOUD_TEST_KEYFILE_JSON"]
end
if project.nil? || keyfile.nil?
fail "You must provide a project and keyfile. e.g. rake acceptance[test123, /path/to/keyfile.json] or LANGUAGE_TEST_PROJECT=test123 LANGUAGE_TEST_KEYFILE=/path/to/keyfile.json rake acceptance"
end
# clear any env var already set
require "google/cloud/language/credentials"
(Google::Cloud::Language::Credentials::PATH_ENV_VARS +
Google::Cloud::Language::Credentials::JSON_ENV_VARS).each do |path|
ENV[path] = nil
end
# always overwrite when running tests
ENV["LANGUAGE_PROJECT"] = project
ENV["LANGUAGE_KEYFILE"] = nil
ENV["LANGUAGE_KEYFILE_JSON"] = keyfile

# Required for smoke tests
Expand Down

0 comments on commit b8419c9

Please sign in to comment.