From d287d8591cf619f4ccf285ac0c6629de11692832 Mon Sep 17 00:00:00 2001 From: Hiroshi SHIBATA Date: Thu, 6 Jul 2023 11:39:19 +0900 Subject: [rubygems/rubygems] Avoid to use Base64 library because I have a plan to base64 gem to bundled gems in ruby/ruby. https://github.com/rubygems/rubygems/commit/221797cfd1 --- test/rubygems/test_gem_request.rb | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/test/rubygems/test_gem_request.rb b/test/rubygems/test_gem_request.rb index b75b25b37b..cfaa1cecbb 100644 --- a/test/rubygems/test_gem_request.rb +++ b/test/rubygems/test_gem_request.rb @@ -3,7 +3,6 @@ require_relative "helper" require "rubygems/request" require "ostruct" -require "base64" unless Gem::HAVE_OPENSSL warn "Skipping Gem::Request tests. openssl not found." @@ -21,6 +20,12 @@ class TestGemRequest < Gem::TestCase Gem::Request.create_with_proxy uri, request_class, last_modified, proxy end + # This method is same code as Base64.encode64 + # We should not use Base64.encode64 because we need to avoid gem activation. + def base64_encode64(bin) + [bin].pack("m") + end + def setup @proxies = %w[http_proxy https_proxy HTTP_PROXY http_proxy_user HTTP_PROXY_USER http_proxy_pass HTTP_PROXY_PASS no_proxy NO_PROXY] @old_proxies = @proxies.map {|k| ENV[k] } @@ -209,7 +214,7 @@ class TestGemRequest < Gem::TestCase end auth_header = conn.payload["Authorization"] - assert_equal "Basic #{Base64.encode64("user:pass")}".strip, auth_header + assert_equal "Basic #{base64_encode64("user:pass")}".strip, auth_header assert_includes @ui.output, "GET https://user:REDACTED@example.rubygems/specs.#{Gem.marshal_version}" end @@ -226,7 +231,7 @@ class TestGemRequest < Gem::TestCase end auth_header = conn.payload["Authorization"] - assert_equal "Basic #{Base64.encode64("user:{DEScede}pass")}".strip, auth_header + assert_equal "Basic #{base64_encode64("user:{DEScede}pass")}".strip, auth_header assert_includes @ui.output, "GET https://user:REDACTED@example.rubygems/specs.#{Gem.marshal_version}" end @@ -243,7 +248,7 @@ class TestGemRequest < Gem::TestCase end auth_header = conn.payload["Authorization"] - assert_equal "Basic #{Base64.encode64("{DEScede}pass:x-oauth-basic")}".strip, auth_header + assert_equal "Basic #{base64_encode64("{DEScede}pass:x-oauth-basic")}".strip, auth_header assert_includes @ui.output, "GET https://REDACTED:x-oauth-basic@example.rubygems/specs.#{Gem.marshal_version}" end -- cgit v1.2.3