diff --git a/spec/puppet_generate_site_pp.py b/spec/puppet_generate_site_pp.py new file mode 100644 index 0000000..72079f1 --- /dev/null +++ b/spec/puppet_generate_site_pp.py @@ -0,0 +1,29 @@ +from pspec import describe +from attest import assert_hook +from fabric.api import env +from loom.puppet import generate_site_pp, get_puppetmaster_host +from mock import patch + + +with describe('generate_site_pp'): + def it_creates_an_include_statement_for_each_role(): + env.roledefs = { + 'app': 'server.example.com', + 'db': 'server.example.com', + } + env.host_string = 'server.example.com' + site_pp = generate_site_pp() + assert 'include "roles::app"' in site_pp + assert 'include "roles::db"' in site_pp + +with describe('generate_site_pp'): + def it_creates_an_include_statement_for_each_role_and_puppet_base(): + env.roledefs = { + 'app': 'server.example.com', + } + env.host_string = 'server.example.com' + env.loom_puppet_base_class = 'roles::mybase' + site_pp = generate_site_pp() + + assert 'include "roles::app"' in site_pp + assert 'include "roles::mybase"' in site_pp diff --git a/spec/puppet_spec.py b/spec/puppet_spec.py index 90dbf97..6d86107 100644 --- a/spec/puppet_spec.py +++ b/spec/puppet_spec.py @@ -5,17 +5,6 @@ from mock import patch -with describe('generate_site_pp'): - def it_creates_an_include_statement_for_each_role(): - env.roledefs = { - 'app': 'server.example.com', - 'db': 'server.example.com', - } - env.host_string = 'server.example.com' - site_pp = generate_site_pp() - assert 'include "roles::app"' in site_pp - assert 'include "roles::db"' in site_pp - with describe('get_puppetmaster_host'): def it_get_puppetmaster_from_env_single_host(): newenv = {'puppetmaster_host': 'master.example.com'}