Share Pastebin
Guest
Public paste!

Untitled

By: a guest | Jan 27th, 2010 | Syntax: None | Size: 12.27 KB | Hits: 74 | Expires: Never
Copy text to clipboard
  1.  
  2. spec repo.rb
  3. ........FFFF                                    
  4.  
  5. 1)
  6. Mocha::ExpectationError in 'Puppet::Type::Repo Puppet::Type::Repo when it should be absent should do nothing if it is absent'
  7. not all expectations were satisfied                                                                                          
  8. unsatisfied expectations:                                                                                                    
  9. - expected exactly once, not yet invoked: #<Mock:provider>.properties(any_parameters)                                        
  10. satisfied expectations:                                                                                                      
  11. - allowed any number of times, not yet invoked: #<Mock:provider>.satisfies?(any_parameters)                                  
  12. - allowed any number of times, not yet invoked: #<Mock:provider>.name(any_parameters)                                        
  13. - allowed any number of times, not yet invoked: #<Mock:provider>.clear(any_parameters)                                      
  14. - allowed any number of times, already invoked 7 times: #<Mock:provider>.class(any_parameters)                              
  15. - allowed any number of times, already invoked once: Puppet::Type::Repo::ProviderZypper.instances(any_parameters)            
  16. - allowed any number of times, already invoked once: Puppet::Type::Repo::ProviderZypper.new(any_parameters)                  
  17. ./repo.rb:81:                                                                                                                
  18. /puppet/spec/monkey_patches/add_confine_and_runnable_to_rspec_dsl.rb:22:in `run'                                            
  19. /puppet/spec/monkey_patches/add_confine_and_runnable_to_rspec_dsl.rb:17:in `each'                                            
  20. /puppet/spec/monkey_patches/add_confine_and_runnable_to_rspec_dsl.rb:17:in `run'                                            
  21.  
  22. 2)
  23. Mocha::ExpectationError in 'Puppet::Type::Repo Puppet::Type::Repo when it should be absent should uninstall if it is present'
  24. not all expectations were satisfied                                                                                          
  25. unsatisfied expectations:                                                                                                    
  26. - expected exactly once, not yet invoked: #<Mock:provider>.uninstall(any_parameters)                                        
  27. satisfied expectations:                                                                                                      
  28. - allowed any number of times, not yet invoked: #<Mock:provider>.properties(any_parameters)                                  
  29. - allowed any number of times, not yet invoked: #<Mock:provider>.satisfies?(any_parameters)                                  
  30. - allowed any number of times, not yet invoked: #<Mock:provider>.name(any_parameters)                                        
  31. - allowed any number of times, not yet invoked: #<Mock:provider>.clear(any_parameters)                                      
  32. - allowed any number of times, already invoked 7 times: #<Mock:provider>.class(any_parameters)                              
  33. - allowed any number of times, already invoked once: Puppet::Type::Repo::ProviderZypper.instances(any_parameters)
  34. - allowed any number of times, already invoked once: Puppet::Type::Repo::ProviderZypper.new(any_parameters)
  35. ./repo.rb:89:
  36. /puppet/spec/monkey_patches/add_confine_and_runnable_to_rspec_dsl.rb:22:in `run'
  37. /puppet/spec/monkey_patches/add_confine_and_runnable_to_rspec_dsl.rb:17:in `each'
  38. /puppet/spec/monkey_patches/add_confine_and_runnable_to_rspec_dsl.rb:17:in `run'
  39.  
  40. 3)
  41. Mocha::ExpectationError in 'Puppet::Type::Repo Puppet::Type::Repo when it should be present should do nothing if it is present'
  42. not all expectations were satisfied
  43. unsatisfied expectations:
  44. - expected exactly once, not yet invoked: #<Mock:provider>.properties(any_parameters)
  45. satisfied expectations:
  46. - allowed any number of times, not yet invoked: #<Mock:provider>.satisfies?(any_parameters)
  47. - allowed any number of times, not yet invoked: #<Mock:provider>.name(any_parameters)
  48. - allowed any number of times, not yet invoked: #<Mock:provider>.clear(any_parameters)
  49. - allowed any number of times, already invoked 7 times: #<Mock:provider>.class(any_parameters)
  50. - allowed any number of times, already invoked once: Puppet::Type::Repo::ProviderZypper.instances(any_parameters)
  51. - allowed any number of times, already invoked once: Puppet::Type::Repo::ProviderZypper.new(any_parameters)
  52. ./repo.rb:102:
  53. /puppet/spec/monkey_patches/add_confine_and_runnable_to_rspec_dsl.rb:22:in `run'
  54. /puppet/spec/monkey_patches/add_confine_and_runnable_to_rspec_dsl.rb:17:in `each'
  55. /puppet/spec/monkey_patches/add_confine_and_runnable_to_rspec_dsl.rb:17:in `run'
  56.  
  57. 4)
  58. Mocha::ExpectationError in 'Puppet::Type::Repo Puppet::Type::Repo when it should be present should install if it is absent'
  59. not all expectations were satisfied
  60. unsatisfied expectations:
  61. - expected exactly once, not yet invoked: #<Mock:provider>.install(any_parameters)
  62. satisfied expectations:
  63. - allowed any number of times, not yet invoked: #<Mock:provider>.properties(any_parameters)
  64. - allowed any number of times, not yet invoked: #<Mock:provider>.satisfies?(any_parameters)
  65. - allowed any number of times, not yet invoked: #<Mock:provider>.name(any_parameters)
  66. - allowed any number of times, not yet invoked: #<Mock:provider>.clear(any_parameters)
  67. - allowed any number of times, already invoked 7 times: #<Mock:provider>.class(any_parameters)
  68. - allowed any number of times, already invoked once: Puppet::Type::Repo::ProviderZypper.instances(any_parameters)
  69. - allowed any number of times, already invoked once: Puppet::Type::Repo::ProviderZypper.new(any_parameters)
  70. ./repo.rb:110:
  71. /puppet/spec/monkey_patches/add_confine_and_runnable_to_rspec_dsl.rb:22:in `run'
  72. /puppet/spec/monkey_patches/add_confine_and_runnable_to_rspec_dsl.rb:17:in `each'
  73. /puppet/spec/monkey_patches/add_confine_and_runnable_to_rspec_dsl.rb:17:in `run'
  74.  
  75. Finished in 0.037089 seconds
  76.  
  77. 12 examples, 4 failures
  78.  
  79.  
  80.  
  81.  
  82.  
  83.  
  84.  
  85. ---------------------------------
  86. cat repo.rb                                                                        
  87. #!/usr/bin/env ruby                                                                                                    
  88.  
  89. Dir.chdir(File.dirname(__FILE__)) { (s = lambda { |f| File.exist?(f) ? require(f) : Dir.chdir("..") { s.call(f) } }).call("spec/spec_helper.rb") }                                                                                                                  
  90.  
  91. repo = Puppet::Type.type(:repo)
  92.  
  93. describe repo do
  94.     before do  
  95.         @provider = stub 'provider'
  96.         @resource = stub 'resource', :resource => nil, :provider => @provider, :line => nil, :file => nil
  97.     end                                                                                                  
  98.  
  99.     it "should default to being installed" do
  100.         pkg = Puppet::Type.type(:repo).new(:name => "yay")
  101.         pkg.should(:ensure).should == :present            
  102.     end                                                  
  103.  
  104. end
  105.  
  106. describe repo, "when validating attributes" do
  107. #    [:name, :source, :instance, :status, :adminfile, :responsefile, :configfiles, :category, :platform, :root, :vendor, :description, :allowcdrom].each do |param|                                                                                                
  108.     [:name ,:source].each do |param|                                                                                              
  109.         it "should have a #{param} parameter" do                                                                                  
  110.             Puppet::Type.type(:package).attrtype(param).should == :param                                                          
  111.         end                                                                                                                      
  112.     end                                                                                                                          
  113.  
  114.     it "should have an ensure property" do
  115.         Puppet::Type.type(:package).attrtype(:ensure).should == :property
  116.     end                                                                  
  117. end                                                                      
  118.  
  119. describe repo, "when validating attribute values" do
  120.     before do                                      
  121.         @provider = stub 'provider', :class => Puppet::Type.type(:repo).defaultprovider, :clear => nil
  122.         Puppet::Type.type(:repo).defaultprovider.expects(:new).returns(@provider)                    
  123.     end                                                                                              
  124.  
  125.     it "should support :present as a value to :ensure" do
  126.         repo.new(:name => "yay", :ensure => :present)    
  127.     end                                                  
  128.  
  129.     it "should alias :installed to :present as a value to :ensure" do
  130.         repo = Puppet::Type.type(:repo).new(:name => "yay", :ensure => :installed)
  131.         repo.should(:ensure).should == :present                                  
  132.     end                                                                          
  133.  
  134.     it "should support :absent as a value to :ensure" do
  135.         Puppet::Type.type(:repo).new(:name => "yay", :ensure => :absent)
  136.     end                                                                
  137.  
  138.     it "should accept any string as an argument to :source" do
  139.         proc { Puppet::Type.type(:repo).new(:name => "yay", :source => "stuff") }.should_not raise_error(Puppet::Error)
  140.     end                                                                                                                
  141. end                                                                                                                    
  142.  
  143. module RepositoryEvaluationTesting
  144.     def setprops(properties)      
  145.         @provider.stubs(:properties).returns(properties)
  146.     end                                                
  147. end                                                    
  148.  
  149. describe Puppet::Type.type(:repo) do
  150.     before :each do                
  151.         @provider = stub 'provider', :class => Puppet::Type.type(:repo).defaultprovider, :clear => nil, :satisfies? => true, :name => :mock                                                                                                                        
  152.         Puppet::Type.type(:repo).defaultprovider.stubs(:new).returns(@provider)                                                  
  153.         Puppet::Type.type(:repo).defaultprovider.stubs(:instances).returns([])                                                    
  154.         @repo = Puppet::Type.type(:repo).new(:name => "yay")                                                                      
  155.  
  156.         @catalog = Puppet::Resource::Catalog.new
  157.         @catalog.add_resource(@repo)
  158.     end
  159.  
  160.     describe Puppet::Type.type(:repo), "when it should be absent" do
  161.         include RepositoryEvaluationTesting
  162.  
  163.         before { @repo[:ensure] = :absent }
  164.  
  165.         [:absent].each do |state|
  166.             it "should do nothing if it is #{state.to_s}" do
  167.                 @provider.expects(:properties).returns(:ensure => state)
  168.                 @catalog.apply
  169.             end
  170.         end
  171.  
  172.         [:present].each do |state|
  173.             it "should uninstall if it is #{state.to_s}" do
  174.                 @provider.stubs(:properties).returns(:ensure => state)
  175.                 @provider.expects(:uninstall)
  176.                 @catalog.apply
  177.             end
  178.         end
  179.     end
  180.  
  181.     describe Puppet::Type.type(:repo), "when it should be present" do
  182.         include RepositoryEvaluationTesting
  183.  
  184.         before { @repo[:ensure] = :present }
  185.  
  186.         [:present, ].each do |state|
  187.             it "should do nothing if it is #{state.to_s}" do
  188.                 @provider.expects(:properties).returns(:ensure => state)
  189.                 @catalog.apply
  190.             end
  191.         end
  192.  
  193.         [:absent].each do |state|
  194.             it "should install if it is #{state.to_s}" do
  195.                 @provider.stubs(:properties).returns(:ensure => state)
  196.                 @provider.expects(:install)
  197.                 @catalog.apply
  198.             end
  199.         end
  200.     end
  201. end