123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- require 'puppet'
- require 'puppet/provider/nova_floating/nova_manage'
- require 'tempfile'
- provider_class = Puppet::Type.type(:nova_floating).provider(:nova_manage)
- describe provider_class do
- let :range_attrs do
- {
- :ensure => 'present',
- :pool => 'nova',
- :network => '10.1.0.1-10.1.0.2',
- }
- end
- let :network_attrs do
- {
- :ensure => 'present',
- :pool => 'nova',
- :network => '11.1.0.0/30'
- }
- end
- let :resource_range do
- Puppet::Type::Nova_floating.new(range_attrs)
- end
- let :resource_network do
- Puppet::Type::Nova_floating.new(network_attrs)
- end
- let :provider_range do
- provider_class.new(resource_range)
- end
- let :provider_network do
- provider_class.new(resource_network)
- end
- shared_examples 'nova_floating' do
- describe '#exists?' do
- it 'should check if ips of a network are not existing' do
- provider_network.expects(:nova_manage).with('floating', 'list').returns('No floating IP addresses have been defined.')
- expect(provider_network.exists?).to be_falsey
- end
- it 'should check if ips of a network are existing' do
- provider_network.expects(:nova_manage).with('floating', 'list').returns('None 11.1.0.1 None nova br-ex\nNone 11.1.0.2 None nova br-ex')
- expect(provider_network.exists?).to be_truthy
- end
- it 'should check if ips are not existing' do
- provider_range.expects(:nova_manage).with('floating', 'list').returns('No floating IP addresses have been defined.')
- expect(provider_range.exists?).to be_falsey
- end
- it 'should check if ips are existing' do
- provider_range.expects(:nova_manage).with('floating', 'list').returns('None 10.1.0.1 None nova br-ex\nNone 10.1.0.2 None nova br-ex')
- expect(provider_range.exists?).to be_truthy
- end
- end
- describe '#create' do
- it 'should check if ips of network were created' do
- provider_network.expects(:nova_manage).with('floating', 'create', '--pool', 'nova', '11.1.0.0/30').returns('None 11.1.0.1 None nova br-ex\nNone 11.1.0.2 None nova br-ex')
- expect(provider_network.create).to be_truthy
- end
- it 'should check if ips of range were created' do
- provider_range.stubs(:nova_manage).with('floating', 'create', '10.1.0.1')
- provider_range.stubs(:nova_manage).with('floating', 'create', '10.1.0.2')
- provider_range.stubs(:nova_manage).with('floating', 'list').returns('None 10.1.0.1 None nova br-ex\nNone 10.1.0.2 None nova br-ex')
- expect(provider_range.create).to be_truthy
- end
- end
- describe '#destroy' do
- it 'should check if ips of network were deleted' do
- provider_network.expects(:nova_manage).with('floating', 'delete', '11.1.0.0/30').returns('No floating IP addresses have been defined.')
- expect(provider_network.destroy).to be_truthy
- end
- it 'should check if ips of range were deleted' do
- provider_range.stubs(:nova_manage).with('floating', 'delete', '10.1.0.1')
- provider_range.expects(:nova_manage).with('floating', 'list').returns('None 10.1.0.2 None nova br-ex')
- provider_range.stubs(:nova_manage).with('floating', 'delete', '10.1.0.2')
- provider_range.expects(:nova_manage).with('floating', 'list').returns('No floating IP addresses have been defined.')
- expect(provider_range.destroy).to be_truthy
- end
- end
- end
- it_behaves_like('nova_floating')
- end
|