diff options
author | nagachika <nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2013-03-17 15:07:00 +0000 |
---|---|---|
committer | nagachika <nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2013-03-17 15:07:00 +0000 |
commit | cae2f1eb8bb5663210734c201e70b458e1146f39 (patch) | |
tree | 84379fb63b54dde7bdf7c554e569fb73c8dfedb3 /test/rubygems | |
parent | c071b47a22320b389fabb398f5e8a3bb77bd2799 (diff) |
merge revision(s) 39621,39622: [Backport #7991]
* lib/rubygems/commands/setup_command.rb: Install .pem files.
* test/rubygems/test_gem_commands_setup_command.rb: Test for the
above.
* lib/rubygems/spec_fetcher.rb: Test HTTPS upgrade with URI::HTTPS,
not URI::HTTP. Fixes bug in automatic HTTPS upgrade.
* test/rubygems/test_gem_spec_fetcher.rb: Test for the above.
* lib/rubygems.rb: Version 2.0.2
* lib/rubygems/test_utilities.rb: Ensure scheme and uri class match.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@39800 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/rubygems')
-rw-r--r-- | test/rubygems/test_gem_commands_setup_command.rb | 19 | ||||
-rw-r--r-- | test/rubygems/test_gem_spec_fetcher.rb | 25 |
2 files changed, 43 insertions, 1 deletions
diff --git a/test/rubygems/test_gem_commands_setup_command.rb b/test/rubygems/test_gem_commands_setup_command.rb index 9db6468337..86d5d0d4db 100644 --- a/test/rubygems/test_gem_commands_setup_command.rb +++ b/test/rubygems/test_gem_commands_setup_command.rb @@ -11,11 +11,17 @@ class TestGemCommandsSetupCommand < Gem::TestCase @cmd.options[:prefix] = @install_dir FileUtils.mkdir_p 'bin' - FileUtils.mkdir_p 'lib/rubygems' + FileUtils.mkdir_p 'lib/rubygems/ssl_certs' open 'bin/gem', 'w' do |io| io.puts '# gem' end open 'lib/rubygems.rb', 'w' do |io| io.puts '# rubygems.rb' end open 'lib/rubygems/test_case.rb', 'w' do |io| io.puts '# test_case.rb' end + open 'lib/rubygems/ssl_certs/foo.pem', 'w' do |io| io.puts 'PEM' end + end + + def test_pem_files_in + assert_equal %w[rubygems/ssl_certs/foo.pem], + @cmd.pem_files_in('lib').sort end def test_rb_files_in @@ -23,6 +29,17 @@ class TestGemCommandsSetupCommand < Gem::TestCase @cmd.rb_files_in('lib').sort end + def test_install_lib + @cmd.extend FileUtils + + Dir.mktmpdir 'lib' do |dir| + @cmd.install_lib dir + + assert_path_exists File.join(dir, 'rubygems.rb') + assert_path_exists File.join(dir, 'rubygems/ssl_certs/foo.pem') + end + end + def test_remove_old_lib_files lib = File.join @install_dir, 'lib' lib_rubygems = File.join lib, 'rubygems' diff --git a/test/rubygems/test_gem_spec_fetcher.rb b/test/rubygems/test_gem_spec_fetcher.rb index 51cdee7687..41d0ce4e26 100644 --- a/test/rubygems/test_gem_spec_fetcher.rb +++ b/test/rubygems/test_gem_spec_fetcher.rb @@ -287,5 +287,30 @@ Upgraded http://rubygems.org to HTTPS assert_equal expected, @ui.output end + def test_upgrade_http_source_rubygems_405 + Gem.configuration.verbose = :really + + source = Gem::Source.new URI 'http://rubygems.org' + https_source = nil + + @fetcher.data['https://rubygems.org/'] = proc do + raise Gem::RemoteFetcher::FetchError.new ' Not Allowed 405 ', nil + end + + use_ui @ui do + https_source = @sf.upgrade_http_source source + end + + assert_equal URI('https://rubygems.org'), https_source.uri + + assert_empty @ui.error + + expected = <<-EXPECTED +Upgraded http://rubygems.org to HTTPS + EXPECTED + + assert_equal expected, @ui.output + end + end |