12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- require 'puppet'
- require 'puppet/provider/nova_security_rule/nova'
- require 'tempfile'
- provider_class = Puppet::Type.type(:nova_security_rule).provider(:nova)
- describe provider_class do
- let :secrule_attrs do
- {
- :name => "scr0",
- :ip_protocol => "tcp",
- :from_port => '22',
- :to_port => '23',
- :ip_range => '0.0.0.0/0',
- :security_group => 'scg0'
- }
- end
- let :resource do
- Puppet::Type::Nova_security_rule.new(secrule_attrs)
- end
- let :provider do
- provider_class.new(resource)
- end
- shared_examples "nova_security_rule" do
- describe "#create" do
- it 'should create security rule' do
- provider.expects(:auth_nova).with('secgroup-add-rule', ['scg0', 'tcp', '22', '23', '0.0.0.0/0']).returns('+-------------+-----------+---------+-----------+--------------+\n| IP Protocol | From Port | To Port | IP Range | Source Group |\n+-------------+-----------+---------+-----------+--------------+\n| tcp | 22 | 23 | 0.0.0.0/0 | |\n+-------------+-----------+---------+-----------+--------------+')
- provider.create
- end
- end
- describe "#destroy" do
- it 'should destroy security rule' do
- provider.expects(:auth_nova).with('secgroup-delete-rule', ['scg0', 'tcp', '22', '23', '0.0.0.0/0']).returns('+-------------+-----------+---------+-----------+--------------+\n| IP Protocol | From Port | To Port | IP Range | Source Group |\n+-------------+-----------+---------+-----------+--------------+\n| tcp | 22 | 23 | 0.0.0.0/0 | |\n+-------------+-----------+---------+-----------+--------------+')
- provider.destroy
- end
- end
- end
- it_behaves_like('nova_security_rule')
- end
|