Project

General

Profile

Download (1.62 KB) Statistics
| Branch: | Tag: | Revision:
require 'test_helper'

class BMCTest < ActiveSupport::TestCase
test 'lowercase IPMI provider string gets set to uppercase' do
host = FactoryGirl.build(:host, :managed)
assert FactoryGirl.build(:nic_bmc, :host => host, :provider => 'ipmi').valid?
end

test 'upcasing provider does not fail if provider is not present' do
host = FactoryGirl.build(:host, :managed)
assert_nothing_raised do
FactoryGirl.build(:nic_bmc, :host => host, :provider => nil).valid?
end
end

context "no BMC smart proxy exists" do
def setup
SmartProxy.with_features('BMC').destroy_all
end

test 'requires BMC proxy without subnet' do
host = FactoryGirl.build(:host, :managed)
bmc_nic = FactoryGirl.build(:nic_bmc, :host => host)
host.interfaces << bmc_nic
refute_with_errors bmc_nic.valid?, bmc_nic, :type, /no proxy/
end

test 'requires BMC proxy in the same subnet' do
host = FactoryGirl.build(:host, :managed)
bmc_nic = FactoryGirl.build(:nic_bmc, :with_subnet, :host => host)
host.interfaces << bmc_nic
refute_with_errors bmc_nic.valid?, bmc_nic, :type, /no proxy/
end

test 'BMC proxy not required, if NIC is not managed' do
host = FactoryGirl.build(:host, :managed)
bmc_nic = FactoryGirl.build(:nic_bmc, :managed => false)
host.interfaces << bmc_nic
assert bmc_nic.valid?
end

test 'BMC proxy not required, if host is not managed' do
host = FactoryGirl.build(:host, :managed => false)
bmc_nic = FactoryGirl.build(:nic_bmc, :host => host)
host.interfaces << bmc_nic
assert bmc_nic.valid?
end
end
end
(2-2/4)