X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=3rdparty%2Fmodules%2Fopenstacklib%2Fspec%2Funit%2Fprovider%2Fopenstack_spec.rb;fp=3rdparty%2Fmodules%2Fopenstacklib%2Fspec%2Funit%2Fprovider%2Fopenstack_spec.rb;h=0000000000000000000000000000000000000000;hb=6e1426dc77fb4e5d51f07c187c6f2219431dc31e;hp=c9c22eed572b14422873a421b1a77135935284be;hpb=87423ba664cd5f2bb462ebadd08b1a90d0fe1c8d;p=mirror%2Fdsa-puppet.git diff --git a/3rdparty/modules/openstacklib/spec/unit/provider/openstack_spec.rb b/3rdparty/modules/openstacklib/spec/unit/provider/openstack_spec.rb deleted file mode 100644 index c9c22eed5..000000000 --- a/3rdparty/modules/openstacklib/spec/unit/provider/openstack_spec.rb +++ /dev/null @@ -1,89 +0,0 @@ -require 'puppet' -require 'spec_helper' -require 'puppet/provider/openstack' - -describe Puppet::Provider::Openstack do - before(:each) do - ENV['OS_USERNAME'] = nil - ENV['OS_PASSWORD'] = nil - ENV['OS_PROJECT_NAME'] = nil - ENV['OS_AUTH_URL'] = nil - end - - let(:type) do - Puppet::Type.newtype(:test_resource) do - newparam(:name, :namevar => true) - newparam(:log_file) - end - end - - describe '#request' do - let(:resource_attrs) do - { - :name => 'stubresource', - } - end - - let(:provider) do - Puppet::Provider::Openstack.new(type.new(resource_attrs)) - end - - it 'makes a successful request' do - provider.class.stubs(:openstack) - .with('project', 'list', '--quiet', '--format', 'csv', ['--long']) - .returns('"ID","Name","Description","Enabled" -"1cb05cfed7c24279be884ba4f6520262","test","Test tenant",True -') - response = Puppet::Provider::Openstack.request('project', 'list', ['--long']) - expect(response.first[:description]).to eq("Test tenant") - end - - context 'on connection errors' do - it 'retries' do - ENV['OS_USERNAME'] = 'test' - ENV['OS_PASSWORD'] = 'abc123' - ENV['OS_PROJECT_NAME'] = 'test' - ENV['OS_AUTH_URL'] = 'http://127.0.0.1:5000' - provider.class.stubs(:openstack) - .with('project', 'list', '--quiet', '--format', 'csv', ['--long']) - .raises(Puppet::ExecutionFailure, 'Unable to establish connection') - .then - .returns('') - provider.class.expects(:sleep).with(2).returns(nil) - Puppet::Provider::Openstack.request('project', 'list', ['--long']) - end - end - end - - describe 'parse_csv' do - context 'with mixed stderr' do - text = "ERROR: Testing\n\"field\",\"test\",1,2,3\n" - csv = Puppet::Provider::Openstack.parse_csv(text) - it 'should ignore non-CSV text at the beginning of the input' do - expect(csv).to be_kind_of(Array) - expect(csv[0]).to match_array(['field', 'test', '1', '2', '3']) - expect(csv.size).to eq(1) - end - end - - context 'with \r\n line endings' do - text = "ERROR: Testing\r\n\"field\",\"test\",1,2,3\r\n" - csv = Puppet::Provider::Openstack.parse_csv(text) - it 'ignore the carriage returns' do - expect(csv).to be_kind_of(Array) - expect(csv[0]).to match_array(['field', 'test', '1', '2', '3']) - expect(csv.size).to eq(1) - end - end - - context 'with embedded newlines' do - text = "ERROR: Testing\n\"field\",\"te\nst\",1,2,3\n" - csv = Puppet::Provider::Openstack.parse_csv(text) - it 'should parse correctly' do - expect(csv).to be_kind_of(Array) - expect(csv[0]).to match_array(['field', "te\nst", '1', '2', '3']) - expect(csv.size).to eq(1) - end - end - end -end