+ 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
+ end
+ context "exceed character url" do
+ let :params do
+ {
+ :key_server => 'hkp://pgpiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii.mit.edu'
+ }
+ end
+ 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
+ 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
+ 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 "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
+ end
+ context 'invalid key' do
+ let :title do
+ 'Out of rum. Why? Why are we out of rum?'
+ end
+ it 'fails' do
+ expect { subject }.to raise_error(/does not match/)
+ end
+ end
+
+ context 'invalid source' do
+ let :params do {
+ :key_source => 'afp://puppetlabs.com/key.gpg',
+ } end
+ it 'fails' do
+ expect { subject }.to raise_error(/does not match/)
+ end
+ end
+
+ context 'invalid content' do
+ let :params do {
+ :key_content => [],
+ } end
+ it 'fails' do
+ expect { subject }.to raise_error(/is not a string/)
+ end
+ end
+
+ context 'invalid server' do
+ let :params do {
+ :key_server => 'two bottles of rum',
+ } end
+ it 'fails' do
+ expect { subject }.to raise_error(/does not match/)
+ end
+ end