summaryrefslogtreecommitdiff
path: root/test/rubygems/test_gem_remote_installer.rb
diff options
context:
space:
mode:
Diffstat (limited to 'test/rubygems/test_gem_remote_installer.rb')
-rw-r--r--test/rubygems/test_gem_remote_installer.rb161
1 files changed, 0 insertions, 161 deletions
diff --git a/test/rubygems/test_gem_remote_installer.rb b/test/rubygems/test_gem_remote_installer.rb
deleted file mode 100644
index 90d94843bd..0000000000
--- a/test/rubygems/test_gem_remote_installer.rb
+++ /dev/null
@@ -1,161 +0,0 @@
-#--
-# Copyright 2006 by Chad Fowler, Rich Kilmer, Jim Weirich and others.
-# All rights reserved.
-# See LICENSE.txt for permissions.
-#++
-
-require 'test/unit'
-require File.join(File.expand_path(File.dirname(__FILE__)), 'gemutilities')
-require 'rubygems/remote_installer'
-
-class MockFetcher
- def initialize(uri, proxy)
- @uri = uri
- @proxy = proxy
- end
-
- def size
- 1000
- end
-
- def source_index
- if @uri =~ /non.existent.url/
- fail Gem::RemoteSourceException,
- "Error fetching remote gem cache: Mock Socket Exception"
- end
- result = {
- 'foo-1.2.3' => Gem::Specification.new do |s|
- s.name = 'foo'
- s.version = "1.2.3"
- s.summary = "This is a cool package"
- end,
- 'foo-tools-2.0.0' => Gem::Specification.new do |s|
- s.name = 'foo-tools'
- s.version = "2.0.0"
- s.summary = "This is an even cooler package"
- end,
- 'foo-2-2.0.0' => Gem::Specification.new do |s|
- s.name = 'foo-2'
- s.version = "2.0.0"
- s.summary = "This is the coolest package evar!~!"
- end,
- }
- result
- end
-
- def fetch_path(path)
- end
-
- def self.finish
- end
-end
-
-class TestGemRemoteInstaller < RubyGemTestCase
-
- def setup
- super
-
- util_setup_fake_fetcher
-
- util_setup_source_info_cache @gem1, @gem4
-
- @installer = Gem::RemoteInstaller.new
- @installer.instance_variable_set("@fetcher_class", MockFetcher)
- end
-
- def teardown
- FileUtils.rm "dest_file" rescue nil
- end
-
- def test_find_gem_to_install
- future_gem = quick_gem @gem1.name, '9.9.9' do |spec|
- spec.required_ruby_version = '> 999.999.999' # HACK
- end
-
- util_setup_source_info_cache @gem1, future_gem
- version = Gem::Version::Requirement.new "> 0.0.0"
- gems = @installer.find_gem_to_install(@gem1.name, version)
-
- assert_equal @gem1.full_name, gems.first.full_name
- end
-
- def test_source_index_hash
- source_hash = @installer.source_index_hash
-
- assert_equal 1, source_hash.size
- assert source_hash.has_key?('http://gems.example.com')
- assert_equal [@gem1, @gem4],
- source_hash['http://gems.example.com'].search(@gem1.name)
- end
-
- def test_specs_n_sources_matching
- version = Gem::Version::Requirement.new "> 0.0.0"
- specs_n_sources = @installer.specs_n_sources_matching @gem1.name, version
-
- gems = specs_n_sources.map { |g,| g.full_name }
-
- assert_equal [@gem1.full_name], gems,
- "Gems with longer names and higher versions must not match"
- end
-
-end
-
-# This test suite has a number of TODOs in the test cases. The
-# TestRemoteInstaller test suite is a reworking of this class from
-# scratch.
-class RemoteInstallerTest #< RubyGemTestCase # HACK disabled
- class RInst < Gem::RemoteInstaller
- include Test::Unit::Assertions
-
- attr_accessor :expected_destination_files
- attr_accessor :expected_bodies
- attr_accessor :caches
- attr_accessor :responses
-
- def source_index_hash
- @caches
- end
-
- def fetch(uri)
- @reponses ||= {}
- @responses[uri]
- end
-
- def write_gem_to_file(body, destination_file)
- expected_destination_file = expected_destination_files.pop
- expected_body = expected_bodies.pop
- assert_equal expected_body, body, "Unexpected body"
- assert_equal expected_destination_file, destination_file, "Unexpected destination file"
- end
-
- def new_installer(gem)
- return MockInstaller.new(gem)
- end
- end
-
- def setup
- Gem.clear_paths
- @remote_installer = Gem::RemoteInstaller.new
- @remote_installer.instance_eval { @fetcher_class = MockFetcher }
- end
-
- SAMPLE_SPEC = Gem::Specification.new do |s|
- s.name = 'foo'
- s.version = "1.2.3"
- s.platform = Gem::Platform::RUBY
- s.summary = "This is a cool package"
- s.files = []
- end
- SAMPLE_CACHE = { 'foo-1.2.3' => SAMPLE_SPEC }
- SAMPLE_CACHE_YAML = SAMPLE_CACHE.to_yaml
-
- FOO_GEM = '' # TODO
- CACHE_DIR = File.join(Gem.dir, 'cache')
-
- def test_install
- result = @remote_installer.install('foo')
- assert_equal [nil], result
- end
-
-end
-