diff --git a/.fixtures.yml b/.fixtures.yml index 1284f28..10a3ff3 100644 --- a/.fixtures.yml +++ b/.fixtures.yml @@ -1,10 +1,7 @@ fixtures: repositories: - stdlib: "git://github.com/puppetlabs/puppetlabs-stdlib.git" apache: "git://github.com/puppetlabs/puppetlabs-apache.git" - foreman: "git://github.com/theforeman/puppet-foreman.git" + stdlib: "git://github.com/puppetlabs/puppetlabs-stdlib.git" concat: "git://github.com/puppetlabs/puppetlabs-concat" - certs: "git://github.com/katello/puppet-certs.git" - common: "git://github.com/katello/puppet-common.git" symlinks: crane: "#{source_dir}" diff --git a/manifests/config.pp b/manifests/config.pp index 584af4e..b2df224 100644 --- a/manifests/config.pp +++ b/manifests/config.pp @@ -1,7 +1,7 @@ # Configure Crane class crane::config { file { '/etc/crane.conf': - ensure => file, + ensure => 'file', mode => '0644', owner => 'root', group => 'root', diff --git a/manifests/init.pp b/manifests/init.pp index 838b7ca..4be743e 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -10,11 +10,13 @@ # # $ca_cert:: Path to the SSL CA cert for https # +# $port:: Port for Crane to run on +# class crane ( - $key = $crane::params::key, - $cert = $crane::params::cert, - $ca_cert = $crane::params::ca_cert, - + $key = $crane::params::key, + $cert = $crane::params::cert, + $ca_cert = $crane::params::ca_cert, + $port = $crane::params::port, ) inherits crane::params { class { '::crane::install': } ~> diff --git a/spec/classes/crane_config_spec.rb b/spec/classes/crane_config_spec.rb new file mode 100644 index 0000000..92fb588 --- /dev/null +++ b/spec/classes/crane_config_spec.rb @@ -0,0 +1,54 @@ +require 'spec_helper' + +describe 'crane' do + let :default_facts do + { + :fqdn => 'localhost.localdomain', + :concat_basedir => '/tmp', + :interfaces => '', + :operatingsystem => 'RedHat', + :operatingsystemrelease => '6.4', + :operatingsystemmajrelease => '6.4', + :osfamily => 'RedHat', + :processorcount => 3 + } + end + + context 'with no parameters' do + let :pre_condition do + "class {'crane':}" + end + + let :facts do + default_facts + end + + it "should set up the config file" do + should contain_file('/etc/crane.conf'). + with({ + 'ensure' => 'file', + 'owner' => 'root', + 'group' => 'root', + 'mode' => '0644', + }). + with_content(/^endpoint: localhost.localdomain:5000$/) + end + end + + context 'with parameters' do + let :pre_condition do + "class {'crane': + port => 5001 + }" + end + + let :facts do + default_facts + end + + it "should set the port" do + should contain_file('/etc/crane.conf'). + with_content(/^endpoint: localhost.localdomain:5001$/) + end + end +end diff --git a/spec/classes/crane_spec.rb b/spec/classes/crane_spec.rb index 2516019..a426634 100644 --- a/spec/classes/crane_spec.rb +++ b/spec/classes/crane_spec.rb @@ -13,10 +13,6 @@ } end - let(:pre_condition) do - ['include certs'] - end - it { should contain_class('crane::install') } it { should contain_class('crane::config') } end