summaryrefslogtreecommitdiffstats
path: root/spec
diff options
context:
space:
mode:
authorMatt Robinson <matt@puppetlabs.com>2010-09-23 16:29:58 -0700
committerMarkus Roberts <Markus@reality.com>2010-09-29 14:12:25 -0700
commite9f9d26ff24f0a951819c5300dbc482fabb0e82d (patch)
tree2d885557790ee0b287ee0d4990709c5168d02a85 /spec
parent34f87cfd74e5c93365da11a5e676f513e8819196 (diff)
downloadpuppet-e9f9d26ff24f0a951819c5300dbc482fabb0e82d.tar.gz
puppet-e9f9d26ff24f0a951819c5300dbc482fabb0e82d.tar.xz
puppet-e9f9d26ff24f0a951819c5300dbc482fabb0e82d.zip
[#4783] (#4783) Fix RRDGraph report generation
The code made assumptions about report structure that weren't valid for 2.6.x. The change has been verified to work with 0.25.x and 2.6.x report formats. Paired with: Rein Henrichs
Diffstat (limited to 'spec')
-rw-r--r--spec/fixtures/yaml/report0.25.x.yaml64
-rw-r--r--spec/fixtures/yaml/report2.6.x.yaml190
-rw-r--r--spec/spec_helper.rb1
-rwxr-xr-xspec/unit/indirector/node/active_record_spec.rb1
-rw-r--r--spec/unit/reports/rrdgraph_spec.rb31
5 files changed, 286 insertions, 1 deletions
diff --git a/spec/fixtures/yaml/report0.25.x.yaml b/spec/fixtures/yaml/report0.25.x.yaml
new file mode 100644
index 000000000..ce6a64286
--- /dev/null
+++ b/spec/fixtures/yaml/report0.25.x.yaml
@@ -0,0 +1,64 @@
+--- !ruby/object:Puppet::Transaction::Report
+ host: mattmac.local
+ logs:
+ - !ruby/object:Puppet::Util::Log
+ level: !ruby/sym info
+ message: Applying configuration version '1285283846'
+ source: Puppet
+ tags:
+ - info
+ time: 2010-09-23 16:17:26.977750 -07:00
+ metrics:
+ time: !ruby/object:Puppet::Util::Metric
+ label: Time
+ name: time
+ values:
+ - - !ruby/sym config_retrieval
+ - Config retrieval
+ - 0.955046892166138
+ - - !ruby/sym schedule
+ - Schedule
+ - 0.00123691558837891
+ - - !ruby/sym total
+ - Total
+ - 0.956486701965332
+ - - !ruby/sym filebucket
+ - Filebucket
+ - 0.00020289421081543
+ resources: !ruby/object:Puppet::Util::Metric
+ label: Resources
+ name: resources
+ values:
+ - - !ruby/sym skipped
+ - Skipped
+ - 0
+ - - !ruby/sym scheduled
+ - Scheduled
+ - 7
+ - - !ruby/sym applied
+ - Applied
+ - 0
+ - - !ruby/sym restarted
+ - Restarted
+ - 0
+ - - !ruby/sym total
+ - Total
+ - 10
+ - - !ruby/sym failed_restarts
+ - Failed restarts
+ - 0
+ - - !ruby/sym out_of_sync
+ - Out of sync
+ - 0
+ - - !ruby/sym failed
+ - Failed
+ - 0
+ changes: !ruby/object:Puppet::Util::Metric
+ label: Changes
+ name: changes
+ values:
+ - - !ruby/sym total
+ - Total
+ - 0
+ records: {}
+ time: 2010-09-23 16:17:26.987789 -07:00 \ No newline at end of file
diff --git a/spec/fixtures/yaml/report2.6.x.yaml b/spec/fixtures/yaml/report2.6.x.yaml
new file mode 100644
index 000000000..dd4c3814e
--- /dev/null
+++ b/spec/fixtures/yaml/report2.6.x.yaml
@@ -0,0 +1,190 @@
+--- !ruby/object:Puppet::Transaction::Report
+ external_times:
+ !ruby/sym config_retrieval: 0.170313835144043
+ host: ubuntu1004desktop.localdomain
+ logs:
+ - !ruby/object:Puppet::Util::Log
+ level: !ruby/sym debug
+ message: Using cached certificate for ca
+ source: Puppet
+ tags:
+ - debug
+ time: 2010-09-23 15:44:06.244173 -07:00
+ version: &id001 2.6.1
+ - !ruby/object:Puppet::Util::Log
+ level: !ruby/sym debug
+ message: Using cached certificate for ubuntu1004desktop.localdomain
+ source: Puppet
+ tags:
+ - debug
+ time: 2010-09-23 15:44:06.244764 -07:00
+ version: *id001
+ - !ruby/object:Puppet::Util::Log
+ level: !ruby/sym debug
+ message: Using cached certificate_revocation_list for ca
+ source: Puppet
+ tags:
+ - debug
+ time: 2010-09-23 15:44:06.245677 -07:00
+ version: *id001
+ - !ruby/object:Puppet::Util::Log
+ level: !ruby/sym debug
+ message: "catalog supports formats: b64_zlib_yaml dot marshal pson raw yaml; using pson"
+ source: Puppet
+ tags:
+ - debug
+ time: 2010-09-23 15:44:06.247069 -07:00
+ version: *id001
+ - !ruby/object:Puppet::Util::Log
+ level: !ruby/sym info
+ message: Caching catalog for ubuntu1004desktop.localdomain
+ source: Puppet
+ tags:
+ - info
+ time: 2010-09-23 15:44:06.409109 -07:00
+ version: *id001
+ - !ruby/object:Puppet::Util::Log
+ level: !ruby/sym debug
+ message: Creating default schedules
+ source: Puppet
+ tags:
+ - debug
+ time: 2010-09-23 15:44:06.418755 -07:00
+ version: *id001
+ - !ruby/object:Puppet::Util::Log
+ level: !ruby/sym debug
+ message: Loaded state in 0.00 seconds
+ source: Puppet
+ tags:
+ - debug
+ time: 2010-09-23 15:44:06.427441 -07:00
+ version: *id001
+ - !ruby/object:Puppet::Util::Log
+ level: !ruby/sym info
+ message: Applying configuration version '1285281846'
+ source: Puppet
+ tags:
+ - info
+ time: 2010-09-23 15:44:06.429532 -07:00
+ version: *id001
+ metrics:
+ time: !ruby/object:Puppet::Util::Metric
+ label: Time
+ name: time
+ values:
+ - - config_retrieval
+ - Config retrieval
+ - 0.170313835144043
+ - - schedule
+ - Schedule
+ - 0.00077
+ - - filebucket
+ - Filebucket
+ - 0.000166
+ resources: !ruby/object:Puppet::Util::Metric
+ label: Resources
+ name: resources
+ values:
+ - - !ruby/sym total
+ - Total
+ - 7
+ events: !ruby/object:Puppet::Util::Metric
+ label: Events
+ name: events
+ values:
+ - - !ruby/sym total
+ - Total
+ - 0
+ changes: !ruby/object:Puppet::Util::Metric
+ label: Changes
+ name: changes
+ values:
+ - - !ruby/sym total
+ - Total
+ - 0
+ resource_statuses:
+ "Schedule[monthly]": !ruby/object:Puppet::Resource::Status
+ evaluation_time: 0.000121
+ events: []
+ file:
+ line:
+ resource: "Schedule[monthly]"
+ source_description: "/Schedule[monthly]"
+ tags:
+ - schedule
+ - monthly
+ time: 2010-09-23 15:44:06.430577 -07:00
+ version: 1285281846
+ "Filebucket[puppet]": !ruby/object:Puppet::Resource::Status
+ evaluation_time: 0.000166
+ events: []
+ file:
+ line:
+ resource: "Filebucket[puppet]"
+ source_description: "/Filebucket[puppet]"
+ tags:
+ - filebucket
+ - puppet
+ time: 2010-09-23 15:44:06.430998 -07:00
+ version: 1285281846
+ "Schedule[never]": !ruby/object:Puppet::Resource::Status
+ evaluation_time: 0.000119
+ events: []
+ file:
+ line:
+ resource: "Schedule[never]"
+ source_description: "/Schedule[never]"
+ tags:
+ - schedule
+ - never
+ time: 2010-09-23 15:44:06.433034 -07:00
+ version: 1285281846
+ "Schedule[weekly]": !ruby/object:Puppet::Resource::Status
+ evaluation_time: 0.000118
+ events: []
+ file:
+ line:
+ resource: "Schedule[weekly]"
+ source_description: "/Schedule[weekly]"
+ tags:
+ - schedule
+ - weekly
+ time: 2010-09-23 15:44:06.431443 -07:00
+ version: 1285281846
+ "Schedule[puppet]": !ruby/object:Puppet::Resource::Status
+ evaluation_time: 0.000129
+ events: []
+ file:
+ line:
+ resource: "Schedule[puppet]"
+ source_description: "/Schedule[puppet]"
+ tags:
+ - schedule
+ - puppet
+ time: 2010-09-23 15:44:06.432626 -07:00
+ version: 1285281846
+ "Schedule[daily]": !ruby/object:Puppet::Resource::Status
+ evaluation_time: 0.000154
+ events: []
+ file:
+ line:
+ resource: "Schedule[daily]"
+ source_description: "/Schedule[daily]"
+ tags:
+ - schedule
+ - daily
+ time: 2010-09-23 15:44:06.430130 -07:00
+ version: 1285281846
+ "Schedule[hourly]": !ruby/object:Puppet::Resource::Status
+ evaluation_time: 0.000129
+ events: []
+ file:
+ line:
+ resource: "Schedule[hourly]"
+ source_description: "/Schedule[hourly]"
+ tags:
+ - schedule
+ - hourly
+ time: 2010-09-23 15:44:06.432185 -07:00
+ version: 1285281846
+ time: 2010-09-23 15:44:05.894401 -07:00 \ No newline at end of file
diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb
index 2fe0c36a3..b5b273857 100644
--- a/spec/spec_helper.rb
+++ b/spec/spec_helper.rb
@@ -20,6 +20,7 @@ module PuppetSpec
FIXTURE_DIR = File.join(dir = File.expand_path(File.dirname(__FILE__)), "fixtures") unless defined?(FIXTURE_DIR)
end
+require 'spec/lib/puppet_spec/files'
require 'monkey_patches/alias_should_to_must'
require 'monkey_patches/add_confine_and_runnable_to_rspec_dsl'
require 'monkey_patches/publicize_methods'
diff --git a/spec/unit/indirector/node/active_record_spec.rb b/spec/unit/indirector/node/active_record_spec.rb
index 6cc3f5132..3540ef738 100755
--- a/spec/unit/indirector/node/active_record_spec.rb
+++ b/spec/unit/indirector/node/active_record_spec.rb
@@ -3,7 +3,6 @@
require File.dirname(__FILE__) + '/../../../spec_helper'
require 'puppet/node'
-require 'spec/lib/puppet_spec/files.rb'
describe "Puppet::Node::ActiveRecord" do
include PuppetSpec::Files
diff --git a/spec/unit/reports/rrdgraph_spec.rb b/spec/unit/reports/rrdgraph_spec.rb
new file mode 100644
index 000000000..ce2cf7905
--- /dev/null
+++ b/spec/unit/reports/rrdgraph_spec.rb
@@ -0,0 +1,31 @@
+#!/usr/bin/env ruby
+
+Dir.chdir(File.dirname(__FILE__)) { (s = lambda { |f| File.exist?(f) ? require(f) : Dir.chdir("..") { s.call(f) } }).call("spec/spec_helper.rb") }
+
+require 'puppet/reports'
+
+processor = Puppet::Reports.report(:rrdgraph)
+
+describe processor do
+ include PuppetSpec::Files
+ before do
+ Puppet[:rrddir] = tmpdir('rrdgraph')
+ Puppet.settings.use :master
+ end
+
+ after do
+ FileUtils.rm_rf(Puppet[:rrddir])
+ end
+
+ it "should not error on 0.25.x report format" do
+ report = YAML.load_file(File.join(PuppetSpec::FIXTURE_DIR, 'yaml/report0.25.x.yaml')).extend processor
+ report.expects(:mkhtml)
+ lambda{ report.process }.should_not raise_error
+ end
+
+ it "should not error on 2.6.x report format" do
+ report = YAML.load_file(File.join(PuppetSpec::FIXTURE_DIR, 'yaml/report2.6.x.yaml')).extend processor
+ report.expects(:mkhtml)
+ lambda{ report.process }.should_not raise_error
+ end
+end