From 2a3034614b1d2f5e069b79c2a7dd6cbe4b2a3bfd Mon Sep 17 00:00:00 2001 From: Tom Caspy Date: Mon, 7 Dec 2015 15:09:30 +0200 Subject: [PATCH] fixes #12730 - removing the fakeFS gem --- app/models/auth_sources/auth_source_ldap.rb | 5 ++- bundler.d/test.rb | 1 - .../auth_sources/auth_source_ldap_test.rb | 32 +++++++++---------- 3 files changed, 20 insertions(+), 18 deletions(-) diff --git a/app/models/auth_sources/auth_source_ldap.rb b/app/models/auth_sources/auth_source_ldap.rb index 6f364387c00..6e0a1af10d0 100644 --- a/app/models/auth_sources/auth_source_ldap.rb +++ b/app/models/auth_sources/auth_source_ldap.rb @@ -189,9 +189,12 @@ def attributes_values(entry) end.compact] end + def avatar_path + "#{Rails.public_path}/assets/avatars" + end + def store_avatar(avatar) avatar = avatar.to_utf8 - avatar_path = "#{Rails.public_path}/assets/avatars" avatar_hash = Digest::SHA1.hexdigest(avatar) avatar_file = "#{avatar_path}/#{avatar_hash}.jpg" unless FileTest.exist? avatar_file diff --git a/bundler.d/test.rb b/bundler.d/test.rb index c91491c38d5..526ad8b9f41 100644 --- a/bundler.d/test.rb +++ b/bundler.d/test.rb @@ -15,5 +15,4 @@ gem "poltergeist" gem 'test-unit' if RUBY_VERSION >= '2.2' gem 'test_after_commit', '~> 0.4' - gem 'fakefs', :require => 'fakefs/safe' end diff --git a/test/unit/auth_sources/auth_source_ldap_test.rb b/test/unit/auth_sources/auth_source_ldap_test.rb index 2e4998e1141..6efaeffcb39 100644 --- a/test/unit/auth_sources/auth_source_ldap_test.rb +++ b/test/unit/auth_sources/auth_source_ldap_test.rb @@ -283,27 +283,27 @@ def setup end context 'save external avatar' do - def setup - require 'fakefs/safe' - FakeFS.activate! - end + let(:temp_dir){Dir.mktmpdir} - def teardown - FakeFS.deactivate! + setup do + AuthSourceLdap.any_instance.stubs(:avatar_path).returns(temp_dir) end test 'store_avatar can save 8bit ascii files' do - auth = AuthSourceLdap.new - FileUtils.mkdir_p(File.join(Rails.root, 'tmp')) - file = File.open("#{Rails.root}/tmp/out.txt", 'wb+') - file_string = File.open(file, 'rb') {|f| f.read} # set the file_string to binary - file_string += 'iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAAAAAA6fptVAAAACklEQVQYV2P4DwABAQEAWk1v8QAAAABJRU5ErkJggg==' - avatar_hash = Digest::SHA1.hexdigest(file_string) - assert_equal(Encoding::ASCII_8BIT, file_string.encoding) - assert_nothing_raised do - auth.send(:store_avatar, file_string) + begin + auth = AuthSourceLdap.new + file = File.open("#{temp_dir}/out.txt", 'wb+') + file_string = File.open(file, 'rb') {|f| f.read} # set the file_string to binary + file_string += 'iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAAAAAA6fptVAAAACklEQVQYV2P4DwABAQEAWk1v8QAAAABJRU5ErkJggg==' + avatar_hash = Digest::SHA1.hexdigest(file_string) + assert_equal(Encoding::ASCII_8BIT, file_string.encoding) + assert_nothing_raised do + auth.send(:store_avatar, file_string) + end + assert(File.exist?("#{temp_dir}/#{avatar_hash}.jpg")) + ensure + FileUtils.remove_entry temp_dir end - assert(File.exist?("#{Rails.public_path}/assets/avatars/#{avatar_hash}.jpg")) end end