From c824aa564fa1a193d76b47fa430742c0a756eaa2 Mon Sep 17 00:00:00 2001 From: Noah Kantrowitz Date: Mon, 29 Feb 2016 15:30:01 -0800 Subject: Handle negative content length headers too. This is equivalent to not passing one, we can't check for bad downloads. --- spec/unit/http/validate_content_length_spec.rb | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'spec') diff --git a/spec/unit/http/validate_content_length_spec.rb b/spec/unit/http/validate_content_length_spec.rb index 37bf6c2180..7fedb66b11 100644 --- a/spec/unit/http/validate_content_length_spec.rb +++ b/spec/unit/http/validate_content_length_spec.rb @@ -119,6 +119,21 @@ describe Chef::HTTP::ValidateContentLength do end end + describe "with negative Content-Length header" do + let(:content_length_value) { '-1' } + + %w{direct streaming}.each do |req_type| + describe "when running #{req_type} request" do + let(:request_type) { req_type.to_sym } + + it "should skip validation and log for debug" do + run_content_length_validation + expect(debug_output).to include("HTTP server did not include a Content-Length header in response") + end + end + end + end + describe "with correct Content-Length header" do %w{direct streaming}.each do |req_type| describe "when running #{req_type} request" do -- cgit v1.2.1 From b4b8120191de45f5f8f8611dde244fde714b1004 Mon Sep 17 00:00:00 2001 From: Noah Kantrowitz Date: Mon, 29 Feb 2016 15:34:15 -0800 Subject: Split the negative check to its own log message. --- spec/unit/http/validate_content_length_spec.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'spec') diff --git a/spec/unit/http/validate_content_length_spec.rb b/spec/unit/http/validate_content_length_spec.rb index 7fedb66b11..ddcdaea91f 100644 --- a/spec/unit/http/validate_content_length_spec.rb +++ b/spec/unit/http/validate_content_length_spec.rb @@ -128,7 +128,7 @@ describe Chef::HTTP::ValidateContentLength do it "should skip validation and log for debug" do run_content_length_validation - expect(debug_output).to include("HTTP server did not include a Content-Length header in response") + expect(debug_output).to include("HTTP server responded with a negative Content-Length header (-1), cannot identify truncated downloads.") end end end -- cgit v1.2.1 From ba3ad73d90154934ec25eca3b5c5f17f5e11a437 Mon Sep 17 00:00:00 2001 From: Noah Kantrowitz Date: Tue, 1 Mar 2016 12:13:14 -0800 Subject: Make chef style happy. --- spec/unit/http/validate_content_length_spec.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'spec') diff --git a/spec/unit/http/validate_content_length_spec.rb b/spec/unit/http/validate_content_length_spec.rb index ddcdaea91f..85f8d92f78 100644 --- a/spec/unit/http/validate_content_length_spec.rb +++ b/spec/unit/http/validate_content_length_spec.rb @@ -120,7 +120,7 @@ describe Chef::HTTP::ValidateContentLength do end describe "with negative Content-Length header" do - let(:content_length_value) { '-1' } + let(:content_length_value) { "-1" } %w{direct streaming}.each do |req_type| describe "when running #{req_type} request" do -- cgit v1.2.1