Skip to content

Commit 5404e5c

Browse files
committed
Reorganize fog specs for better maintainability and execution speed
1 parent 13330a7 commit 5404e5c

File tree

5 files changed

+498
-537
lines changed

5 files changed

+498
-537
lines changed

carrierwave.gemspec

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,9 +36,10 @@ Gem::Specification.new do |s|
3636
s.add_development_dependency "rails", ">= 5.0.0"
3737
s.add_development_dependency "cucumber", "~> 2.3"
3838
s.add_development_dependency "rspec", "~> 3.4"
39+
s.add_development_dependency "rspec-retry"
3940
s.add_development_dependency "webmock"
4041
s.add_development_dependency "fog-aws"
41-
s.add_development_dependency "fog-google", "~> 1.7"
42+
s.add_development_dependency "fog-google", ["~> 1.7", "!= 1.12.1"]
4243
s.add_development_dependency "fog-local"
4344
s.add_development_dependency "fog-rackspace"
4445
s.add_development_dependency "mini_magick", ">= 3.6.0"

spec/spec_helper.rb

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,10 @@
1919
require 'mini_magick'
2020
require "vips"
2121
require 'active_support/core_ext'
22+
require 'rspec/retry'
2223

2324
I18n.enforce_available_locales = false
2425

25-
CARRIERWAVE_DIRECTORY = "carrierwave#{Time.now.to_i}" unless defined?(CARRIERWAVE_DIRECTORY)
26-
2726
alias :running :lambda
2827

2928
def file_path( *paths )
@@ -137,6 +136,14 @@ def stub_request(method, uri)
137136
config.include CarrierWave::Test::I18nHelpers
138137
config.include CarrierWave::Test::ManipulationHelpers
139138
config.prepend CarrierWave::Test::SsrfProtectionAwareWebMock
139+
config.verbose_retry = true
140+
config.display_try_failure_messages = true
141+
config.around :each, :with_retry do |example|
142+
example.run_with_retry retry: 2
143+
end
144+
config.retry_callback = proc do |example|
145+
sleep 1
146+
end
140147
if RUBY_ENGINE == 'jruby'
141148
config.filter_run_excluding :rmagick => true
142149
end

spec/storage/fog_credentials.rb

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,27 +20,29 @@
2020
end
2121

2222
FOG_CREDENTIALS = credentials
23+
CARRIERWAVE_DIRECTORY = "carrierwave"
2324
else
2425
Fog.credential = :carrierwave
2526

2627
mappings = {
2728
'AWS' => [:aws_access_key_id, :aws_secret_access_key],
28-
'Google' => [:google_storage_access_key_id, :google_storage_secret_access_key],
29-
'Local' => [:local_root],
30-
'Rackspace' => [:rackspace_api_key, :rackspace_username]
29+
'Google' => [:google_storage_access_key_id, :google_storage_secret_access_key, :google_project, :google_json_key_string],
30+
#'Local' => [:local_root],
31+
#'Rackspace' => [:rackspace_api_key, :rackspace_username]
3132
}
3233

3334
mappings.each do |provider, keys|
3435
unless (creds = Fog.credentials.reject {|key, value| ![*keys].include?(key)}).empty?
3536
data = {:provider => provider}
3637
keys.each do |key|
37-
data[key] = creds[key]
38+
data[key] = creds[key] unless creds[key].blank?
3839
end
3940
credentials << data
4041
end
4142
end
4243

4344
FOG_CREDENTIALS = credentials
45+
CARRIERWAVE_DIRECTORY = "carrierwave-#{ENV['USER']}-dev" unless defined?(CARRIERWAVE_DIRECTORY)
4446
end
4547

4648
end

0 commit comments

Comments
 (0)