~ubuntu-branches/ubuntu/quantal/ruby1.9.1/quantal

« back to all changes in this revision

Viewing changes to test/rubygems/test_gem_gemcutter_utilities.rb

  • Committer: Bazaar Package Importer
  • Author(s): Lucas Nussbaum
  • Date: 2011-09-24 19:16:17 UTC
  • mfrom: (1.1.8 upstream) (13.1.7 experimental)
  • Revision ID: james.westby@ubuntu.com-20110924191617-o1qz4rcmqjot8zuy
Tags: 1.9.3~rc1-1
* New upstream release: 1.9.3 RC1.
  + Includes load.c fixes. Closes: #639959.
* Upload to unstable.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
require_relative 'gemutilities'
 
1
require 'rubygems/test_case'
2
2
require 'rubygems'
 
3
require 'rubygems/command'
3
4
require 'rubygems/gemcutter_utilities'
4
5
 
5
 
class TestGemGemcutterUtilities < RubyGemTestCase
 
6
class TestGemGemcutterUtilities < Gem::TestCase
6
7
 
7
8
  def setup
8
9
    super
14
15
    @cmd.extend Gem::GemcutterUtilities
15
16
  end
16
17
 
 
18
  def test_api_key
 
19
    keys = { :rubygems_api_key => 'KEY' }
 
20
    FileUtils.mkdir_p File.dirname Gem.configuration.credentials_path
 
21
 
 
22
    open Gem.configuration.credentials_path, 'w' do |f|
 
23
      f.write keys.to_yaml
 
24
    end
 
25
 
 
26
    Gem.configuration.load_api_keys
 
27
 
 
28
    assert_equal 'KEY', @cmd.api_key
 
29
  end
 
30
 
 
31
  def test_api_key_override
 
32
    keys = { :rubygems_api_key => 'KEY', :other => 'OTHER' }
 
33
    FileUtils.mkdir_p File.dirname Gem.configuration.credentials_path
 
34
 
 
35
    open Gem.configuration.credentials_path, 'w' do |f|
 
36
      f.write keys.to_yaml
 
37
    end
 
38
 
 
39
    Gem.configuration.load_api_keys
 
40
 
 
41
    @cmd.add_key_option
 
42
    @cmd.handle_options %w[--key other]
 
43
 
 
44
    assert_equal 'OTHER', @cmd.api_key
 
45
  end
 
46
 
17
47
  def test_sign_in
18
48
    api_key     = 'a5fdbb6ba150cbb83aad2bb2fede64cf040453903'
19
49
    util_sign_in [api_key, 200, 'OK']
68
98
  def test_sign_in_with_bad_credentials
69
99
    skip 'Always uses $stdin on windows' if Gem.win_platform?
70
100
 
71
 
    assert_raises MockGemUi::TermError do
 
101
    assert_raises Gem::MockGemUi::TermError do
72
102
      util_sign_in ['Access Denied.', 403, 'Forbidden']
73
103
    end
74
104
 
85
115
    if host
86
116
      ENV['RUBYGEMS_HOST'] = host
87
117
    else
88
 
      host = "https://rubygems.org"
 
118
      host = Gem.host
89
119
    end
90
120
 
91
121
    @fetcher = Gem::FakeFetcher.new
92
122
    @fetcher.data["#{host}/api/v1/api_key"] = response
93
123
    Gem::RemoteFetcher.fetcher = @fetcher
94
124
 
95
 
    @sign_in_ui = MockGemUi.new "#{email}\n#{password}\n"
 
125
    @sign_in_ui = Gem::MockGemUi.new "#{email}\n#{password}\n"
96
126
 
97
127
    use_ui @sign_in_ui do
98
128
      @cmd.sign_in
99
129
    end
100
130
  end
101
131
 
 
132
  def test_verify_api_key
 
133
    keys = {:other => 'a5fdbb6ba150cbb83aad2bb2fede64cf040453903'}
 
134
    FileUtils.mkdir_p File.dirname(Gem.configuration.credentials_path)
 
135
    File.open Gem.configuration.credentials_path, 'w' do |f|
 
136
      f.write keys.to_yaml
 
137
    end
 
138
    Gem.configuration.load_api_keys
 
139
 
 
140
    assert_equal 'a5fdbb6ba150cbb83aad2bb2fede64cf040453903',
 
141
                 @cmd.verify_api_key(:other)
 
142
  end
 
143
 
 
144
  def test_verify_missing_api_key
 
145
    assert_raises Gem::MockGemUi::TermError do
 
146
      @cmd.verify_api_key :missing
 
147
    end
 
148
  end
 
149
 
102
150
end
103
151