diff options
| -rw-r--r-- | lib/oxidized/node/stats.rb | 12 | ||||
| -rw-r--r-- | spec/node_spec.rb | 8 | 
2 files changed, 16 insertions, 4 deletions
| diff --git a/lib/oxidized/node/stats.rb b/lib/oxidized/node/stats.rb index e37e07a..c20a91a 100644 --- a/lib/oxidized/node/stats.rb +++ b/lib/oxidized/node/stats.rb @@ -23,6 +23,18 @@ module Oxidized          status ? @stats[status] : @stats        end +      def get_counter counter=nil +        counter ? @stats[:counter][counter] : @stats[:counter] +      end + +      def successes +        @stats[:counter][:success] +      end + +      def failures +        @stats[:counter].reduce(0) { |m,h| h[0] == :success ? m : m+h[1] } +      end +        private        def initialize diff --git a/spec/node_spec.rb b/spec/node_spec.rb index ba5b515..c7d28af 100644 --- a/spec/node_spec.rb +++ b/spec/node_spec.rb @@ -44,22 +44,22 @@ describe Oxidized::Node do      it 'should record the success' do        stub_oxidized_ssh -      before_successes = @node.stats.get(:success_count) +      before_successes = @node.stats.successes        j = Oxidized::Job.new @node        j.join        @node.stats.add j -      after_successes = @node.stats.get(:success_count) +      after_successes = @node.stats.successes        successes = after_successes - before_successes        successes.must_equal 1      end      it 'should record a failure' do        stub_oxidized_ssh_fail -      before_fails = @node.stats.get(:failure_count) +      before_fails = @node.stats.failures        j = Oxidized::Job.new @node        j.join        @node.stats.add j -      after_fails = @node.stats.get(:failure_count) +      after_fails = @node.stats.failures        fails = after_fails - before_fails        fails.must_equal 1      end | 
