X-Git-Url: https://review.fuel-infra.org/gitweb?a=blobdiff_plain;f=spec%2Fdefines%2Fkey_spec.rb;h=dbb67c4c57439beec2679ea7d2005448b74c9d55;hb=d6bdb4d9256415f38ac80a199afbaa8f6a7bad3a;hp=005c95e4698ab6c426186e4d23b39e8fc4a92cc3;hpb=943be409bdfe4bbf4d4331effc5e544d998b3290;p=puppet-modules%2Fpuppetlabs-apt.git diff --git a/spec/defines/key_spec.rb b/spec/defines/key_spec.rb index 005c95e..dbb67c4 100644 --- a/spec/defines/key_spec.rb +++ b/spec/defines/key_spec.rb @@ -10,12 +10,6 @@ describe 'apt::key', :type => :define do describe 'normal operation' do describe 'default options' do - it 'contains the apt::key' do - should contain_apt__key(title).with({ - :key => title, - :ensure => 'present', - }) - end it 'contains the apt_key' do should contain_apt_key(title).with({ :id => title, @@ -40,12 +34,6 @@ describe 'apt::key', :type => :define do :key => GPG_KEY_ID, } end - it 'contains the apt::key' do - should contain_apt__key(title).with({ - :key => GPG_KEY_ID, - :ensure => 'present', - }) - end it 'contains the apt_key' do should contain_apt_key(title).with({ :id => GPG_KEY_ID, @@ -66,12 +54,6 @@ describe 'apt::key', :type => :define do :ensure => 'absent', } end - it 'contains the apt::key' do - should contain_apt__key(title).with({ - :key => title, - :ensure => 'absent', - }) - end it 'contains the apt_key' do should contain_apt_key(title).with({ :id => title, @@ -87,26 +69,22 @@ describe 'apt::key', :type => :define do end end - describe 'key_content =>' do + describe 'set a bunch of things!' do let :params do { :key_content => 'GPG key content', + :key_source => 'http://apt.puppetlabs.com/pubkey.gpg', + :key_server => 'pgp.mit.edu', + :key_options => 'debug', } end - it 'contains the apt::key' do - should contain_apt__key(title).with({ - :key => title, - :ensure => 'present', - :key_content => params[:key_content], - }) - end it 'contains the apt_key' do should contain_apt_key(title).with({ :id => title, :ensure => 'present', - :source => nil, - :server => nil, + :source => 'http://apt.puppetlabs.com/pubkey.gpg', + :server => 'pgp.mit.edu', :content => params[:key_content], - :keyserver_options => nil, + :keyserver_options => 'debug', }) end it 'contains the apt_key present anchor' do @@ -114,217 +92,131 @@ describe 'apt::key', :type => :define do end end - describe 'key_source =>' do - let :params do { - :key_source => 'http://apt.puppetlabs.com/pubkey.gpg', + context "domain with dash" do + let(:params) do{ + :key_server => 'p-gp.m-it.edu', } end - - it 'contains the apt::key' do - should contain_apt__key(title).with({ - :key => title, - :ensure => 'present', - :key_source => params[:key_source], + it 'contains the apt_key' do + should contain_apt_key(title).with({ + :id => title, + :server => 'p-gp.m-it.edu', }) end + end + + context "url" do + let :params do + { + :key_server => 'hkp://pgp.mit.edu', + } + end it 'contains the apt_key' do should contain_apt_key(title).with({ - :id => title, - :ensure => 'present', - :source => params[:key_source], - :server => nil, - :content => nil, - :keyserver_options => nil, + :id => title, + :server => 'hkp://pgp.mit.edu', }) end - it 'contains the apt_key present anchor' do - should contain_anchor("apt_key #{title} present") - end end - - describe 'key_server =>' do - context 'domain name' do - let :params do { - :key_server => 'pgp.mit.edu', - } end - - it 'contains the apt::key' do - should contain_apt__key(title).with({ - :key => title, - :ensure => 'present', - :key_server => 'pgp.mit.edu', - }) - end - it 'contains the apt_key' do - should contain_apt_key(title).with({ - :id => title, - :ensure => 'present', - :source => nil, - :server => params[:key_server], - :content => nil, - :keyserver_options => nil, - }) - end - it 'contains the apt_key present anchor' do - should contain_anchor("apt_key #{title} present") - end - end - - context "domain with dash" do - let(:params) do{ - :key_server => 'p-gp.m-it.edu', - } end - it "should contain apt::key" do - should contain_apt__key(title).with({ - :key => title, - :ensure => 'present', - :key_server => 'p-gp.m-it.edu', - }) - end + context "url with port number" do + let :params do + { + :key_server => 'hkp://pgp.mit.edu:80', + } end - - context "domain begin with dash" do - let(:params) do{ - :key_server => '-pgp.mit.edu', - } end - it 'fails' do - expect { subject } .to raise_error(/does not match/) - end + it 'contains the apt_key' do + should contain_apt_key(title).with({ + :id => title, + :server => 'hkp://pgp.mit.edu:80', + }) end + end + end - context "domain begin with dot" do - let(:params) do{ - :key_server => '.pgp.mit.edu', - } end - it 'fails' do - expect { subject } .to raise_error(/does not match/) - end + describe 'validation' do + context "domain begin with dash" do + let(:params) do{ + :key_server => '-pgp.mit.edu', + } end + it 'fails' do + expect { subject } .to raise_error(/does not match/) end + end - context "domain end with dot" do - let(:params) do{ - :key_server => "pgp.mit.edu.", - } end - it 'fails' do - expect { subject } .to raise_error(/does not match/) - end + context "domain begin with dot" do + let(:params) do{ + :key_server => '.pgp.mit.edu', + } end + it 'fails' do + expect { subject } .to raise_error(/does not match/) end + end - context "url" do - let (:params) do{ - :key_server => 'hkp://pgp.mit.edu', - } end - it "should contain apt::key" do - should contain_apt__key(title).with({ - :key => title, - :ensure => 'present', - :key_server => 'hkp://pgp.mit.edu', - }) - end + context "domain end with dot" do + let(:params) do{ + :key_server => "pgp.mit.edu.", + } end + it 'fails' do + expect { subject } .to raise_error(/does not match/) end - context "url with port number" do - let (:params) do{ - :key_server => 'hkp://pgp.mit.edu:80', - } end - it "should contain apt::key" do - should contain_apt__key(title).with({ - :key => title, - :ensure => 'present', - :key_server => 'hkp://pgp.mit.edu:80', - }) - end + end + context "exceed character url" do + let :params do + { + :key_server => 'hkp://pgpiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii.mit.edu' + } end - - context "incorrect port number url" do - let (:params) do{ + it 'fails' do + expect { subject }.to raise_error(/does not match/) + end + end + context "incorrect port number url" do + let :params do + { :key_server => 'hkp://pgp.mit.edu:8008080' - } end - it 'fails' do - expect { subject }.to raise_error(/does not match/) - end + } + end + it 'fails' do + expect { subject }.to raise_error(/does not match/) end - context "incorrect protocol for url" do - let (:params) do{ + end + context "incorrect protocol for url" do + let :params do + { :key_server => 'abc://pgp.mit.edu:80' - } end - it 'fails' do - expect { subject }.to raise_error(/does not match/) - end + } end - context "missing port number url" do - let (:params) do{ - :key_server => 'hkp://pgp.mit.edu:' - } end - it 'fails' do - expect { subject }.to raise_error(/does not match/) - end + it 'fails' do + expect { subject }.to raise_error(/does not match/) end - context "url ending with a dot" do - let (:params) do{ - :key_server => 'hkp://pgp.mit.edu.' - } end - it 'fails' do - expect { subject }.to raise_error(/does not match/) - end + end + context "missing port number url" do + let :params do + { + :key_server => 'hkp://pgp.mit.edu:' + } end - context "url begin with a dash" do - let(:params) do{ - :key_server => "hkp://-pgp.mit.edu", - } end - it 'fails' do - expect { subject }.to raise_error(/does not match/) - end + it 'fails' do + expect { subject }.to raise_error(/does not match/) end - context "url with dash" do - let(:params) do{ - :key_server => 'hkp://p-gp.m-it.edu', - } end - it "should contain apt::key" do - should contain_apt__key(title).with({ - :key => title, - :ensure => 'present', - :key_server => 'hkp://p-gp.m-it.edu', - }) - end + end + context "url ending with a dot" do + let :params do + { + :key_server => 'hkp://pgp.mit.edu.' + } end - context "exceed characher url" do - let (:params) do{ - :key_server => 'hkp://pgpiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii.mit.edu' - } end - it 'fails' do - expect { subject }.to raise_error(/does not match/) - end + it 'fails' do + expect { subject }.to raise_error(/does not match/) end - end - - describe 'key_options =>' do - let :params do { - :key_options => 'debug', + end + context "url begin with a dash" do + let(:params) do{ + :key_server => "hkp://-pgp.mit.edu", } end - - it 'contains the apt::key' do - should contain_apt__key(title).with({ - :key => title, - :ensure => 'present', - :key_options => 'debug', - }) - end - it 'contains the apt_key' do - should contain_apt_key(title).with({ - :id => title, - :ensure => 'present', - :source => nil, - :server => nil, - :content => nil, - :keyserver_options => params[:key_options], - }) - end - it 'contains the apt_key present anchor' do - should contain_anchor("apt_key #{title} present") + it 'fails' do + expect { subject }.to raise_error(/does not match/) end end - end - - describe 'validation' do context 'invalid key' do let :title do 'Out of rum. Why? Why are we out of rum?' @@ -369,44 +261,55 @@ describe 'apt::key', :type => :define do expect { subject }.to raise_error(/is not a string/) end end - end - describe 'duplication' do - context 'two apt::key resources for same key, different titles' do - let :pre_condition do - "apt::key { 'duplicate': key => #{title}, }" + context 'invalid ensure' do + let :params do + { + :ensure => 'foo', + } end - - it 'contains two apt::key resources' do - should contain_apt__key('duplicate').with({ - :key => title, - :ensure => 'present', - }) - should contain_apt__key(title).with({ - :key => title, - :ensure => 'present', - }) - end - - it 'contains only a single apt_key' do - should contain_apt_key('duplicate').with({ - :id => title, - :ensure => 'present', - :source => nil, - :server => nil, - :content => nil, - :keyserver_options => nil, - }) - should_not contain_apt_key(title) + it 'fails' do + expect { subject }.to raise_error(/does not match/) end end - context 'two apt::key resources, different ensure' do - let :pre_condition do - "apt::key { 'duplicate': key => #{title}, ensure => 'absent', }" + describe 'duplication' do + context 'two apt::key resources for same key, different titles' do + let :pre_condition do + "apt::key { 'duplicate': key => #{title}, }" + end + + it 'contains two apt::key resources' do + should contain_apt__key('duplicate').with({ + :key => title, + :ensure => 'present', + }) + should contain_apt__key(title).with({ + :key => title, + :ensure => 'present', + }) + end + + it 'contains only a single apt_key' do + should contain_apt_key('duplicate').with({ + :id => title, + :ensure => 'present', + :source => nil, + :server => nil, + :content => nil, + :keyserver_options => nil, + }) + should_not contain_apt_key(title) + end end - it 'informs the user of the impossibility' do - expect { subject }.to raise_error(/already ensured as absent/) + + context 'two apt::key resources, different ensure' do + let :pre_condition do + "apt::key { 'duplicate': key => #{title}, ensure => 'absent', }" + end + it 'informs the user of the impossibility' do + expect { subject }.to raise_error(/already ensured as absent/) + end end end end