diff options
author | Paul Joseph Davis <davisp@apache.org> | 2009-04-19 20:02:45 +0000 |
---|---|---|
committer | Paul Joseph Davis <davisp@apache.org> | 2009-04-19 20:02:45 +0000 |
commit | b2aa508a3ed7bf337aa82dfd4645765a49a327ad (patch) | |
tree | 54e119b50e23493e8b549f1f341f91868eed70d6 /share/www | |
parent | 8139da1b1a522f2c5ab0307c1335b568de58f1d1 (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/www')
-rw-r--r-- | share/www/script/couch_tests.js | 1 | ||||
-rw-r--r-- | share/www/script/test/form_submit.js | 26 |
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"); +}; |