summaryrefslogtreecommitdiffstats
path: root/spec/unit/memory_spec.rb
blob: fe4ec367a32a5ca9959578d8992015d74885e31f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#!/usr/bin/env ruby

require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')

require 'facter'

describe "Memory facts" do
    before do
        # We need these facts loaded, but they belong to a file with a
        # different name, so load the file explicitly.
        Facter.collection.loader.load(:memory)
    end

    after do
        Facter.clear
    end

    it "should return the current swap size" do

        Facter.fact(:kernel).stubs(:value).returns("Darwin")
        Facter::Util::Resolution.stubs(:exec).with('sysctl vm.swapusage').returns("vm.swapusage: total = 64.00M  used = 0.00M  free = 64.00M  (encrypted)")
        swapusage = "vm.swapusage: total = 64.00M  used = 0.00M  free = 64.00M  (encrypted)"

        if swapusage =~ /total = (\S+).*/
            Facter.fact(:swapfree).value.should == $1
        end
    end

    it "should return the current swap free" do
        Facter.fact(:kernel).stubs(:value).returns("Darwin")
        Facter::Util::Resolution.stubs(:exec).with('sysctl vm.swapusage').returns("vm.swapusage: total = 64.00M  used = 0.00M  free = 64.00M  (encrypted)")
        swapusage = "vm.swapusage: total = 64.00M  used = 0.00M  free = 64.00M  (encrypted)"

        if swapusage =~ /free = (\S+).*/
            Facter.fact(:swapfree).value.should == $1
        end
    end

    it "should return whether swap is encrypted" do
        Facter.fact(:kernel).stubs(:value).returns("Darwin")
        Facter::Util::Resolution.stubs(:exec).with('sysctl vm.swapusage').returns("vm.swapusage: total = 64.00M  used = 0.00M  free = 64.00M  (encrypted)")
        swapusage = "vm.swapusage: total = 64.00M  used = 0.00M  free = 64.00M  (encrypted)"

        swapusage =~ /\(encrypted\)/
	Facter.fact(:swapencrypted).value.should == true
    end
end