Browse Source

Add beaker tests

Add basic tests to ensure the puppet manifests can be applied cleanly
and the service will start.

We could test with a real IRC network and a real registered IRC user,
but the service starts just fine even if it can't connect to an IRC
server, and it's not the puppet module's job to test the bot itself,
it's sufficient to test that the server is configured the way we expect
it to be.

Change-Id: If153cdbfcd0a78b25ca01f22a10ab1c9055c0766
changes/53/582153/2
Colleen Murphy 3 years ago
parent
commit
b6c60c0414
3 changed files with 54 additions and 0 deletions
  1. +36
    -0
      spec/acceptance/basic_spec.rb
  2. +15
    -0
      spec/acceptance/fixtures/default.pp
  3. +3
    -0
      spec/acceptance/fixtures/postconditions.pp

+ 36
- 0
spec/acceptance/basic_spec.rb View File

@ -0,0 +1,36 @@
require 'puppet-openstack_infra_spec_helper/spec_helper_acceptance'
describe 'statusbot' do
def pp_path
base_path = File.dirname(__FILE__)
File.join(base_path, 'fixtures')
end
def puppet_manifest
manifest_path = File.join(pp_path, 'default.pp')
File.read(manifest_path)
end
def postconditions_puppet_manifest
manifest_path = File.join(pp_path, 'postconditions.pp')
File.read(manifest_path)
end
it 'should work with no errors' do
apply_manifest(puppet_manifest, catch_failures: true)
end
it 'should be idempotent' do
apply_manifest(puppet_manifest, catch_changes: true)
end
it 'should start' do
apply_manifest(postconditions_puppet_manifest, catch_failures: true)
end
describe service('statusbot') do
it { should be_running }
end
end

+ 15
- 0
spec/acceptance/fixtures/default.pp View File

@ -0,0 +1,15 @@
class { 'statusbot':
nick => 'statusbot-test',
password => 'statusbot-password',
server => 'irc.notreal.net',
channels => 'unrealchannel',
auth_nicks => 'statusbot-test',
wiki_user => 'dummy',
wiki_password => 'dummy',
wiki_url => 'dummy',
wiki_pageid => 'dummy',
wiki_successpageid => 'dummy',
wiki_successpageurl => 'dummy',
wiki_thankspageid => 'dummy',
wiki_thankspageurl => 'dummy',
}

+ 3
- 0
spec/acceptance/fixtures/postconditions.pp View File

@ -0,0 +1,3 @@
service { 'statusbot':
ensure => running,
}

Loading…
Cancel
Save