parent
154f044388
commit
9e7b9c6ccc
@ -0,0 +1,525 @@
|
|||||||
|
diff --git a/lib/puppet/file_serving/fileset.rb b/lib/puppet/file_serving/fileset.rb
|
||||||
|
index f2ebf5a..96050b6 100644
|
||||||
|
--- a/lib/puppet/file_serving/fileset.rb
|
||||||
|
+++ b/lib/puppet/file_serving/fileset.rb
|
||||||
|
@@ -136,7 +136,7 @@ class Puppet::FileServing::Fileset
|
||||||
|
result = []
|
||||||
|
return result unless recurse?(depth)
|
||||||
|
|
||||||
|
- while dir_path = current_dirs.shift or ((depth += 1) and recurse?(depth) and current_dirs = next_dirs and next_dirs = [] and dir_path = current_dirs.shift)
|
||||||
|
+ while dir_path = current_dirs.shift
|
||||||
|
next unless stat = stat(dir_path)
|
||||||
|
next unless stat.directory?
|
||||||
|
|
||||||
|
@@ -153,6 +153,14 @@ class Puppet::FileServing::Fileset
|
||||||
|
# And to our list of files/directories to iterate over.
|
||||||
|
next_dirs << File.join(dir_path, file_path)
|
||||||
|
end
|
||||||
|
+
|
||||||
|
+ # Move to the next recusion level
|
||||||
|
+ if current_dirs.empty?
|
||||||
|
+ depth += 1
|
||||||
|
+ break unless recurse?(depth)
|
||||||
|
+ current_dirs = next_dirs
|
||||||
|
+ next_dirs = []
|
||||||
|
+ end
|
||||||
|
end
|
||||||
|
|
||||||
|
result
|
||||||
|
diff --git a/lib/puppet/indirector/facts/inventory_active_record.rb b/lib/puppet/indirector/facts/inventory_active_record.rb
|
||||||
|
index 4add7f2..b6c703b 100644
|
||||||
|
--- a/lib/puppet/indirector/facts/inventory_active_record.rb
|
||||||
|
+++ b/lib/puppet/indirector/facts/inventory_active_record.rb
|
||||||
|
@@ -11,6 +11,7 @@ class Puppet::Node::Facts::InventoryActiveRecord < Puppet::Indirector::ActiveRec
|
||||||
|
and inventory are deprecated. See http://links.puppetlabs.com/activerecord-deprecation"
|
||||||
|
|
||||||
|
def initialize
|
||||||
|
+ raise Puppet::Error, "ActiveRecords-based inventory is unsupported with Ruby 2 and Rails 3.0" if RUBY_VERSION[0] == '2'
|
||||||
|
Puppet.deprecation_warning "ActiveRecord-based storeconfigs and inventory are deprecated. See http://links.puppetlabs.com/activerecord-deprecation"
|
||||||
|
super
|
||||||
|
end
|
||||||
|
diff --git a/lib/puppet/transaction/event.rb b/lib/puppet/transaction/event.rb
|
||||||
|
index 057554e..066ef20 100644
|
||||||
|
--- a/lib/puppet/transaction/event.rb
|
||||||
|
+++ b/lib/puppet/transaction/event.rb
|
||||||
|
@@ -29,15 +29,8 @@ class Puppet::Transaction::Event
|
||||||
|
end
|
||||||
|
|
||||||
|
def resource=(res)
|
||||||
|
- begin
|
||||||
|
- # In Ruby 1.8 looking up a symbol on a string gives nil; in 1.9 it will
|
||||||
|
- # raise a TypeError, which we then catch. This should work on both
|
||||||
|
- # versions, for all that it is a bit naff. --daniel 2012-03-11
|
||||||
|
- if res.respond_to?(:[]) and level = res[:loglevel]
|
||||||
|
- @default_log_level = level
|
||||||
|
- end
|
||||||
|
- rescue TypeError => e
|
||||||
|
- raise unless e.to_s == "can't convert Symbol into Integer"
|
||||||
|
+ if res.respond_to?(:[]) and level = res[:loglevel]
|
||||||
|
+ @default_log_level = level
|
||||||
|
end
|
||||||
|
@resource = res.to_s
|
||||||
|
end
|
||||||
|
diff --git a/lib/puppet/util/classgen.rb b/lib/puppet/util/classgen.rb
|
||||||
|
index e03bf2a..db8cd40 100644
|
||||||
|
--- a/lib/puppet/util/classgen.rb
|
||||||
|
+++ b/lib/puppet/util/classgen.rb
|
||||||
|
@@ -148,10 +148,10 @@ module Puppet::Util::ClassGen
|
||||||
|
# @api private
|
||||||
|
#
|
||||||
|
def is_constant_defined?(const)
|
||||||
|
- if ::RUBY_VERSION =~ /1.9/
|
||||||
|
- const_defined?(const, false)
|
||||||
|
- else
|
||||||
|
+ if ::RUBY_VERSION =~ /^1.8/
|
||||||
|
const_defined?(const)
|
||||||
|
+ else
|
||||||
|
+ const_defined?(const, false)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
diff --git a/lib/puppet/util/rdoc/parser.rb b/lib/puppet/util/rdoc/parser.rb
|
||||||
|
index 145706f..6b5ad74 100644
|
||||||
|
--- a/lib/puppet/util/rdoc/parser.rb
|
||||||
|
+++ b/lib/puppet/util/rdoc/parser.rb
|
||||||
|
@@ -8,18 +8,18 @@ require "rdoc/code_objects"
|
||||||
|
require "puppet/util/rdoc/code_objects"
|
||||||
|
require "rdoc/tokenstream"
|
||||||
|
|
||||||
|
-if ::RUBY_VERSION =~ /1.9/
|
||||||
|
- require "rdoc/markup/preprocess"
|
||||||
|
- require "rdoc/parser"
|
||||||
|
-else
|
||||||
|
+if ::RUBY_VERSION =~ /^1.8/
|
||||||
|
require "rdoc/markup/simple_markup/preprocess"
|
||||||
|
require "rdoc/parsers/parserfactory"
|
||||||
|
+else
|
||||||
|
+ require "rdoc/markup/preprocess"
|
||||||
|
+ require "rdoc/parser"
|
||||||
|
end
|
||||||
|
|
||||||
|
module RDoc
|
||||||
|
|
||||||
|
class Parser
|
||||||
|
- extend ParserFactory unless ::RUBY_VERSION =~ /1.9/
|
||||||
|
+ extend ParserFactory if ::RUBY_VERSION =~ /^1.8/
|
||||||
|
|
||||||
|
SITE = "__site__"
|
||||||
|
|
||||||
|
diff --git a/spec/unit/forge/repository_spec.rb b/spec/unit/forge/repository_spec.rb
|
||||||
|
index a0b585b..71fe38e 100644
|
||||||
|
--- a/spec/unit/forge/repository_spec.rb
|
||||||
|
+++ b/spec/unit/forge/repository_spec.rb
|
||||||
|
@@ -92,7 +92,7 @@ describe Puppet::Forge::Repository do
|
||||||
|
http.expects(:request).with() do |request|
|
||||||
|
puppet_version = /Puppet\/\d+\..*/
|
||||||
|
os_info = /\(.*\)/
|
||||||
|
- ruby_version = /Ruby\/\d+\.\d+\.\d+(-p\d+)? \(\d{4}-\d{2}-\d{2}; .*\)/
|
||||||
|
+ ruby_version = /Ruby\/\d+\.\d+\.\d+(-p-?\d+)? \(\d{4}-\d{2}-\d{2}; .*\)/
|
||||||
|
|
||||||
|
request["User-Agent"] =~ /^#{consumer_version} #{puppet_version} #{os_info} #{ruby_version}/
|
||||||
|
end
|
||||||
|
diff --git a/spec/unit/indirector/facts/inventory_active_record_spec.rb b/spec/unit/indirector/facts/inventory_active_record_spec.rb
|
||||||
|
index 641ded7..ef50583 100755
|
||||||
|
--- a/spec/unit/indirector/facts/inventory_active_record_spec.rb
|
||||||
|
+++ b/spec/unit/indirector/facts/inventory_active_record_spec.rb
|
||||||
|
@@ -23,149 +23,160 @@ describe "Puppet::Node::Facts::InventoryActiveRecord", :if => can_use_scratch_da
|
||||||
|
setup_scratch_database
|
||||||
|
end
|
||||||
|
|
||||||
|
- it "should issue a deprecation warning" do
|
||||||
|
- Puppet.expects(:deprecation_warning).with() { |msg| msg =~ /ActiveRecord-based storeconfigs and inventory are deprecated/ }
|
||||||
|
- terminus
|
||||||
|
- end
|
||||||
|
-
|
||||||
|
- describe "#save" do
|
||||||
|
- let(:node) {
|
||||||
|
- Puppet::Rails::InventoryNode.new(:name => "foo", :timestamp => Time.now)
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
- let(:facts) {
|
||||||
|
- Puppet::Node::Facts.new("foo", "uptime_days" => "60", "kernel" => "Darwin")
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
- it "should retry on ActiveRecord error" do
|
||||||
|
- Puppet::Rails::InventoryNode.expects(:create).twice.raises(ActiveRecord::StatementInvalid).returns node
|
||||||
|
-
|
||||||
|
- Puppet::Node::Facts.indirection.save(facts)
|
||||||
|
- end
|
||||||
|
-
|
||||||
|
- it "should use an existing node if possible" do
|
||||||
|
- node.save
|
||||||
|
- Puppet::Node::Facts.indirection.save(facts)
|
||||||
|
-
|
||||||
|
- Puppet::Rails::InventoryNode.count.should == 1
|
||||||
|
- Puppet::Rails::InventoryNode.first.should == node
|
||||||
|
- end
|
||||||
|
-
|
||||||
|
- it "should create a new node if one can't be found" do
|
||||||
|
- # This test isn't valid if there are nodes to begin with
|
||||||
|
- Puppet::Rails::InventoryNode.count.should == 0
|
||||||
|
-
|
||||||
|
- Puppet::Node::Facts.indirection.save(facts)
|
||||||
|
-
|
||||||
|
- Puppet::Rails::InventoryNode.count.should == 1
|
||||||
|
- Puppet::Rails::InventoryNode.first.name.should == "foo"
|
||||||
|
- end
|
||||||
|
-
|
||||||
|
- it "should save the facts" do
|
||||||
|
- Puppet::Node::Facts.indirection.save(facts)
|
||||||
|
-
|
||||||
|
- Puppet::Rails::InventoryFact.all.map{|f| [f.name,f.value]}.should =~ [["uptime_days","60"],["kernel","Darwin"]]
|
||||||
|
- end
|
||||||
|
-
|
||||||
|
- it "should remove the previous facts for an existing node" do
|
||||||
|
- facts = Puppet::Node::Facts.new("foo", "uptime_days" => "30", "kernel" => "Darwin")
|
||||||
|
- Puppet::Node::Facts.indirection.save(facts)
|
||||||
|
- bar_facts = Puppet::Node::Facts.new("bar", "uptime_days" => "35", "kernel" => "Linux")
|
||||||
|
- foo_facts = Puppet::Node::Facts.new("foo", "uptime_days" => "60", "is_virtual" => "false")
|
||||||
|
- Puppet::Node::Facts.indirection.save(bar_facts)
|
||||||
|
- Puppet::Node::Facts.indirection.save(foo_facts)
|
||||||
|
-
|
||||||
|
- Puppet::Node::Facts.indirection.find("bar").should == bar_facts
|
||||||
|
- Puppet::Node::Facts.indirection.find("foo").should == foo_facts
|
||||||
|
- Puppet::Rails::InventoryFact.all.map{|f| [f.name,f.value]}.should_not include(["uptime_days", "30"], ["kernel", "Darwin"])
|
||||||
|
+ context "under Ruby 1.x", :if => RUBY_VERSION[0] == '1' do
|
||||||
|
+ describe "#initialize" do
|
||||||
|
+ it "should issue a deprecation warning" do
|
||||||
|
+ Puppet.expects(:deprecation_warning).with() { |msg| msg =~ /ActiveRecord-based storeconfigs and inventory are deprecated/ }
|
||||||
|
+ terminus
|
||||||
|
+ end
|
||||||
|
+ end
|
||||||
|
+
|
||||||
|
+ describe "#save" do
|
||||||
|
+ let(:node) {
|
||||||
|
+ Puppet::Rails::InventoryNode.new(:name => "foo", :timestamp => Time.now)
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ let(:facts) {
|
||||||
|
+ Puppet::Node::Facts.new("foo", "uptime_days" => "60", "kernel" => "Darwin")
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ it "should retry on ActiveRecord error" do
|
||||||
|
+ Puppet::Rails::InventoryNode.expects(:create).twice.raises(ActiveRecord::StatementInvalid).returns node
|
||||||
|
+
|
||||||
|
+ Puppet::Node::Facts.indirection.save(facts)
|
||||||
|
+ end
|
||||||
|
+
|
||||||
|
+ it "should use an existing node if possible" do
|
||||||
|
+ node.save
|
||||||
|
+ Puppet::Node::Facts.indirection.save(facts)
|
||||||
|
+
|
||||||
|
+ Puppet::Rails::InventoryNode.count.should == 1
|
||||||
|
+ Puppet::Rails::InventoryNode.first.should == node
|
||||||
|
+ end
|
||||||
|
+
|
||||||
|
+ it "should create a new node if one can't be found" do
|
||||||
|
+ # This test isn't valid if there are nodes to begin with
|
||||||
|
+ Puppet::Rails::InventoryNode.count.should == 0
|
||||||
|
+
|
||||||
|
+ Puppet::Node::Facts.indirection.save(facts)
|
||||||
|
+
|
||||||
|
+ Puppet::Rails::InventoryNode.count.should == 1
|
||||||
|
+ Puppet::Rails::InventoryNode.first.name.should == "foo"
|
||||||
|
+ end
|
||||||
|
+
|
||||||
|
+ it "should save the facts" do
|
||||||
|
+ Puppet::Node::Facts.indirection.save(facts)
|
||||||
|
+
|
||||||
|
+ Puppet::Rails::InventoryFact.all.map{|f| [f.name,f.value]}.should =~ [["uptime_days","60"],["kernel","Darwin"]]
|
||||||
|
+ end
|
||||||
|
+
|
||||||
|
+ it "should remove the previous facts for an existing node" do
|
||||||
|
+ facts = Puppet::Node::Facts.new("foo", "uptime_days" => "30", "kernel" => "Darwin")
|
||||||
|
+ Puppet::Node::Facts.indirection.save(facts)
|
||||||
|
+ bar_facts = Puppet::Node::Facts.new("bar", "uptime_days" => "35", "kernel" => "Linux")
|
||||||
|
+ foo_facts = Puppet::Node::Facts.new("foo", "uptime_days" => "60", "is_virtual" => "false")
|
||||||
|
+ Puppet::Node::Facts.indirection.save(bar_facts)
|
||||||
|
+ Puppet::Node::Facts.indirection.save(foo_facts)
|
||||||
|
+
|
||||||
|
+ Puppet::Node::Facts.indirection.find("bar").should == bar_facts
|
||||||
|
+ Puppet::Node::Facts.indirection.find("foo").should == foo_facts
|
||||||
|
+ Puppet::Rails::InventoryFact.all.map{|f| [f.name,f.value]}.should_not include(["uptime_days", "30"], ["kernel", "Darwin"])
|
||||||
|
+ end
|
||||||
|
+ end
|
||||||
|
+
|
||||||
|
+ describe "#find" do
|
||||||
|
+ before do
|
||||||
|
+ @foo_facts = Puppet::Node::Facts.new("foo", "uptime_days" => "60", "kernel" => "Darwin")
|
||||||
|
+ @bar_facts = Puppet::Node::Facts.new("bar", "uptime_days" => "30", "kernel" => "Linux")
|
||||||
|
+ Puppet::Node::Facts.indirection.save(@foo_facts)
|
||||||
|
+ Puppet::Node::Facts.indirection.save(@bar_facts)
|
||||||
|
+ end
|
||||||
|
+
|
||||||
|
+ it "should identify facts by node name" do
|
||||||
|
+ Puppet::Node::Facts.indirection.find("foo").should == @foo_facts
|
||||||
|
+ end
|
||||||
|
+
|
||||||
|
+ it "should return nil if no node instance can be found" do
|
||||||
|
+ Puppet::Node::Facts.indirection.find("non-existent node").should == nil
|
||||||
|
+ end
|
||||||
|
+ end
|
||||||
|
+
|
||||||
|
+ describe "#search" do
|
||||||
|
+ def search_request(conditions)
|
||||||
|
+ Puppet::Indirector::Request.new(:facts, :search, nil, nil, conditions)
|
||||||
|
+ end
|
||||||
|
+
|
||||||
|
+ before :each do
|
||||||
|
+ @now = Time.now
|
||||||
|
+ @foo = Puppet::Node::Facts.new("foo", "fact1" => "value1", "fact2" => "value2", "uptime_days" => "30")
|
||||||
|
+ @bar = Puppet::Node::Facts.new("bar", "fact1" => "value1", "uptime_days" => "60")
|
||||||
|
+ @baz = Puppet::Node::Facts.new("baz", "fact1" => "value2", "fact2" => "value1", "uptime_days" => "90")
|
||||||
|
+ @bat = Puppet::Node::Facts.new("bat")
|
||||||
|
+ @foo.timestamp = @now - 3600*1
|
||||||
|
+ @bar.timestamp = @now - 3600*3
|
||||||
|
+ @baz.timestamp = @now - 3600*5
|
||||||
|
+ @bat.timestamp = @now - 3600*7
|
||||||
|
+ [@foo, @bar, @baz, @bat].each {|facts| Puppet::Node::Facts.indirection.save(facts)}
|
||||||
|
+ end
|
||||||
|
+
|
||||||
|
+ it "should return node names that match 'equal' constraints" do
|
||||||
|
+ request = search_request('facts.fact1.eq' => 'value1',
|
||||||
|
+ 'facts.fact2.eq' => 'value2')
|
||||||
|
+ terminus.search(request).should == ["foo"]
|
||||||
|
+ end
|
||||||
|
+
|
||||||
|
+ it "should return node names that match 'not equal' constraints" do
|
||||||
|
+ request = search_request('facts.fact1.ne' => 'value2')
|
||||||
|
+ terminus.search(request).should == ["bar","foo"]
|
||||||
|
+ end
|
||||||
|
+
|
||||||
|
+ it "should return node names that match strict inequality constraints" do
|
||||||
|
+ request = search_request('facts.uptime_days.gt' => '20',
|
||||||
|
+ 'facts.uptime_days.lt' => '70')
|
||||||
|
+ terminus.search(request).should == ["bar","foo"]
|
||||||
|
+ end
|
||||||
|
+
|
||||||
|
+ it "should return node names that match non-strict inequality constraints" do
|
||||||
|
+ request = search_request('facts.uptime_days.ge' => '30',
|
||||||
|
+ 'facts.uptime_days.le' => '60')
|
||||||
|
+ terminus.search(request).should == ["bar","foo"]
|
||||||
|
+ end
|
||||||
|
+
|
||||||
|
+ it "should return node names whose facts are within a given timeframe" do
|
||||||
|
+ request = search_request('meta.timestamp.ge' => @now - 3600*5,
|
||||||
|
+ 'meta.timestamp.le' => @now - 3600*1)
|
||||||
|
+ terminus.search(request).should == ["bar","baz","foo"]
|
||||||
|
+ end
|
||||||
|
+
|
||||||
|
+ it "should return node names whose facts are from a specific time" do
|
||||||
|
+ request = search_request('meta.timestamp.eq' => @now - 3600*3)
|
||||||
|
+ terminus.search(request).should == ["bar"]
|
||||||
|
+ end
|
||||||
|
+
|
||||||
|
+ it "should return node names whose facts are not from a specific time" do
|
||||||
|
+ request = search_request('meta.timestamp.ne' => @now - 3600*1)
|
||||||
|
+ terminus.search(request).should == ["bar","bat","baz"]
|
||||||
|
+ end
|
||||||
|
+
|
||||||
|
+ it "should perform strict searches on nodes by timestamp" do
|
||||||
|
+ request = search_request('meta.timestamp.gt' => @now - 3600*5,
|
||||||
|
+ 'meta.timestamp.lt' => @now - 3600*1)
|
||||||
|
+ terminus.search(request).should == ["bar"]
|
||||||
|
+ end
|
||||||
|
+
|
||||||
|
+ it "should search nodes based on both facts and timestamp values" do
|
||||||
|
+ request = search_request('facts.uptime_days.gt' => '45',
|
||||||
|
+ 'meta.timestamp.lt' => @now - 3600*4)
|
||||||
|
+ terminus.search(request).should == ["baz"]
|
||||||
|
+ end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
- describe "#find" do
|
||||||
|
- before do
|
||||||
|
- @foo_facts = Puppet::Node::Facts.new("foo", "uptime_days" => "60", "kernel" => "Darwin")
|
||||||
|
- @bar_facts = Puppet::Node::Facts.new("bar", "uptime_days" => "30", "kernel" => "Linux")
|
||||||
|
- Puppet::Node::Facts.indirection.save(@foo_facts)
|
||||||
|
- Puppet::Node::Facts.indirection.save(@bar_facts)
|
||||||
|
- end
|
||||||
|
-
|
||||||
|
- it "should identify facts by node name" do
|
||||||
|
- Puppet::Node::Facts.indirection.find("foo").should == @foo_facts
|
||||||
|
- end
|
||||||
|
-
|
||||||
|
- it "should return nil if no node instance can be found" do
|
||||||
|
- Puppet::Node::Facts.indirection.find("non-existent node").should == nil
|
||||||
|
- end
|
||||||
|
- end
|
||||||
|
-
|
||||||
|
- describe "#search" do
|
||||||
|
- def search_request(conditions)
|
||||||
|
- Puppet::Indirector::Request.new(:facts, :search, nil, nil, conditions)
|
||||||
|
- end
|
||||||
|
-
|
||||||
|
- before :each do
|
||||||
|
- @now = Time.now
|
||||||
|
- @foo = Puppet::Node::Facts.new("foo", "fact1" => "value1", "fact2" => "value2", "uptime_days" => "30")
|
||||||
|
- @bar = Puppet::Node::Facts.new("bar", "fact1" => "value1", "uptime_days" => "60")
|
||||||
|
- @baz = Puppet::Node::Facts.new("baz", "fact1" => "value2", "fact2" => "value1", "uptime_days" => "90")
|
||||||
|
- @bat = Puppet::Node::Facts.new("bat")
|
||||||
|
- @foo.timestamp = @now - 3600*1
|
||||||
|
- @bar.timestamp = @now - 3600*3
|
||||||
|
- @baz.timestamp = @now - 3600*5
|
||||||
|
- @bat.timestamp = @now - 3600*7
|
||||||
|
- [@foo, @bar, @baz, @bat].each {|facts| Puppet::Node::Facts.indirection.save(facts)}
|
||||||
|
- end
|
||||||
|
-
|
||||||
|
- it "should return node names that match 'equal' constraints" do
|
||||||
|
- request = search_request('facts.fact1.eq' => 'value1',
|
||||||
|
- 'facts.fact2.eq' => 'value2')
|
||||||
|
- terminus.search(request).should == ["foo"]
|
||||||
|
- end
|
||||||
|
-
|
||||||
|
- it "should return node names that match 'not equal' constraints" do
|
||||||
|
- request = search_request('facts.fact1.ne' => 'value2')
|
||||||
|
- terminus.search(request).should == ["bar","foo"]
|
||||||
|
- end
|
||||||
|
-
|
||||||
|
- it "should return node names that match strict inequality constraints" do
|
||||||
|
- request = search_request('facts.uptime_days.gt' => '20',
|
||||||
|
- 'facts.uptime_days.lt' => '70')
|
||||||
|
- terminus.search(request).should == ["bar","foo"]
|
||||||
|
- end
|
||||||
|
-
|
||||||
|
- it "should return node names that match non-strict inequality constraints" do
|
||||||
|
- request = search_request('facts.uptime_days.ge' => '30',
|
||||||
|
- 'facts.uptime_days.le' => '60')
|
||||||
|
- terminus.search(request).should == ["bar","foo"]
|
||||||
|
- end
|
||||||
|
-
|
||||||
|
- it "should return node names whose facts are within a given timeframe" do
|
||||||
|
- request = search_request('meta.timestamp.ge' => @now - 3600*5,
|
||||||
|
- 'meta.timestamp.le' => @now - 3600*1)
|
||||||
|
- terminus.search(request).should == ["bar","baz","foo"]
|
||||||
|
- end
|
||||||
|
-
|
||||||
|
- it "should return node names whose facts are from a specific time" do
|
||||||
|
- request = search_request('meta.timestamp.eq' => @now - 3600*3)
|
||||||
|
- terminus.search(request).should == ["bar"]
|
||||||
|
- end
|
||||||
|
-
|
||||||
|
- it "should return node names whose facts are not from a specific time" do
|
||||||
|
- request = search_request('meta.timestamp.ne' => @now - 3600*1)
|
||||||
|
- terminus.search(request).should == ["bar","bat","baz"]
|
||||||
|
- end
|
||||||
|
-
|
||||||
|
- it "should perform strict searches on nodes by timestamp" do
|
||||||
|
- request = search_request('meta.timestamp.gt' => @now - 3600*5,
|
||||||
|
- 'meta.timestamp.lt' => @now - 3600*1)
|
||||||
|
- terminus.search(request).should == ["bar"]
|
||||||
|
- end
|
||||||
|
-
|
||||||
|
- it "should search nodes based on both facts and timestamp values" do
|
||||||
|
- request = search_request('facts.uptime_days.gt' => '45',
|
||||||
|
- 'meta.timestamp.lt' => @now - 3600*4)
|
||||||
|
- terminus.search(request).should == ["baz"]
|
||||||
|
+ context "under Ruby 2.x", :if => RUBY_VERSION[0] == '2' do
|
||||||
|
+ describe "#initialize" do
|
||||||
|
+ it "should raise error under Ruby 2" do
|
||||||
|
+ lambda { terminus }.should raise_error(Puppet::Error, /Ruby 2/)
|
||||||
|
+ end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
-
|
||||||
|
diff --git a/spec/unit/provider/user/directoryservice_spec.rb b/spec/unit/provider/user/directoryservice_spec.rb
|
||||||
|
index 7be6399..6534147 100755
|
||||||
|
--- a/spec/unit/provider/user/directoryservice_spec.rb
|
||||||
|
+++ b/spec/unit/provider/user/directoryservice_spec.rb
|
||||||
|
@@ -1,4 +1,5 @@
|
||||||
|
#! /usr/bin/env ruby -S rspec
|
||||||
|
+# encoding: ASCII-8BIT
|
||||||
|
require 'spec_helper'
|
||||||
|
require 'facter/util/plist'
|
||||||
|
|
||||||
|
diff --git a/spec/unit/ssl/certificate_authority_spec.rb b/spec/unit/ssl/certificate_authority_spec.rb
|
||||||
|
index 3315243..9d007a3 100755
|
||||||
|
--- a/spec/unit/ssl/certificate_authority_spec.rb
|
||||||
|
+++ b/spec/unit/ssl/certificate_authority_spec.rb
|
||||||
|
@@ -1,4 +1,5 @@
|
||||||
|
#! /usr/bin/env ruby
|
||||||
|
+# encoding: ASCII-8BIT
|
||||||
|
require 'spec_helper'
|
||||||
|
|
||||||
|
require 'puppet/ssl/certificate_authority'
|
||||||
|
diff --git a/spec/unit/transaction/event_spec.rb b/spec/unit/transaction/event_spec.rb
|
||||||
|
index 579540d..2a51936 100755
|
||||||
|
--- a/spec/unit/transaction/event_spec.rb
|
||||||
|
+++ b/spec/unit/transaction/event_spec.rb
|
||||||
|
@@ -3,10 +3,19 @@ require 'spec_helper'
|
||||||
|
|
||||||
|
require 'puppet/transaction/event'
|
||||||
|
|
||||||
|
+class TestResource
|
||||||
|
+ def to_s
|
||||||
|
+ "Foo[bar]"
|
||||||
|
+ end
|
||||||
|
+ def [](v)
|
||||||
|
+ nil
|
||||||
|
+ end
|
||||||
|
+end
|
||||||
|
+
|
||||||
|
describe Puppet::Transaction::Event do
|
||||||
|
include PuppetSpec::Files
|
||||||
|
|
||||||
|
- [:previous_value, :desired_value, :property, :resource, :name, :message, :file, :line, :tags, :audited].each do |attr|
|
||||||
|
+ [:previous_value, :desired_value, :property, :name, :message, :file, :line, :tags, :audited].each do |attr|
|
||||||
|
it "should support #{attr}" do
|
||||||
|
event = Puppet::Transaction::Event.new
|
||||||
|
event.send(attr.to_s + "=", "foo")
|
||||||
|
@@ -14,12 +23,18 @@ describe Puppet::Transaction::Event do
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
+ it "should support resource" do
|
||||||
|
+ event = Puppet::Transaction::Event.new
|
||||||
|
+ event.resource = TestResource.new
|
||||||
|
+ event.resource.should == "Foo[bar]"
|
||||||
|
+ end
|
||||||
|
+
|
||||||
|
it "should always convert the property to a string" do
|
||||||
|
Puppet::Transaction::Event.new(:property => :foo).property.should == "foo"
|
||||||
|
end
|
||||||
|
|
||||||
|
it "should always convert the resource to a string" do
|
||||||
|
- Puppet::Transaction::Event.new(:resource => :foo).resource.should == "foo"
|
||||||
|
+ Puppet::Transaction::Event.new(:resource => TestResource.new).resource.should == "Foo[bar]"
|
||||||
|
end
|
||||||
|
|
||||||
|
it "should produce the message when converted to a string" do
|
||||||
|
@@ -99,17 +114,17 @@ describe Puppet::Transaction::Event do
|
||||||
|
|
||||||
|
it "should use the source description as the source if one is set" do
|
||||||
|
Puppet::Util::Log.expects(:new).with { |args| args[:source] == "/my/param" }
|
||||||
|
- Puppet::Transaction::Event.new(:source_description => "/my/param", :resource => "Foo[bar]", :property => "foo").send_log
|
||||||
|
+ Puppet::Transaction::Event.new(:source_description => "/my/param", :resource => TestResource.new, :property => "foo").send_log
|
||||||
|
end
|
||||||
|
|
||||||
|
it "should use the property as the source if one is available and no source description is set" do
|
||||||
|
Puppet::Util::Log.expects(:new).with { |args| args[:source] == "foo" }
|
||||||
|
- Puppet::Transaction::Event.new(:resource => "Foo[bar]", :property => "foo").send_log
|
||||||
|
+ Puppet::Transaction::Event.new(:resource => TestResource.new, :property => "foo").send_log
|
||||||
|
end
|
||||||
|
|
||||||
|
it "should use the property as the source if one is available and no property or source description is set" do
|
||||||
|
Puppet::Util::Log.expects(:new).with { |args| args[:source] == "Foo[bar]" }
|
||||||
|
- Puppet::Transaction::Event.new(:resource => "Foo[bar]").send_log
|
||||||
|
+ Puppet::Transaction::Event.new(:resource => TestResource.new).send_log
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
diff --git a/spec/unit/util/execution_spec.rb b/spec/unit/util/execution_spec.rb
|
||||||
|
index 4390eba..1e7ac26 100755
|
||||||
|
--- a/spec/unit/util/execution_spec.rb
|
||||||
|
+++ b/spec/unit/util/execution_spec.rb
|
||||||
|
@@ -576,7 +576,7 @@ describe Puppet::Util::Execution do
|
||||||
|
it "should raise an error if a nil option is specified" do
|
||||||
|
expect {
|
||||||
|
Puppet::Util::Execution.execute('fail command', nil)
|
||||||
|
- }.to raise_error(TypeError, /can\'t convert nil into Hash/)
|
||||||
|
+ }.to raise_error(TypeError, /(can\'t convert|no implicit conversion of) nil into Hash/)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
Loading…
Reference in new issue