summaryrefslogtreecommitdiff
path: root/test/rubygems/test_gem_gemcutter_utilities.rb
diff options
context:
space:
mode:
Diffstat (limited to 'test/rubygems/test_gem_gemcutter_utilities.rb')
-rw-r--r--test/rubygems/test_gem_gemcutter_utilities.rb48
1 files changed, 48 insertions, 0 deletions
diff --git a/test/rubygems/test_gem_gemcutter_utilities.rb b/test/rubygems/test_gem_gemcutter_utilities.rb
index 79d1e6cdb8..a01328fbab 100644
--- a/test/rubygems/test_gem_gemcutter_utilities.rb
+++ b/test/rubygems/test_gem_gemcutter_utilities.rb
@@ -6,6 +6,7 @@
require 'rubygems/test_case'
require 'rubygems'
+require 'rubygems/command'
require 'rubygems/gemcutter_utilities'
class TestGemGemcutterUtilities < Gem::TestCase
@@ -20,6 +21,35 @@ class TestGemGemcutterUtilities < Gem::TestCase
@cmd.extend Gem::GemcutterUtilities
end
+ def test_api_key
+ keys = { :rubygems_api_key => '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
+
+ assert_equal 'KEY', @cmd.api_key
+ end
+
+ def test_api_key_override
+ keys = { :rubygems_api_key => 'KEY', :other => 'OTHER' }
+ 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
+
+ @cmd.add_key_option
+ @cmd.handle_options %w[--key other]
+
+ assert_equal 'OTHER', @cmd.api_key
+ end
+
def test_sign_in
api_key = 'a5fdbb6ba150cbb83aad2bb2fede64cf040453903'
util_sign_in [api_key, 200, 'OK']
@@ -105,5 +135,23 @@ class TestGemGemcutterUtilities < Gem::TestCase
end
end
+ def test_verify_api_key
+ keys = {:other => 'a5fdbb6ba150cbb83aad2bb2fede64cf040453903'}
+ FileUtils.mkdir_p File.dirname(Gem.configuration.credentials_path)
+ File.open Gem.configuration.credentials_path, 'w' do |f|
+ f.write keys.to_yaml
+ end
+ Gem.configuration.load_api_keys
+
+ assert_equal 'a5fdbb6ba150cbb83aad2bb2fede64cf040453903',
+ @cmd.verify_api_key(:other)
+ end
+
+ def test_verify_missing_api_key
+ assert_raises Gem::MockGemUi::TermError do
+ @cmd.verify_api_key :missing
+ end
+ end
+
end