+ describe 'normal operation' do
+ describe 'default options' do
+ it 'contains the apt_key' do
+ is_expected.to contain_apt_key(title).with({
+ :id => title,
+ :ensure => 'present',
+ :source => nil,
+ :server => 'keyserver.ubuntu.com',
+ :content => nil,
+ :options => nil,
+ })
+ end
+ it 'contains the apt_key present anchor' do
+ is_expected.to contain_anchor("apt_key #{title} present")
+ end
+ end
+
+ describe 'title and key =>' do
+ let :title do
+ 'puppetlabs'
+ end
+
+ let :params do {
+ :id => GPG_KEY_ID,
+ } end
+
+ it 'contains the apt_key' do
+ is_expected.to contain_apt_key(title).with({
+ :id => GPG_KEY_ID,
+ :ensure => 'present',
+ :source => nil,
+ :server => 'keyserver.ubuntu.com',
+ :content => nil,
+ :options => nil,
+ })
+ end
+ it 'contains the apt_key present anchor' do
+ is_expected.to contain_anchor("apt_key #{GPG_KEY_ID} present")
+ end
+ end
+
+ describe 'ensure => absent' do
+ let :params do {
+ :ensure => 'absent',
+ } end
+
+ it 'contains the apt_key' do
+ is_expected.to contain_apt_key(title).with({
+ :id => title,
+ :ensure => 'absent',
+ :source => nil,
+ :server => 'keyserver.ubuntu.com',
+ :content => nil,
+ :keyserver => nil,
+ })
+ end
+ it 'contains the apt_key absent anchor' do
+ is_expected.to contain_anchor("apt_key #{title} absent")
+ end
+ end
+
+ describe 'set a bunch of things!' do
+ let :params do {
+ :content => 'GPG key content',
+ :source => 'http://apt.puppetlabs.com/pubkey.gpg',
+ :server => 'pgp.mit.edu',
+ :options => 'debug',
+ } end
+
+ it 'contains the apt_key' do
+ is_expected.to contain_apt_key(title).with({
+ :id => title,
+ :ensure => 'present',
+ :source => 'http://apt.puppetlabs.com/pubkey.gpg',
+ :server => 'pgp.mit.edu',
+ :content => params[:content],
+ :options => 'debug',
+ })
+ end
+ it 'contains the apt_key present anchor' do
+ is_expected.to contain_anchor("apt_key #{title} present")
+ end
+ end
+
+ context "domain with dash" do
+ let(:params) do{
+ :server => 'p-gp.m-it.edu',
+ } end
+ it 'contains the apt_key' do
+ is_expected.to contain_apt_key(title).with({
+ :id => title,
+ :server => 'p-gp.m-it.edu',
+ })
+ end
+ end
+
+ context "url" do
+ let :params do
+ {
+ :server => 'hkp://pgp.mit.edu',
+ }
+ end
+ it 'contains the apt_key' do
+ is_expected.to contain_apt_key(title).with({
+ :id => title,
+ :server => 'hkp://pgp.mit.edu',
+ })
+ end
+ end
+ context "url with port number" do
+ let :params do
+ {
+ :server => 'hkp://pgp.mit.edu:80',
+ }
+ end
+ it 'contains the apt_key' do
+ is_expected.to contain_apt_key(title).with({
+ :id => title,
+ :server => 'hkp://pgp.mit.edu:80',
+ })
+ end
+ end