diff options
Diffstat (limited to 'test/rubygems/test_gem_commands_push_command.rb')
-rw-r--r-- | test/rubygems/test_gem_commands_push_command.rb | 29 |
1 files changed, 28 insertions, 1 deletions
diff --git a/test/rubygems/test_gem_commands_push_command.rb b/test/rubygems/test_gem_commands_push_command.rb index 06967e0990..729de46f9d 100644 --- a/test/rubygems/test_gem_commands_push_command.rb +++ b/test/rubygems/test_gem_commands_push_command.rb @@ -1,4 +1,4 @@ -# frozen_string_literal: false +# frozen_string_literal: true require 'rubygems/test_case' require 'rubygems/commands/push_command' @@ -178,6 +178,33 @@ class TestGemCommandsPushCommand < Gem::TestCase send_battery end + def test_sending_gem_to_allowed_push_host_with_basic_credentials + @sanitized_host = "http://privategemserver.com" + @host = "http://user:password@privategemserver.com" + + @spec, @path = util_gem "freebird", "1.0.1" do |spec| + spec.metadata['allowed_push_host'] = @sanitized_host + end + + @api_key = "DOESNTMATTER" + + keys = { + :rubygems_api_key => @api_key, + } + + FileUtils.mkdir_p File.dirname Gem.configuration.credentials_path + open Gem.configuration.credentials_path, 'w' do |f| + f.write keys.to_yaml + end + Gem.configuration.load_api_keys + + FileUtils.rm Gem.configuration.credentials_path + + @response = "Successfully registered gem: freebird (1.0.1)" + @fetcher.data["#{@host}/api/v1/gems"] = [@response, 200, 'OK'] + send_battery + end + def test_sending_gem_to_disallowed_default_host @spec, @path = util_gem "freebird", "1.0.1" do |spec| spec.metadata['allowed_push_host'] = "https://privategemserver.com" |