From df14f4631e548f0e09f2c2b987f16b666174f14f Mon Sep 17 00:00:00 2001 From: Pete Higgins Date: Thu, 17 Dec 2020 11:26:08 -0800 Subject: Cleanup bootstrap trusted_certs_dir tests. Signed-off-by: Pete Higgins --- spec/data/trusted_certs_empty/.gitkeep | 0 spec/data/trusted_certs_empty/README.md | 1 - spec/unit/knife/bootstrap_spec.rb | 22 +++++----------------- 3 files changed, 5 insertions(+), 18 deletions(-) delete mode 100644 spec/data/trusted_certs_empty/.gitkeep delete mode 100644 spec/data/trusted_certs_empty/README.md diff --git a/spec/data/trusted_certs_empty/.gitkeep b/spec/data/trusted_certs_empty/.gitkeep deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/spec/data/trusted_certs_empty/README.md b/spec/data/trusted_certs_empty/README.md deleted file mode 100644 index e7e52627f1..0000000000 --- a/spec/data/trusted_certs_empty/README.md +++ /dev/null @@ -1 +0,0 @@ -A directory with no certs. Used for testing directories with no certs during bootstrap. diff --git a/spec/unit/knife/bootstrap_spec.rb b/spec/unit/knife/bootstrap_spec.rb index 15a51b7f92..3797207b6d 100644 --- a/spec/unit/knife/bootstrap_spec.rb +++ b/spec/unit/knife/bootstrap_spec.rb @@ -472,21 +472,13 @@ describe Chef::Knife::Bootstrap do end describe "when transferring trusted certificates" do - let(:trusted_certs_dir) { Chef::Util::PathHelper.cleanpath(File.join(__dir__, "../../data/trusted_certs")) } - let(:rendered_template) do knife.merge_configs knife.render_template end before do - Chef::Config[:trusted_certs_dir] = trusted_certs_dir - allow(IO).to receive(:read).and_call_original - allow(IO).to receive(:read).with(File.expand_path(Chef::Config[:validation_key])).and_return("") - end - - def certificates - Dir[File.join(trusted_certs_dir, "*.{crt,pem}")] + Chef::Config[:trusted_certs_dir] = Chef::Util::PathHelper.cleanpath(File.join(CHEF_SPEC_DATA, "trusted_certs")) end it "creates /etc/chef/trusted_certs" do @@ -494,27 +486,23 @@ describe Chef::Knife::Bootstrap do end it "copies the certificates in the directory" do - certificates.each do |cert| - expect(IO).to receive(:read).with(File.expand_path(cert)) - end + certificates = Dir[File.join(Chef::Config[:trusted_certs_dir], "*.{crt,pem}")] certificates.each do |cert| expect(rendered_template).to match(%r{cat > /etc/chef/trusted_certs/#{File.basename(cert)} <<'EOP'}) end end - context "when :trusted_cets_dir is empty" do - let(:trusted_certs_dir) { Chef::Util::PathHelper.cleanpath(File.join(__dir__, "../../data/trusted_certs_empty")) } - it "doesn't create /etc/chef/trusted_certs if :trusted_certs_dir is empty" do + it "doesn't create /etc/chef/trusted_certs if :trusted_certs_dir is empty" do + Dir.mktmpdir do |dir| + Chef::Config[:trusted_certs_dir] = dir expect(rendered_template).not_to match(%r{mkdir -p /etc/chef/trusted_certs}) end end - end context "when doing fips things" do let(:template_file) { File.expand_path(File.join(CHEF_SPEC_DATA, "bootstrap", "no_proxy.erb")) } - let(:trusted_certs_dir) { Chef::Util::PathHelper.cleanpath(File.join(__dir__, "../../data/trusted_certs")) } before do Chef::Config[:knife][:bootstrap_template] = template_file -- cgit v1.2.1