summaryrefslogtreecommitdiff
path: root/share
diff options
context:
space:
mode:
authorPaul Joseph Davis <davisp@apache.org>2009-04-19 20:02:45 +0000
committerPaul Joseph Davis <davisp@apache.org>2009-04-19 20:02:45 +0000
commitb2aa508a3ed7bf337aa82dfd4645765a49a327ad (patch)
tree54e119b50e23493e8b549f1f341f91868eed70d6 /share
parent8139da1b1a522f2c5ab0307c1335b568de58f1d1 (diff)
COUCHDB-306 - Improving reported errors.
Case #3 turns out to be misusing the end-point for HTML forms that Futon uses. For new people it would also be triggered by accidentally using POST when a PUT to /db_name/docid is used. git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@766505 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'share')
-rw-r--r--share/www/script/couch_tests.js1
-rw-r--r--share/www/script/test/form_submit.js26
2 files changed, 27 insertions, 0 deletions
diff --git a/share/www/script/couch_tests.js b/share/www/script/couch_tests.js
index 79fd6306..9bd2b45c 100644
--- a/share/www/script/couch_tests.js
+++ b/share/www/script/couch_tests.js
@@ -67,6 +67,7 @@ loadTest("list_views.js");
loadTest("compact.js");
loadTest("purge.js");
loadTest("config.js");
+loadTest("form_submit.js");
loadTest("security_validation.js");
loadTest("stats.js");
loadTest("rev_stemming.js");
diff --git a/share/www/script/test/form_submit.js b/share/www/script/test/form_submit.js
new file mode 100644
index 00000000..3d313050
--- /dev/null
+++ b/share/www/script/test/form_submit.js
@@ -0,0 +1,26 @@
+// Licensed under the Apache License, Version 2.0 (the "License"); you may not
+// use this file except in compliance with the License. You may obtain a copy
+// of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+// License for the specific language governing permissions and limitations under
+// the License.
+
+// Do some basic tests.
+couchTests.form_upload = function(debug) {
+ var db = new CouchDB("test_suite_db");
+ db.deleteDb();
+ db.createDb();
+
+ // PUT on existing DB should return 412 instead of 500
+ var json = "{}";
+ var xhr = CouchDB.request("POST", "/test_suite_db/baz", {body: json});
+ T(xhr.status == 415);
+ result = JSON.parse(xhr.responseText);
+ T(result.error, "bad_content_type");
+ T(result.reason, "Invalid Content-Type header for form upload");
+};