From c0d20c171ab0b9d197975bde85e7ffe712966298 Mon Sep 17 00:00:00 2001 From: Dave Cottlehuber Date: Sun, 15 Jan 2012 23:38:13 +0100 Subject: [PATCH] Use non-compressed Content-Type in attachments test suites MD5-Digests of attachments are calculated on the compressed data if the attachment MIME type is compressible, as defined in default.ini [attachments] compressible_types Windows uses a different gzip implementation, and therefore generates different MD5-Digests than other platforms. Using binary Content-Type resolves this. --- share/www/script/test/attachment_names.js | 6 +++--- share/www/script/test/attachments.js | 10 +++++++--- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/share/www/script/test/attachment_names.js b/share/www/script/test/attachment_names.js index fb5f18f5ce8..c9a5fcce3be 100644 --- a/share/www/script/test/attachment_names.js +++ b/share/www/script/test/attachment_names.js @@ -20,7 +20,7 @@ couchTests.attachment_names = function(debug) { _id: "good_doc", _attachments: { "Колян.txt": { - content_type:"text/plain", + content_type:"application/octet-stream", data: "VGhpcyBpcyBhIGJhc2U2NCBlbmNvZGVkIHRleHQ=" } } @@ -31,8 +31,8 @@ couchTests.attachment_names = function(debug) { var xhr = CouchDB.request("GET", "/test_suite_db/good_doc/Колян.txt"); T(xhr.responseText == "This is a base64 encoded text"); - T(xhr.getResponseHeader("Content-Type") == "text/plain"); - TEquals("\"qUUYqS41RhwF0TrCsTAxFg==\"", xhr.getResponseHeader("Etag")); + T(xhr.getResponseHeader("Content-Type") == "application/octet-stream"); + TEquals("\"aEI7pOYCRBLTRQvvqYrrJQ==\"", xhr.getResponseHeader("Etag")); var binAttDoc = { _id: "bin_doc", diff --git a/share/www/script/test/attachments.js b/share/www/script/test/attachments.js index a409f82de60..db4524a9288 100644 --- a/share/www/script/test/attachments.js +++ b/share/www/script/test/attachments.js @@ -16,11 +16,15 @@ couchTests.attachments= function(debug) { db.createDb(); if (debug) debugger; + + // MD5 Digests of compressible attachments and therefore Etags + // will vary depending on platform gzip implementation. + // These MIME types are defined in [attachments] compressible_types var binAttDoc = { _id: "bin_doc", _attachments:{ "foo.txt": { - content_type:"text/plain", + content_type:"application/octet-stream", data: "VGhpcyBpcyBhIGJhc2U2NCBlbmNvZGVkIHRleHQ=" } } @@ -31,8 +35,8 @@ couchTests.attachments= function(debug) { var xhr = CouchDB.request("GET", "/test_suite_db/bin_doc/foo.txt"); T(xhr.responseText == "This is a base64 encoded text"); - T(xhr.getResponseHeader("Content-Type") == "text/plain"); - TEquals("\"qUUYqS41RhwF0TrCsTAxFg==\"", xhr.getResponseHeader("Etag")); + T(xhr.getResponseHeader("Content-Type") == "application/octet-stream"); + TEquals("\"aEI7pOYCRBLTRQvvqYrrJQ==\"", xhr.getResponseHeader("Etag")); // empty attachment var binAttDoc2 = {