diff --git a/Gemfile b/Gemfile index 4ab1ab50eb9c0f4b5fa46a9fd8ab88a5f8c70b75..7372d2447257a05203a12d14e7712851e68bb4dd 100644 --- a/Gemfile +++ b/Gemfile @@ -71,6 +71,7 @@ gem "carrierwave" # for aws storage gem "fog", "~> 1.14", group: :aws +gem "unf", group: :aws # Authorization gem "six" @@ -232,4 +233,4 @@ end group :production do gem "gitlab_meta", '6.0' -end \ No newline at end of file +end diff --git a/Gemfile.lock b/Gemfile.lock index 155e03e54567c7f75df28bd17bb34fdbdc000dff..0556b870be528b3b956e882fdce05509f2032115 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -531,6 +531,9 @@ GEM execjs (>= 0.3.0) json (>= 1.8.0) underscore-rails (1.4.4) + unf (0.1.4) + unf_ext + unf_ext (0.0.6) unicorn (4.6.3) kgio (~> 2.6) rack @@ -659,6 +662,7 @@ DEPENDENCIES turbolinks uglifier underscore-rails (~> 1.4.4) + unf unicorn (~> 4.6.3) unicorn-worker-killer version_sorter diff --git a/config/initializers/carrierwave.rb b/config/initializers/carrierwave.rb index 6875fa74eddeb3afe53c8cd29b6cb0129994605c..d0065b63e545ead2c3cf7d762b673f5ce495471a 100644 --- a/config/initializers/carrierwave.rb +++ b/config/initializers/carrierwave.rb @@ -18,4 +18,16 @@ if File.exists?(aws_file) config.fog_authenticated_url_expiration = 1 << 29 # optional time (in seconds) that authenticated urls will be valid. # when fog_public is false and provider is AWS or Google, defaults to 600 end + + # Mocking Fog requests, based on: https://github.com/carrierwaveuploader/carrierwave/wiki/How-to%3A-Test-Fog-based-uploaders + if Rails.env.test? + Fog.mock! + connection = ::Fog::Storage.new( + :aws_access_key_id => AWS_CONFIG['access_key_id'], + :aws_secret_access_key => AWS_CONFIG['secret_access_key'], + :provider => 'AWS', + :region => AWS_CONFIG['region'] + ) + connection.directories.create(:key => AWS_CONFIG['bucket']) + end end diff --git a/spec/helpers/application_helper_spec.rb b/spec/helpers/application_helper_spec.rb index 61c561335e53d8333e4841d23c97bbba1dfeca91..0376e0aadf0771f2de1e76aab02cc4a3704907f9 100644 --- a/spec/helpers/application_helper_spec.rb +++ b/spec/helpers/application_helper_spec.rb @@ -46,7 +46,7 @@ describe ApplicationHelper do group = create(:group) group.avatar = File.open(avatar_file_path) group.save! - group_icon(group.path).to_s.should == "/uploads/group/avatar/#{ group.id }/gitlab_logo.png" + group_icon(group.path).to_s.should match("/uploads/group/avatar/#{ group.id }/gitlab_logo.png") end it "should give default avatar_icon when no avatar is present" do @@ -63,7 +63,7 @@ describe ApplicationHelper do user = create(:user) user.avatar = File.open(avatar_file_path) user.save! - avatar_icon(user.email).to_s.should == "/uploads/user/avatar/#{ user.id }/gitlab_logo.png" + avatar_icon(user.email).to_s.should match("/uploads/user/avatar/#{ user.id }/gitlab_logo.png") end it "should call gravatar_icon when no avatar is present" do