rubyipmi 0.6.0 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +15 -0
- data/Gemfile +5 -3
- data/README.md +24 -14
- data/Rakefile +82 -4
- data/VERSION +1 -1
- data/lib/rubyipmi.rb +36 -14
- data/lib/rubyipmi/commands/basecommand.rb +57 -119
- data/lib/rubyipmi/freeipmi/commands/basecommand.rb +29 -25
- data/lib/rubyipmi/freeipmi/commands/bmc.rb +3 -3
- data/lib/rubyipmi/freeipmi/commands/bmcconfig.rb +6 -6
- data/lib/rubyipmi/freeipmi/commands/bmcinfo.rb +3 -23
- data/lib/rubyipmi/freeipmi/commands/fru.rb +117 -23
- data/lib/rubyipmi/freeipmi/commands/lan.rb +32 -37
- data/lib/rubyipmi/freeipmi/commands/power.rb +1 -1
- data/lib/rubyipmi/freeipmi/commands/sensors.rb +53 -50
- data/lib/rubyipmi/freeipmi/connection.rb +16 -2
- data/lib/rubyipmi/freeipmi/errorcodes.rb +25 -2
- data/lib/rubyipmi/ipmitool/commands/basecommand.rb +20 -37
- data/lib/rubyipmi/ipmitool/commands/bmc.rb +1 -24
- data/lib/rubyipmi/ipmitool/commands/chassis.rb +1 -0
- data/lib/rubyipmi/ipmitool/commands/fru.rb +112 -30
- data/lib/rubyipmi/ipmitool/commands/lan.rb +55 -77
- data/lib/rubyipmi/ipmitool/commands/power.rb +10 -4
- data/lib/rubyipmi/ipmitool/commands/sensors.rb +53 -80
- data/lib/rubyipmi/ipmitool/connection.rb +19 -3
- data/lib/rubyipmi/ipmitool/errorcodes.rb +51 -3
- data/rubyipmi.gemspec +73 -33
- data/spec/Vagrantfile +45 -0
- data/spec/fixtures/freeipmi/bmc_config.txt +317 -0
- data/spec/fixtures/freeipmi/bmc_config_lan_conf.txt +19 -0
- data/spec/fixtures/freeipmi/bmc_info.txt +32 -0
- data/spec/fixtures/freeipmi/errors.txt +3 -0
- data/spec/fixtures/freeipmi/fru.txt +13 -0
- data/spec/fixtures/freeipmi/sensors.txt +29 -0
- data/spec/fixtures/ipmitool/bmc_info.txt +20 -0
- data/spec/fixtures/ipmitool/errors.txt +10 -0
- data/spec/fixtures/ipmitool/fru.txt +96 -0
- data/spec/fixtures/ipmitool/lan.txt +17 -0
- data/spec/fixtures/ipmitool/sensors.txt +105 -0
- data/spec/integration/bmc_spec.rb +49 -0
- data/spec/{chassis_config_spec.rb → integration/chassis_config_spec.rb} +6 -6
- data/spec/integration/chassis_spec.rb +26 -0
- data/spec/integration/connection_spec.rb +35 -0
- data/spec/{fru_spec.rb → integration/fru_spec.rb} +11 -10
- data/spec/{lan_spec.rb → integration/lan_spec.rb} +9 -7
- data/spec/integration/power_spec.rb +40 -0
- data/spec/{rubyipmi_spec.rb → integration/rubyipmi_spec.rb} +7 -10
- data/spec/{sensor_spec.rb → integration/sensor_spec.rb} +5 -20
- data/spec/manifests/default.pp +50 -0
- data/spec/puppetmodules/archive/LICENSE-2.0.txt +202 -0
- data/spec/puppetmodules/archive/Modulefile +8 -0
- data/spec/puppetmodules/archive/README.md +40 -0
- data/spec/puppetmodules/archive/manifests/download.pp +157 -0
- data/spec/puppetmodules/archive/manifests/extract.pp +81 -0
- data/spec/puppetmodules/archive/manifests/init.pp +70 -0
- data/spec/puppetmodules/archive/manifests/tar-gz.pp +7 -0
- data/spec/puppetmodules/archive/manifests/zip.pp +7 -0
- data/spec/puppetmodules/archive/metadata.json +26 -0
- data/spec/spec_helper.rb +35 -3
- data/spec/unit/freeipmi/bmc-info_spec.rb +42 -0
- data/spec/unit/freeipmi/bmc_spec.rb +44 -0
- data/spec/unit/freeipmi/connection_spec.rb +56 -0
- data/spec/unit/freeipmi/errorcodes_spec.rb +34 -0
- data/spec/unit/freeipmi/fru_spec.rb +77 -0
- data/spec/unit/freeipmi/lan_spec.rb +0 -0
- data/spec/unit/freeipmi/sensors_spec.rb +83 -0
- data/spec/unit/ipmitool/bmc_spec.rb +78 -0
- data/spec/unit/ipmitool/connection_spec.rb +58 -0
- data/spec/unit/ipmitool/errorcodes_spec.rb +34 -0
- data/spec/unit/ipmitool/fru_spec.rb +77 -0
- data/spec/unit/ipmitool/lan_spec.rb +93 -0
- data/spec/unit/ipmitool/sensors_spec.rb +95 -0
- data/spec/unit/rubyipmi_spec.rb +31 -0
- data/spec/vagrant +27 -0
- data/spec/vagrant.pub +1 -0
- metadata +157 -106
- data/.document +0 -5
- data/.rspec +0 -1
- data/Gemfile.lock +0 -33
- data/spec/bmc_spec.rb +0 -46
- data/spec/chassis_spec.rb +0 -26
- data/spec/connection_spec.rb +0 -31
- data/spec/power_spec.rb +0 -42
@@ -0,0 +1,42 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
|
2
|
+
|
3
|
+
|
4
|
+
|
5
|
+
describe "Bmc" do
|
6
|
+
before :all do
|
7
|
+
@path = '/usr/local/bin'
|
8
|
+
end
|
9
|
+
|
10
|
+
before :each do
|
11
|
+
allow_message_expectations_on_nil
|
12
|
+
provider = "freeipmi"
|
13
|
+
user = "ipmiuser"
|
14
|
+
pass = "impipass"
|
15
|
+
host = "ipmihost"
|
16
|
+
Rubyipmi.stub(:locate_command).with('ipmipower').and_return("#{@path}/ipmipower")
|
17
|
+
|
18
|
+
@conn = Rubyipmi.connect(user, pass, host, provider, true)
|
19
|
+
@bmcinfo = @conn.bmc.information
|
20
|
+
data = nil
|
21
|
+
File.open("spec/fixtures/#{provider}/bmc_info.txt",'r') do |file|
|
22
|
+
data = file.read
|
23
|
+
end
|
24
|
+
@bmcinfo.stub(:locate_command).with('bmc-info').and_return("#{@path}/bmc-info")
|
25
|
+
@bmcinfo.stub(:`).and_return(data)
|
26
|
+
$?.stub(:success?).and_return(true)
|
27
|
+
end
|
28
|
+
|
29
|
+
it "cmd should be bmc-info with correct number of arguments" do
|
30
|
+
@bmcinfo.retrieve
|
31
|
+
verify_freeipmi_command(@bmcinfo, 2, "#{@path}/bmc-info")
|
32
|
+
end
|
33
|
+
|
34
|
+
it "cmd should be bmc-info with correct number of arguments" do
|
35
|
+
@bmcinfo.guid
|
36
|
+
verify_freeipmi_command(@bmcinfo, 3, "#{@path}/bmc-info")
|
37
|
+
end
|
38
|
+
|
39
|
+
|
40
|
+
|
41
|
+
|
42
|
+
end
|
@@ -0,0 +1,44 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
|
2
|
+
|
3
|
+
|
4
|
+
|
5
|
+
describe "Bmc" do
|
6
|
+
before :all do
|
7
|
+
@path = '/usr/local/bin'
|
8
|
+
end
|
9
|
+
|
10
|
+
before :each do
|
11
|
+
allow_message_expectations_on_nil
|
12
|
+
provider = "freeipmi"
|
13
|
+
user = "ipmiuser"
|
14
|
+
pass = "impipass"
|
15
|
+
host = "ipmihost"
|
16
|
+
Rubyipmi.stub(:locate_command).with('ipmipower').and_return("#{@path}/ipmipower")
|
17
|
+
|
18
|
+
@conn = Rubyipmi.connect(user, pass, host, provider, true)
|
19
|
+
@bmc = @conn.bmc
|
20
|
+
data = nil
|
21
|
+
File.open("spec/fixtures/#{provider}/bmc_info.txt",'r') do |file|
|
22
|
+
data = file.read
|
23
|
+
end
|
24
|
+
@bmc.stub(:guid).and_return("guid")
|
25
|
+
@bmc.stub(:info).and_return("info")
|
26
|
+
end
|
27
|
+
|
28
|
+
it "bmc should not be nil" do
|
29
|
+
@bmc.should_not be nil
|
30
|
+
end
|
31
|
+
|
32
|
+
it "lan should not be nil" do
|
33
|
+
@bmc.lan.should_not be_nil
|
34
|
+
end
|
35
|
+
|
36
|
+
it "guid should not be nil" do
|
37
|
+
@bmc.guid.should_not be_nil
|
38
|
+
end
|
39
|
+
|
40
|
+
it "info should not be nill" do
|
41
|
+
@bmc.info.should_not be_nil
|
42
|
+
end
|
43
|
+
|
44
|
+
end
|
@@ -0,0 +1,56 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
|
6
|
+
describe "Bmc" do
|
7
|
+
|
8
|
+
before :all do
|
9
|
+
@path = '/usr/local/bin'
|
10
|
+
end
|
11
|
+
|
12
|
+
before :each do
|
13
|
+
|
14
|
+
provider = "freeipmi"
|
15
|
+
user = "ipmiuser"
|
16
|
+
pass = "impipass"
|
17
|
+
host = "ipmihost"
|
18
|
+
Rubyipmi.stub(:locate_command).with('ipmipower').and_return("#{@path}/ipmipower")
|
19
|
+
|
20
|
+
@conn = Rubyipmi.connect(user, pass, host, provider, true)
|
21
|
+
|
22
|
+
|
23
|
+
end
|
24
|
+
|
25
|
+
it "connection should not be nil" do
|
26
|
+
@conn.should_not be_nil
|
27
|
+
end
|
28
|
+
|
29
|
+
it "fru should not be nil" do
|
30
|
+
@conn.fru.should_not be_nil
|
31
|
+
end
|
32
|
+
|
33
|
+
it "provider should not be nil" do
|
34
|
+
@conn.provider.should_not be_nil
|
35
|
+
end
|
36
|
+
|
37
|
+
it "provider should be freeipmi" do
|
38
|
+
@conn.provider.should == "freeipmi"
|
39
|
+
end
|
40
|
+
|
41
|
+
it "bmc should not be nil" do
|
42
|
+
@conn.bmc.should_not be_nil
|
43
|
+
end
|
44
|
+
|
45
|
+
it "sensors should not be nil" do
|
46
|
+
@conn.sensors.should_not be_nil
|
47
|
+
|
48
|
+
end
|
49
|
+
|
50
|
+
it "chassis should not be nill" do
|
51
|
+
@conn.chassis.should_not be_nil
|
52
|
+
|
53
|
+
end
|
54
|
+
|
55
|
+
|
56
|
+
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
|
2
|
+
#require 'rubyipmi/Freeipmi/errorcodes'
|
3
|
+
|
4
|
+
describe "Errorcodes" do
|
5
|
+
|
6
|
+
|
7
|
+
|
8
|
+
it 'should return the length of fix hash' do
|
9
|
+
Rubyipmi::Freeipmi::ErrorCodes.length.should be >= 1
|
10
|
+
end
|
11
|
+
|
12
|
+
it 'should return a hash of codes' do
|
13
|
+
Rubyipmi::Freeipmi::ErrorCodes.code.should be_an_instance_of Hash
|
14
|
+
|
15
|
+
end
|
16
|
+
|
17
|
+
it 'should return a fix if code is found' do
|
18
|
+
code = 'authentication type unavailable for attempted privilege level'
|
19
|
+
Rubyipmi::Freeipmi::ErrorCodes.search(code).should eq({"driver-type" => "LAN_2_0"})
|
20
|
+
end
|
21
|
+
|
22
|
+
it 'should throw and error if no fix is found' do
|
23
|
+
code = 'Crap Shoot'
|
24
|
+
expect {Rubyipmi::Freeipmi::ErrorCodes.search(code)}.to raise_error
|
25
|
+
end
|
26
|
+
|
27
|
+
it 'should throw and error when a bad code is given' do
|
28
|
+
code = nil
|
29
|
+
expect {Rubyipmi::Freeipmi::ErrorCodes.search(code)}.to raise_error
|
30
|
+
end
|
31
|
+
|
32
|
+
|
33
|
+
|
34
|
+
end
|
@@ -0,0 +1,77 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
|
2
|
+
|
3
|
+
describe :Fru do
|
4
|
+
|
5
|
+
before :all do
|
6
|
+
@path = '/usr/local/bin'
|
7
|
+
end
|
8
|
+
|
9
|
+
before :each do
|
10
|
+
|
11
|
+
allow_message_expectations_on_nil
|
12
|
+
data = nil
|
13
|
+
provider = "freeipmi"
|
14
|
+
user = "ipmiuser"
|
15
|
+
pass = "impipass"
|
16
|
+
host = "ipmihost"
|
17
|
+
Rubyipmi.stub(:locate_command).with('ipmipower').and_return("#{@path}/ipmipower")
|
18
|
+
|
19
|
+
@conn = Rubyipmi.connect(user, pass, host, provider, true)
|
20
|
+
@fru = @conn.fru
|
21
|
+
File.open("spec/fixtures/#{provider}/fru.txt",'r') do |file|
|
22
|
+
data = file.read
|
23
|
+
end
|
24
|
+
|
25
|
+
@fru.stub(:locate_command).with('ipmi-fru').and_return("#{@path}/ipmi-fru")
|
26
|
+
@fru.stub(:`).and_return(data)
|
27
|
+
$?.stub(:success?).and_return(true)
|
28
|
+
end
|
29
|
+
|
30
|
+
it "cmd should be ipmi-fru with correct number of arguments" do
|
31
|
+
@fru.list
|
32
|
+
verify_freeipmi_command(@fru, 2, "#{@path}/ipmi-fru")
|
33
|
+
end
|
34
|
+
|
35
|
+
it 'should list data' do
|
36
|
+
@fru.names.count.should eq(1)
|
37
|
+
end
|
38
|
+
|
39
|
+
it 'should return a list of unparsed frus' do
|
40
|
+
@fru.getfrus.should_not be_nil
|
41
|
+
end
|
42
|
+
|
43
|
+
|
44
|
+
it "should return a list of parsed frus" do
|
45
|
+
@fru.list.count.should eq(1)
|
46
|
+
end
|
47
|
+
|
48
|
+
it 'should return a manufacturer' do
|
49
|
+
@fru.board_manufacturer.should eq('HP')
|
50
|
+
end
|
51
|
+
|
52
|
+
it 'should return a product' do
|
53
|
+
@fru.board_product_name.should eq('ProLiant DL380 G5')
|
54
|
+
end
|
55
|
+
|
56
|
+
it 'should return a chassis serial' do
|
57
|
+
@fru.chassis_serial_number.should eq('2UX64201U2')
|
58
|
+
end
|
59
|
+
|
60
|
+
it 'should return a board serial' do
|
61
|
+
@fru.board_serial_number.should eq('2UX64201U2')
|
62
|
+
end
|
63
|
+
|
64
|
+
it 'should return a list of fru names' do
|
65
|
+
@fru.names.count.should eq(1)
|
66
|
+
end
|
67
|
+
|
68
|
+
it 'should return a fru using method missing' do
|
69
|
+
@fru.names.each do |name|
|
70
|
+
fru = @fru.send(name)
|
71
|
+
fru.should be_an_instance_of(Rubyipmi::Freeipmi::FruData)
|
72
|
+
fru[:name].should eq(name)
|
73
|
+
|
74
|
+
end
|
75
|
+
end
|
76
|
+
|
77
|
+
end
|
File without changes
|
@@ -0,0 +1,83 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
|
2
|
+
describe :Sensors do
|
3
|
+
before :all do
|
4
|
+
@path = '/usr/local/bin'
|
5
|
+
end
|
6
|
+
|
7
|
+
before :each do
|
8
|
+
allow_message_expectations_on_nil
|
9
|
+
data = nil
|
10
|
+
provider = "freeipmi"
|
11
|
+
user = "ipmiuser"
|
12
|
+
pass = "impipass"
|
13
|
+
host = "ipmihost"
|
14
|
+
# this stub allows us to mock the command that would be used to verify provider installation
|
15
|
+
Rubyipmi.stub(:locate_command).with('ipmipower').and_return("#{@path}/ipmipower")
|
16
|
+
|
17
|
+
@conn = Rubyipmi.connect(user, pass, host, provider, true)
|
18
|
+
@sensors = @conn.sensors
|
19
|
+
File.open("spec/fixtures/#{provider}/sensors.txt",'r') do |file|
|
20
|
+
data = file.read
|
21
|
+
end
|
22
|
+
# this stub allows us to mock the command that is used with this test case
|
23
|
+
@sensors.stub(:locate_command).with('ipmi-sensors').and_return('/usr/local/bin/ipmi-sensors')
|
24
|
+
|
25
|
+
# these stubs allow us to run the command and return the fixtures
|
26
|
+
@sensors.stub(:`).and_return(data)
|
27
|
+
$?.stub(:success?).and_return(true)
|
28
|
+
|
29
|
+
end
|
30
|
+
|
31
|
+
it "cmd should be ipmi-sensors with six arguments" do
|
32
|
+
@sensors.list
|
33
|
+
verify_freeipmi_command(@sensors, 5, "#{@path}/ipmi-sensors")
|
34
|
+
end
|
35
|
+
|
36
|
+
it "can return a list of sensors" do
|
37
|
+
@sensors.list.should_not be_nil
|
38
|
+
end
|
39
|
+
|
40
|
+
it "should return a count of sensors" do
|
41
|
+
@sensors.count.should eq(29)
|
42
|
+
end
|
43
|
+
|
44
|
+
it "should return a list of fan names" do
|
45
|
+
@sensors.fanlist.count.should eq(13)
|
46
|
+
end
|
47
|
+
|
48
|
+
it 'should return a list of temp names' do
|
49
|
+
@sensors.templist.count.should.should eq(7)
|
50
|
+
end
|
51
|
+
|
52
|
+
it 'should return a list of sensor names as an array' do
|
53
|
+
@sensors.names.should be_an_instance_of(Array)
|
54
|
+
@sensors.names.count.should eq(29)
|
55
|
+
end
|
56
|
+
|
57
|
+
it 'should return an empty list if no data exists' do
|
58
|
+
@sensors.stub(:getsensors).and_return(nil)
|
59
|
+
@sensors.names.count.should eq(0)
|
60
|
+
end
|
61
|
+
|
62
|
+
it 'should return a sensor using method missing' do
|
63
|
+
@sensors.names.each do |name|
|
64
|
+
sensor = @sensors.send(name)
|
65
|
+
sensor.should be_an_instance_of(Rubyipmi::Freeipmi::Sensor)
|
66
|
+
sensor[:name].should eq(name)
|
67
|
+
end
|
68
|
+
end
|
69
|
+
|
70
|
+
#it 'fix should be added to options after error occurs' do
|
71
|
+
# error = nil
|
72
|
+
# File.open("spec/fixtures/freeipmi/errors.txt",'r') do |file|
|
73
|
+
# error = file.read
|
74
|
+
# end
|
75
|
+
# @sensors.stub(:`).and_return(error)
|
76
|
+
# $?.stub(:success?).and_return(false)
|
77
|
+
# @sensors.refresh
|
78
|
+
# after = @sensors.options.fetch('driver-type', false).should_not be_false
|
79
|
+
#end
|
80
|
+
|
81
|
+
|
82
|
+
end
|
83
|
+
|
@@ -0,0 +1,78 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
|
2
|
+
|
3
|
+
|
4
|
+
|
5
|
+
describe "Bmc" do
|
6
|
+
|
7
|
+
before :all do
|
8
|
+
@path = '/usr/local/bin'
|
9
|
+
end
|
10
|
+
|
11
|
+
before :each do
|
12
|
+
allow_message_expectations_on_nil
|
13
|
+
provider = "ipmitool"
|
14
|
+
user = "ipmiuser"
|
15
|
+
pass = "impipass"
|
16
|
+
host = "ipmihost"
|
17
|
+
Rubyipmi.stub(:locate_command).with('ipmitool').and_return("#{@path}/ipmitool")
|
18
|
+
@conn = Rubyipmi.connect(user, pass, host, provider, true)
|
19
|
+
@bmc = @conn.bmc
|
20
|
+
data = nil
|
21
|
+
File.open("spec/fixtures/#{provider}/bmc_info.txt",'r') do |file|
|
22
|
+
data = file.read
|
23
|
+
end
|
24
|
+
|
25
|
+
@bmc.stub(:locate_command).with('ipmitool').and_return("#{@path}/ipmitool")
|
26
|
+
@bmc.stub(:`).and_return(data)
|
27
|
+
$?.stub(:success?).and_return(true)
|
28
|
+
|
29
|
+
@bmc.stub(:guid).and_return("guid")
|
30
|
+
|
31
|
+
end
|
32
|
+
|
33
|
+
it "bmc should not be nil" do
|
34
|
+
@bmc.should_not be nil
|
35
|
+
end
|
36
|
+
|
37
|
+
it "lan should not be nil" do
|
38
|
+
@bmc.lan.should_not be_nil
|
39
|
+
end
|
40
|
+
|
41
|
+
it "guid should not be nil" do
|
42
|
+
@bmc.guid.should_not be_nil
|
43
|
+
end
|
44
|
+
|
45
|
+
it "info should not be nil" do
|
46
|
+
@bmc.info.should_not be_nil
|
47
|
+
end
|
48
|
+
|
49
|
+
it "info should parse as expected" do
|
50
|
+
@bmc.info.should eq(RETRIEVE)
|
51
|
+
end
|
52
|
+
|
53
|
+
end
|
54
|
+
|
55
|
+
RETRIEVE = {
|
56
|
+
'Device ID' => '17',
|
57
|
+
'Device Revision' => '1',
|
58
|
+
'Firmware Revision' => '2.9',
|
59
|
+
'IPMI Version' => '2.0',
|
60
|
+
'Manufacturer ID' => '11',
|
61
|
+
'Manufacturer Name' => 'Hewlett-Packard',
|
62
|
+
'Product ID' => '8192 (0x2000)',
|
63
|
+
'Product Name' => 'Unknown (0x2000)',
|
64
|
+
'Device Available' => 'yes',
|
65
|
+
'Provides Device SDRs' => 'yes',
|
66
|
+
'Additional Device Support' => [
|
67
|
+
'Sensor Device',
|
68
|
+
'SDR Repository Device',
|
69
|
+
'SEL Device',
|
70
|
+
'FRU Inventory Device'
|
71
|
+
],
|
72
|
+
'Aux Firmware Rev Info' => [
|
73
|
+
'0x00',
|
74
|
+
'0x00',
|
75
|
+
'0x00',
|
76
|
+
'0x30'
|
77
|
+
]
|
78
|
+
}
|
@@ -0,0 +1,58 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
|
2
|
+
|
3
|
+
describe :Connection do
|
4
|
+
|
5
|
+
before :all do
|
6
|
+
@path = '/usr/local/bin'
|
7
|
+
end
|
8
|
+
|
9
|
+
before :each do
|
10
|
+
provider = "ipmitool"
|
11
|
+
user = "ipmiuser"
|
12
|
+
pass = "impipass"
|
13
|
+
host = "ipmihost"
|
14
|
+
Rubyipmi.stub(:locate_command).with('ipmitool').and_return("#{@path}/ipmitool")
|
15
|
+
@conn = Rubyipmi.connect(user, pass, host, provider, true)
|
16
|
+
|
17
|
+
end
|
18
|
+
|
19
|
+
it "connection should not be nil" do
|
20
|
+
@conn.should_not be_nil
|
21
|
+
end
|
22
|
+
|
23
|
+
it "fru should not be nil" do
|
24
|
+
@conn.fru.should_not be_nil
|
25
|
+
end
|
26
|
+
|
27
|
+
it "provider should not be nil" do
|
28
|
+
@conn.provider.should_not be_nil
|
29
|
+
end
|
30
|
+
|
31
|
+
it "provider should be ipmitool" do
|
32
|
+
@conn.provider.should == "ipmitool"
|
33
|
+
end
|
34
|
+
|
35
|
+
it "bmc should not be nil" do
|
36
|
+
@conn.bmc.should_not be_nil
|
37
|
+
end
|
38
|
+
|
39
|
+
it "sensors should not be nil" do
|
40
|
+
@conn.sensors.should_not be_nil
|
41
|
+
|
42
|
+
end
|
43
|
+
|
44
|
+
it "chassis should not be nill" do
|
45
|
+
@conn.chassis.should_not be_nil
|
46
|
+
end
|
47
|
+
|
48
|
+
it "provider should return ipmitool" do
|
49
|
+
@conn.provider.should eq("ipmitool")
|
50
|
+
end
|
51
|
+
|
52
|
+
it "debug value should be true" do
|
53
|
+
@conn.debug.should be_true
|
54
|
+
end
|
55
|
+
|
56
|
+
|
57
|
+
|
58
|
+
end
|