try again, with puppetforge modules, correctly included now
[mirror/dsa-puppet.git] / 3rdparty / modules / neutron / spec / unit / provider / neutron_l3_ovs_bridge / neutron_spec.rb
1 require 'puppet'
2 require 'spec_helper'
3 require 'puppet/provider/neutron_l3_ovs_bridge/neutron'
4
5 provider_class = Puppet::Type.type(:neutron_l3_ovs_bridge).provider(:neutron)
6
7 describe provider_class do
8
9   let :resource do
10     Puppet::Type::Neutron_l3_ovs_bridge.new(
11       :name        => 'br-ex',
12       :subnet_name => 'subnet1'
13     )
14   end
15
16   let :provider do
17     provider_class.new(resource)
18   end
19
20
21   describe 'when retrieving bridge ip addresses' do
22
23     it 'should return an empty array for no matches' do
24       provider.expects(:ip).returns('')
25       provider.bridge_ip_addresses.should eql []
26     end
27
28     it 'should return an array of addresses if matches are found' do
29       output = <<-EOT
30 122: br-ex: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN
31     link/ether d2:95:15:80:b5:4f brd ff:ff:ff:ff:ff:ff
32     inet 172.24.4.225/28 scope global br-ex
33     inet6 fe80::d095:15ff:fe80:b54f/64 scope link
34        valid_lft forever preferred_lft forever
35 EOT
36       provider.expects(:ip).returns(output)
37       provider.bridge_ip_addresses.should eql ['172.24.4.225/28']
38     end
39
40   end
41
42   describe 'when checking if the l3 bridge exists' do
43
44     it 'should return true if the gateway ip is present' do
45       provider.expects(:bridge_ip_addresses).returns(['a'])
46       provider.expects(:gateway_ip).returns('a')
47       provider.exists?.should eql true
48     end
49
50   end
51
52 end