cookbooks/aws-parallelcluster-computefleet/spec/unit/recipes/clusterstatusmgtd_config_spec.rb (38 lines of code) (raw):
require 'spec_helper'
describe 'aws-parallelcluster-computefleet::clusterstatusmgtd_config' do
for_all_oses do |platform, version|
context "on #{platform}#{version}" do
cached(:chef_run) do
runner = runner(platform: platform, version: version) do |node|
node.override['cluster']['node_type'] = 'HeadNode'
node.override['cluster']['scheduler'] = 'slurm'
end
runner.converge(described_recipe)
end
cached(:node) { chef_run.node }
it 'creates computefleet-status.json file' do
is_expected.to create_file("#{node['cluster']['shared_dir']}/computefleet-status.json")
.with(user: "#{node['cluster']['cluster_admin_user']}")
.with(group: "#{node['cluster']['cluster_admin_user']}")
.with(mode: '0755')
end
it 'creates the clusterstatusmgtd file with the correct attributes' do
is_expected.to create_template('/etc/sudoers.d/99-parallelcluster-clusterstatusmgtd')
.with(source: 'clusterstatusmgtd/99-parallelcluster-clusterstatusmgtd.erb')
.with(user: 'root')
.with(group: 'root')
.with(mode: '0600')
end
it 'has the correct content' do
is_expected.to render_file('/etc/sudoers.d/99-parallelcluster-clusterstatusmgtd')
.with_content("#{node['cluster']['cluster_admin_user']} ALL = (root) NOPASSWD: CINC_COMMAND")
end
it 'creates clusterstatusmgtd log file' do
is_expected.to create_file("#{node['cluster']['log_base_dir']}/clusterstatusmgtd")
.with(user: 'root')
.with(group: 'root')
.with(mode: '0640')
end
end
end
end