summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLamont Granquist <lamont@scriptkiddie.org>2015-12-11 15:30:58 -0800
committerLamont Granquist <lamont@scriptkiddie.org>2015-12-14 13:27:00 -0800
commite2410e266b5537421e930a514a6caee7bfb7d168 (patch)
tree1156371a53cf6ab1f5139b36ba8c4a9b6d933103
parent9da71d0ffb61a2387c2e641a7611261aabc3781e (diff)
downloadchef-e2410e266b5537421e930a514a6caee7bfb7d168.tar.gz
mock slow tests, unmock others
converts a few tests to really hit rubygems that were mocktastic before. converts a bunch of tests that were really hitting rubygems before to be mocked.
-rw-r--r--spec/unit/provider/package/rubygems_spec.rb30
1 files changed, 6 insertions, 24 deletions
diff --git a/spec/unit/provider/package/rubygems_spec.rb b/spec/unit/provider/package/rubygems_spec.rb
index e04d2a324c..0e434439e1 100644
--- a/spec/unit/provider/package/rubygems_spec.rb
+++ b/spec/unit/provider/package/rubygems_spec.rb
@@ -95,36 +95,21 @@ describe Chef::Provider::Package::Rubygems::CurrentGemEnvironment do
dep = Gem::Dependency.new('rspec', '>= 0')
dep_installer = Gem::DependencyInstaller.new
allow(@gem_env).to receive(:dependency_installer).and_return(dep_installer)
- best_gem = double("best gem match", :spec => gemspec("rspec", Gem::Version.new("1.3.0")), :source => "https://rubygems.org")
- available_set = double("Gem::AvailableSet test double")
- expect(available_set).to receive(:pick_best!)
- expect(available_set).to receive(:set).and_return([best_gem])
- expect(dep_installer).to receive(:find_gems_with_sources).with(dep).and_return(available_set)
- expect(@gem_env.candidate_version_from_remote(Gem::Dependency.new('rspec', '>= 0'))).to eq(Gem::Version.new('1.3.0'))
+ expect(@gem_env.candidate_version_from_remote(dep)).to be_kind_of(Gem::Version)
end
it "gives the candidate version as nil if none is found" do
- dep = Gem::Dependency.new('rspec', '>= 0')
+ dep = Gem::Dependency.new('lksdjflksdjflsdkfj', '>= 0')
dep_installer = Gem::DependencyInstaller.new
allow(@gem_env).to receive(:dependency_installer).and_return(dep_installer)
- available_set = double("Gem::AvailableSet test double")
- expect(available_set).to receive(:pick_best!)
- expect(available_set).to receive(:set).and_return([])
- expect(dep_installer).to receive(:find_gems_with_sources).with(dep).and_return(available_set)
- expect(@gem_env.candidate_version_from_remote(Gem::Dependency.new('rspec', '>= 0'))).to be_nil
+ expect(@gem_env.candidate_version_from_remote(dep)).to be_nil
end
it "finds a matching gem from a specific gemserver when explicit sources are given" do
dep = Gem::Dependency.new('rspec', '>= 0')
- expect(@gem_env).to receive(:with_gem_sources).with('http://gems.example.com').and_yield
dep_installer = Gem::DependencyInstaller.new
allow(@gem_env).to receive(:dependency_installer).and_return(dep_installer)
- best_gem = double("best gem match", :spec => gemspec("rspec", Gem::Version.new("1.3.0")), :source => "https://rubygems.org")
- available_set = double("Gem::AvailableSet test double")
- expect(available_set).to receive(:pick_best!)
- expect(available_set).to receive(:set).and_return([best_gem])
- expect(dep_installer).to receive(:find_gems_with_sources).with(dep).and_return(available_set)
- expect(@gem_env.candidate_version_from_remote(Gem::Dependency.new('rspec', '>=0'), 'http://gems.example.com')).to eq(Gem::Version.new('1.3.0'))
+ expect(@gem_env.candidate_version_from_remote(dep, 'http://production.cf.rubygems.org')).to be_kind_of(Gem::Version)
end
end
@@ -428,7 +413,6 @@ describe Chef::Provider::Package::Rubygems do
end
describe "when determining the currently installed version" do
-
it "sets the current version to the version specified by the new resource if that version is installed" do
@provider.load_current_resource
expect(@provider.current_resource.version).to eq(@spec_version)
@@ -449,7 +433,6 @@ describe Chef::Provider::Package::Rubygems do
end
describe "when determining the candidate version to install" do
-
it "does not query for available versions when the current version is the target version" do
@provider.current_resource = @new_resource.dup
expect(@provider.candidate_version).to be_nil
@@ -473,7 +456,6 @@ describe Chef::Provider::Package::Rubygems do
@provider.load_current_resource
expect(@provider.candidate_version).to eq('0.1.0')
end
-
end
describe "when installing a gem" do
@@ -482,7 +464,7 @@ describe Chef::Provider::Package::Rubygems do
@provider.current_resource = @current_resource
@gem_dep = Gem::Dependency.new('rspec-core', @spec_version)
allow(@provider).to receive(:load_current_resource)
- allow(@provider).to receive(:candidate_version).and_return("3.4.1")
+ allow(@provider).to receive(:candidate_version).and_return("3.2.1")
end
describe "in the current gem environment" do
@@ -641,7 +623,7 @@ describe Chef::Provider::Package::Rubygems do
@current_resource.version('1.2.3')
@provider.new_resource = @new_resource
@provider.current_resource = @current_resource
- allow(@provider).to receive(:candidate_version).and_return("3.4.1")
+ allow(@provider).to receive(:candidate_version).and_return("3.2.1")
end
describe "in the current gem environment" do