puppet-neutron/spec/unit/provider/neutron_l3_ovs_bridge/neutron_spec.rb

53 lines
1.4 KiB
Ruby

require 'puppet'
require 'spec_helper'
require 'puppet/provider/neutron_l3_ovs_bridge/neutron'
provider_class = Puppet::Type.type(:neutron_l3_ovs_bridge).provider(:neutron)
describe provider_class do
let :resource do
Puppet::Type::Neutron_l3_ovs_bridge.new(
:name => 'br-ex',
:subnet_name => 'subnet1'
)
end
let :provider do
provider_class.new(resource)
end
describe 'when retrieving bridge ip addresses' do
it 'should return an empty array for no matches' do
provider.expects(:ip).returns('')
expect(provider.bridge_ip_addresses).to eql []
end
it 'should return an array of addresses if matches are found' do
output = <<-EOT
122: br-ex: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN
link/ether d2:95:15:80:b5:4f brd ff:ff:ff:ff:ff:ff
inet 172.24.4.225/28 scope global br-ex
inet6 fe80::d095:15ff:fe80:b54f/64 scope link
valid_lft forever preferred_lft forever
EOT
provider.expects(:ip).returns(output)
expect(provider.bridge_ip_addresses).to eql ['172.24.4.225/28']
end
end
describe 'when checking if the l3 bridge exists' do
it 'should return true if the gateway ip is present' do
provider.expects(:bridge_ip_addresses).returns(['a'])
provider.expects(:gateway_ip).returns('a')
expect(provider.exists?).to eql true
end
end
end