diff --git a/.fixtures.yml b/.fixtures.yml index fef8d87..990960b 100644 --- a/.fixtures.yml +++ b/.fixtures.yml @@ -1,8 +1,10 @@ fixtures: symlinks: cassandra: "#{source_dir}" repositories: - apt: "git://github.com/puppetlabs/puppetlabs-apt" + apt: + repo: "git://github.com/puppetlabs/puppetlabs-apt" + ref: "2.4.0" firewall: "git://github.com/puppetlabs/puppetlabs-firewall" inifile: "git://github.com/puppetlabs/puppetlabs-inifile" stdlib: "git://github.com/puppetlabs/puppetlabs-stdlib" diff --git a/spec/classes/apache_repo_spec.rb b/spec/classes/apache_repo_spec.rb index 4225b25..5b5e662 100644 --- a/spec/classes/apache_repo_spec.rb +++ b/spec/classes/apache_repo_spec.rb @@ -1,69 +1,69 @@ require 'spec_helper' describe 'cassandra::apache_repo' do context 'On a RedHat OS with defaults for all parameters' do let :facts do { osfamily: 'RedHat' } end let :params do { release: '311x' } end it do is_expected.to have_resource_count(1) is_expected.to contain_class('cassandra::apache_repo').only_with( 'descr' => 'Repo for Apache Cassandra', 'key_id' => 'A26E528B271F19B9E5D8E19EA278B781FE4B2BDA', 'key_url' => 'https://www.apache.org/dist/cassandra/KEYS', 'release' => '311x' ) is_expected.to contain_yumrepo('cassandra_apache').with( ensure: 'present', descr: 'Repo for Apache Cassandra', baseurl: 'http://www.apache.org/dist/cassandra/redhat/311x', enabled: 1, gpgcheck: 1, gpgkey: 'https://www.apache.org/dist/cassandra/KEYS' ) end end context 'On a Debian OS with defaults for all parameters' do let :facts do { osfamily: 'Debian', lsbdistid: 'Ubuntu', lsbdistrelease: '14.04' } end it do - is_expected.to have_resource_count(3) + is_expected.to have_resource_count(14) is_expected.to contain_class('apt') is_expected.to contain_class('apt::update') is_expected.to contain_apt__key('apache.cassandra').with( id: 'A26E528B271F19B9E5D8E19EA278B781FE4B2BDA', source: 'https://www.apache.org/dist/cassandra/KEYS' ) is_expected.to contain_apt__source('cassandra.sources').with( location: 'http://www.apache.org/dist/cassandra/debian', comment: 'Repo for Apache Cassandra', release: 'main', include: { 'src' => false } ).that_notifies('Exec[update-apache-cassandra-repo]') is_expected.to contain_exec('update-apache-cassandra-repo').with( refreshonly: true, command: '/bin/true' ) end end end diff --git a/spec/classes/datastax_repo_spec.rb b/spec/classes/datastax_repo_spec.rb index 61581de..e94642b 100644 --- a/spec/classes/datastax_repo_spec.rb +++ b/spec/classes/datastax_repo_spec.rb @@ -1,62 +1,62 @@ require 'spec_helper' describe 'cassandra::datastax_repo' do context 'On a RedHat OS with defaults for all parameters' do let :facts do { osfamily: 'RedHat' } end it do is_expected.to have_resource_count(1) is_expected.to contain_class('cassandra::datastax_repo').only_with( 'descr' => 'DataStax Repo for Apache Cassandra', 'key_id' => '7E41C00F85BFC1706C4FFFB3350200F2B999A372', 'key_url' => 'http://debian.datastax.com/debian/repo_key', 'release' => 'stable' ) is_expected.to contain_yumrepo('datastax').with( ensure: 'present', descr: 'DataStax Repo for Apache Cassandra', baseurl: 'http://rpm.datastax.com/community', enabled: 1, gpgcheck: 0 ) end end context 'On a Debian OS with defaults for all parameters' do let :facts do { osfamily: 'Debian', lsbdistid: 'Ubuntu', lsbdistrelease: '14.04' } end it do - is_expected.to have_resource_count(3) + is_expected.to have_resource_count(14) is_expected.to contain_class('apt') is_expected.to contain_class('apt::update') is_expected.to contain_apt__key('datastaxkey').with( id: '7E41C00F85BFC1706C4FFFB3350200F2B999A372', source: 'http://debian.datastax.com/debian/repo_key' ) is_expected.to contain_apt__source('datastax').with( location: 'http://debian.datastax.com/community', comment: 'DataStax Repo for Apache Cassandra', release: 'stable', include: { 'src' => false } ).that_notifies('Exec[update-cassandra-repos]') is_expected.to contain_exec('update-cassandra-repos').with( refreshonly: true, command: '/bin/true' ) end end end diff --git a/spec/classes/java_spec.rb b/spec/classes/java_spec.rb index 805dfc3..e517302 100644 --- a/spec/classes/java_spec.rb +++ b/spec/classes/java_spec.rb @@ -1,152 +1,155 @@ require 'spec_helper' describe 'cassandra::java' do context 'On a RedHat OS with defaults for all parameters' do let :facts do { operatingsystemmajrelease: '7', osfamily: 'RedHat' } end it do is_expected.to contain_class('cassandra::java') is_expected.to contain_package('java-1.8.0-openjdk-headless') is_expected.to contain_package('jna') end end context 'On a Debian OS with defaults for all parameters' do let :facts do { operatingsystemmajrelease: '7', - osfamily: 'Debian' + osfamily: 'Debian', + lsbdistid: 'Debian' } end it do is_expected.to contain_class('cassandra::java') is_expected.to contain_package('openjdk-7-jre-headless') is_expected.to contain_package('libjna-java') is_expected.to have_resource_count(2) end end context 'On a Debian OS with package_ensure set' do let :facts do { operatingsystemmajrelease: '7', - osfamily: 'Debian' + osfamily: 'Debian', + lsbdistid: 'Debian' } end let :params do { package_ensure: '2.1.13' } end it do is_expected.to contain_package('openjdk-7-jre-headless').with_ensure('2.1.13') end end context 'With package names set to foobar' do let :facts do { operatingsystemmajrelease: '7', osfamily: 'RedHat' } end let :params do { package_name: 'foobar-java', package_ensure: '42', jna_package_name: 'foobar-jna', jna_ensure: 'latest' } end it do is_expected.to contain_package('foobar-java').with(ensure: 42) is_expected.to contain_package('foobar-jna').with(ensure: 'latest') end end context 'Ensure that a YUM repo can be specified.' do let :facts do { operatingsystemmajrelease: '7', osfamily: 'RedHat' } end let :params do { yumrepo: { 'ACME' => { 'baseurl' => 'http://yum.acme.org/repos', 'descr' => 'YUM Repository for ACME Products' } } } end it do is_expected.to contain_yumrepo('ACME').with( baseurl: 'http://yum.acme.org/repos', descr: 'YUM Repository for ACME Products' ).that_comes_before('Package[java-1.8.0-openjdk-headless]') end end context 'Ensure that Apt key and source can be specified.' do let :facts do { operatingsystemmajrelease: '7', - osfamily: 'Debian' + osfamily: 'Debian', + lsbdistid: 'Debian' } end let :params do { aptkey: { 'openjdk-r' => { 'id' => 'DA1A4A13543B466853BAF164EB9B1D8886F44E2A', 'server' => 'keyserver.ubuntu.com' } }, aptsource: { 'openjdk-r' => { 'comment' => 'OpenJDK builds (all archs)', 'location' => 'http://ppa.launchpad.net/openjdk-r/ppa/ubuntu', 'repos' => 'main', 'release' => 'trusty' } } } end it do is_expected.to contain_apt__key('openjdk-r'). with( id: 'DA1A4A13543B466853BAF164EB9B1D8886F44E2A', server: 'keyserver.ubuntu.com' ). that_comes_before('Package[openjdk-7-jre-headless]') is_expected.to contain_apt__source('openjdk-r'). with( comment: 'OpenJDK builds (all archs)', location: 'http://ppa.launchpad.net/openjdk-r/ppa/ubuntu', repos: 'main', release: 'trusty' ) is_expected.to contain_exec('cassandra::java::apt_update'). with( refreshonly: true, command: '/bin/true' ). that_comes_before('Package[openjdk-7-jre-headless]') end end end