From 01be04bde52a9035398c895924d86bfb355d3086 Mon Sep 17 00:00:00 2001
From: Tom Scavo <trscavo@internet2.edu>
Date: Wed, 14 Jun 2017 13:44:15 -0400
Subject: [PATCH] Ensure uncompressed resource is cached

---
 bin/test_compressed_resources.sh | 30 +++++++++++++++++++++++++++++-
 1 file changed, 29 insertions(+), 1 deletion(-)

diff --git a/bin/test_compressed_resources.sh b/bin/test_compressed_resources.sh
index aa753b6..aa09900 100755
--- a/bin/test_compressed_resources.sh
+++ b/bin/test_compressed_resources.sh
@@ -326,11 +326,39 @@ init_global_vars () {
 get_compressed_response () {
 
 	local status_code
+	local response_code
 
 	location="$1"
 
+	# get the uncompressed resource header
+	conditional_get $local_opts -I -d "$CACHE_DIR" -T "$tmp_dir" "$location" > "$header_file"
+	status_code=$?
+	if [ $status_code -ne 0 ]; then
+		success=false
+		message="Request for uncompressed resource failed"
+		print_log_message -E "$script_name: conditional_get failed ($status_code) on location: $location"
+		return 3
+	fi
+
+	# get and test the HTTP response code
+	response_code=$( get_response_code $header_file )
+	status_code=$?
+	if [ $status_code -ne 0 ]; then
+		success=false
+		message="Response code unknown"
+		print_log_message -E "$script_name: unknown response_code on resource: $location"
+		return 3
+	fi
+	if [ "$response_code" -ne 304 ]; then
+		success=false
+		message="Unexpected response code: $response_code"
+		print_log_message -E "$script_name: unexpected response ($response_code) on resource: $location"
+		return 3
+	fi
+	print_log_message -I "$script_name successfully requested (uncompressed) resource: $location"
+
 	# get the compressed resource
-	print_log_message -I "$script_name requesting (compressed) resource: $location"
+	print_log_message -I "$script_name requesting cached and compressed resource: $location"
 	/usr/bin/curl $curl_opts --compressed --dump-header $header_file $location > $compressed_content
 	status_code=$?
 	if [ $status_code -ne 0 ]; then