+ it 'fails' do
+ is_expected .to raise_error(%r{expects a match})
+ end
+ end
+
+ context 'domain begin with dot' do
+ let(:params) do
+ {
+ server: '.pgp.mit.edu',
+ }
+ end
+
+ it 'fails' do
+ is_expected .to raise_error(%r{expects a match})
+ end
+ end
+
+ context 'domain end with dot' do
+ let(:params) do
+ {
+ server: 'pgp.mit.edu.',
+ }
+ end
+
+ it 'fails' do
+ is_expected .to raise_error(%r{expects a match})
+ end
+ end
+ context 'exceed character url' do
+ let :params do
+ {
+ server: 'hkp://pgpiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii.mit.edu',
+ }
+ end
+
+ it 'fails' do
+ is_expected.to raise_error(%r{expects a match})
+ end
+ end
+ context 'incorrect port number url' do
+ let :params do
+ {
+ server: 'hkp://pgp.mit.edu:8008080',
+ }
+ end
+
+ it 'fails' do
+ is_expected.to raise_error(%r{expects a match})
+ end
+ end
+ context 'incorrect protocol for url' do
+ let :params do
+ {
+ server: 'abc://pgp.mit.edu:80',
+ }
+ end
+
+ it 'fails' do
+ is_expected.to raise_error(%r{expects a match})
+ end
+ end
+ context 'missing port number url' do
+ let :params do
+ {
+ server: 'hkp://pgp.mit.edu:',
+ }
+ end
+
+ it 'fails' do
+ is_expected.to raise_error(%r{expects a match})
+ end
+ end
+ context 'url ending with a dot' do
+ let :params do
+ {
+ server: 'hkp://pgp.mit.edu.',
+ }
+ end
+
+ it 'fails' do
+ is_expected.to raise_error(%r{expects a match})
+ end
+ end
+ context 'url begin with a dash' do
+ let(:params) do
+ {
+ server: 'hkp://-pgp.mit.edu',
+ }
+ end
+
+ it 'fails' do
+ is_expected.to raise_error(%r{expects a match})
+ end
+ end
+ context 'invalid key' do
+ let :title do
+ 'Out of rum. Why? Why are we out of rum?'
+ end
+
+ it 'fails' do
+ is_expected.to raise_error(%r{expects a match})
+ end
+ end
+
+ context 'invalid source' do
+ let :params do
+ {
+ source: 'afp://puppetlabs.com/key.gpg',
+ }
+ end
+
+ it 'fails' do
+ is_expected.to raise_error(%r{expects a match})
+ end
+ end
+
+ context 'invalid content' do
+ let :params do
+ {
+ content: [],
+ }