-
-
Notifications
You must be signed in to change notification settings - Fork 246
Commit
- Loading branch information
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -10,6 +10,8 @@ | |
pkg_cmd = 'dpkg -s nodejs | grep "^Maintainer"' | ||
end | ||
|
||
nodejs_version = ENV.fetch('BEAKER_FACTER_nodejs_version', '20') | ||
|
||
context 'default parameters' do | ||
it_behaves_like 'an idempotent resource' do | ||
let(:manifest) { "class { 'nodejs': }" } | ||
|
@@ -27,6 +29,36 @@ | |
end | ||
end | ||
|
||
context "explicitly using version #{nodejs_version} from nodesource", if: %w[RedHat Debian].include?(fact('os.family')), skip: (nodejs_version != '16' && fact('os.family') == 'RedHat' && fact('os.release.major') == '7' ? 'Only NodeJS 16 is supported on EL7' : nil) do | ||
# Only nodejs 16 is supported on EL7 by nodesource | ||
|
||
include_examples 'cleanup' | ||
|
||
it_behaves_like 'an idempotent resource' do | ||
let(:manifest) do | ||
<<-PUPPET | ||
class { 'nodejs': | ||
repo_version => '#{nodejs_version}' | ||
} | ||
PUPPET | ||
end | ||
end | ||
|
||
describe package('nodejs') do | ||
it { is_expected.to be_installed } | ||
Check warning on line 48 in spec/acceptance/class_spec.rb GitHub Actions / Puppet / Puppet 7 - OracleLinux 7 - NodeJS 20
Check warning on line 48 in spec/acceptance/class_spec.rb GitHub Actions / Puppet / Puppet 7 - CentOS 7 - NodeJS 18
Check warning on line 48 in spec/acceptance/class_spec.rb GitHub Actions / Puppet / Puppet 8 - OracleLinux 7 - NodeJS 20
Check warning on line 48 in spec/acceptance/class_spec.rb GitHub Actions / Puppet / Puppet 7 - CentOS 7 - NodeJS 20
Check warning on line 48 in spec/acceptance/class_spec.rb GitHub Actions / Puppet / Puppet 7 - OracleLinux 7 - NodeJS 18
Check warning on line 48 in spec/acceptance/class_spec.rb GitHub Actions / Puppet / Puppet 8 - OracleLinux 7 - NodeJS 18
Check warning on line 48 in spec/acceptance/class_spec.rb GitHub Actions / Puppet / Puppet 8 - CentOS 7 - NodeJS 20
|
||
|
||
it 'comes from the expected source' do | ||
Check warning on line 50 in spec/acceptance/class_spec.rb GitHub Actions / Puppet / Puppet 7 - OracleLinux 7 - NodeJS 20
Check warning on line 50 in spec/acceptance/class_spec.rb GitHub Actions / Puppet / Puppet 7 - CentOS 7 - NodeJS 18
Check warning on line 50 in spec/acceptance/class_spec.rb GitHub Actions / Puppet / Puppet 8 - OracleLinux 7 - NodeJS 20
Check warning on line 50 in spec/acceptance/class_spec.rb GitHub Actions / Puppet / Puppet 7 - CentOS 7 - NodeJS 20
Check warning on line 50 in spec/acceptance/class_spec.rb GitHub Actions / Puppet / Puppet 7 - OracleLinux 7 - NodeJS 18
Check warning on line 50 in spec/acceptance/class_spec.rb GitHub Actions / Puppet / Puppet 8 - OracleLinux 7 - NodeJS 18
Check warning on line 50 in spec/acceptance/class_spec.rb GitHub Actions / Puppet / Puppet 8 - CentOS 7 - NodeJS 20
Check warning on line 50 in spec/acceptance/class_spec.rb GitHub Actions / Puppet / Puppet 8 - CentOS 7 - NodeJS 18
Check failure on line 50 in spec/acceptance/class_spec.rb GitHub Actions / Puppet / Distro Puppet - Debian 12 - NodeJS 16
|
||
pkg_output = shell(pkg_cmd) | ||
expect(pkg_output.stdout).to match 'nodesource' | ||
end | ||
end | ||
|
||
describe command('node --version') do | ||
its(:exit_status) { is_expected.to eq 0 } | ||
Check warning on line 57 in spec/acceptance/class_spec.rb GitHub Actions / Puppet / Puppet 7 - OracleLinux 7 - NodeJS 20
Check warning on line 57 in spec/acceptance/class_spec.rb GitHub Actions / Puppet / Puppet 7 - CentOS 7 - NodeJS 18
Check warning on line 57 in spec/acceptance/class_spec.rb GitHub Actions / Puppet / Puppet 8 - OracleLinux 7 - NodeJS 20
Check warning on line 57 in spec/acceptance/class_spec.rb GitHub Actions / Puppet / Puppet 7 - CentOS 7 - NodeJS 20
Check warning on line 57 in spec/acceptance/class_spec.rb GitHub Actions / Puppet / Puppet 7 - OracleLinux 7 - NodeJS 18
Check warning on line 57 in spec/acceptance/class_spec.rb GitHub Actions / Puppet / Puppet 8 - OracleLinux 7 - NodeJS 18
Check warning on line 57 in spec/acceptance/class_spec.rb GitHub Actions / Puppet / Puppet 8 - CentOS 7 - NodeJS 20
|
||
its(:stdout) { is_expected.to match(%r{^v#{nodejs_version}}) } | ||
Check warning on line 58 in spec/acceptance/class_spec.rb GitHub Actions / Puppet / Puppet 7 - OracleLinux 7 - NodeJS 20
Check warning on line 58 in spec/acceptance/class_spec.rb GitHub Actions / Puppet / Puppet 7 - CentOS 7 - NodeJS 18
Check warning on line 58 in spec/acceptance/class_spec.rb GitHub Actions / Puppet / Puppet 8 - OracleLinux 7 - NodeJS 20
Check warning on line 58 in spec/acceptance/class_spec.rb GitHub Actions / Puppet / Puppet 7 - CentOS 7 - NodeJS 20
Check warning on line 58 in spec/acceptance/class_spec.rb GitHub Actions / Puppet / Puppet 7 - OracleLinux 7 - NodeJS 18
Check warning on line 58 in spec/acceptance/class_spec.rb GitHub Actions / Puppet / Puppet 8 - OracleLinux 7 - NodeJS 18
Check warning on line 58 in spec/acceptance/class_spec.rb GitHub Actions / Puppet / Puppet 8 - CentOS 7 - NodeJS 20
Check warning on line 58 in spec/acceptance/class_spec.rb GitHub Actions / Puppet / Puppet 8 - CentOS 7 - NodeJS 18
Check failure on line 58 in spec/acceptance/class_spec.rb GitHub Actions / Puppet / Distro Puppet - Debian 12 - NodeJS 16
|
||
end | ||
end | ||
|
||
context 'RedHat with repo_class => epel', if: fact('os.family') == 'RedHat' do | ||
include_examples 'cleanup' | ||
|
||
|
@@ -65,12 +97,11 @@ class { 'nodejs': | |
end | ||
end | ||
|
||
context 'RedHat with repo_class => nodejs::repo::dnfmodule', if: fact('os.family') == 'RedHat' && %w[8 9].include?(fact('os.release.major')) do | ||
include_examples 'cleanup' | ||
|
||
context 'RedHat with repo_class => nodejs::repo::dnfmodule', if: fact('os.family') == 'RedHat' && %w[8 9].include?(fact('os.release.major')), skip: ((nodejs_version == '20' && fact('os.name') != 'CentOS') || (nodejs_version == '16' && fact('os.release.major') == '9') ? 'NodeJS 20 is not yet in a released EL, NodeJS 16 is not available on EL9' : nil) do | ||
# Node 20 is only available in Stream yet, not in a released EL | ||
# So we're testing 18 here | ||
nodejs_version = '18' | ||
# Node 16 is not available on EL9 | ||
|
||
include_examples 'cleanup' | ||
|
||
it_behaves_like 'an idempotent resource' do | ||
let(:manifest) do | ||
|