summaryrefslogtreecommitdiff
path: root/test/rubygems/test_gem_commands_push_command.rb
diff options
context:
space:
mode:
Diffstat (limited to 'test/rubygems/test_gem_commands_push_command.rb')
-rw-r--r--test/rubygems/test_gem_commands_push_command.rb29
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"