Sha256: 3d2e293bc99fd5f1c4af4bd0e43b6ef16d62e921c9495fbcf47b88302f4961e4

Contents?: true

Size: 1.95 KB

Versions: 1

Compression:

Stored size: 1.95 KB

Contents

require 'spec_helper'

describe LitmusPaper::Metric::AvailableMemory do
  run_in_reactor

  describe "#current_health" do
    it "multiplies weight by memory available" do
      facter = StubFacter.new({"memorytotal" => "10 GB", "memoryfree" => "5 GB"})
      memory = LitmusPaper::Metric::AvailableMemory.new(50, facter)
      memory.current_health.should == 25
    end

    it "multiplies weight by memory available when handling floating point values" do
      facter = StubFacter.new({"memorytotal" => "2.0 GB", "memoryfree" => "1.8 GB"})
      memory = LitmusPaper::Metric::AvailableMemory.new(50, facter)
      memory.current_health.should == 44
    end

    describe "#memory_total" do
      it "is a positive integer" do
        metric = LitmusPaper::Metric::AvailableMemory.new(50)
        metric.memory_total.should > 1_000
      end

      it "handles floating point values properly" do
        facter = StubFacter.new("memorytotal" => "1.80 GB")
        memory = LitmusPaper::Metric::AvailableMemory.new(50, facter)
        memory.memory_total.should == 1932735283
      end

      it "is cached" do
        Facter.should_receive(:value).once.and_return("10 MB")
        metric = LitmusPaper::Metric::AvailableMemory.new(50)
        metric.memory_total
        metric.memory_total
        metric.memory_total
      end
    end

    describe "#memory_free" do
      it "is a positive integer" do
        metric = LitmusPaper::Metric::AvailableMemory.new(50)
        metric.memory_free.should > 100
      end

      it "handles floating point values properly" do
        facter = StubFacter.new("memoryfree" => "1.80 GB")
        memory = LitmusPaper::Metric::AvailableMemory.new(50, facter)
        memory.memory_free.should == 1932735283
      end
    end

    describe "#to_s" do
      it "is the name of the check and the max weight" do
        metric = LitmusPaper::Metric::AvailableMemory.new(50)
        metric.to_s.should == "Metric::AvailableMemory(50)"
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
litmus_paper-0.2.2 spec/litmus_paper/metric/available_memory_spec.rb