mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 790397: set deleted = false for each record stored via PUT or POST.
This commit is contained in:
parent
740b0bbf35
commit
550ab95c83
@ -249,6 +249,7 @@ ServerBSO.prototype = {
|
||||
}
|
||||
|
||||
this.modified = request.timestamp;
|
||||
this.deleted = false;
|
||||
response.setHeader("X-Last-Modified", "" + this.modified, false);
|
||||
|
||||
response.setStatusLine(request.httpVersion, code, status);
|
||||
@ -550,6 +551,7 @@ StorageServerCollection.prototype = {
|
||||
if (bso) {
|
||||
bso.payload = record.payload;
|
||||
bso.modified = timestamp;
|
||||
bso.deleted = false;
|
||||
success.push(record.id);
|
||||
|
||||
if (record.sortindex) {
|
||||
|
@ -592,3 +592,46 @@ add_test(function test_x_num_records() {
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
add_test(function test_put_delete_put() {
|
||||
_("Bug 790397: Ensure BSO deleted flag is reset on PUT.");
|
||||
|
||||
let server = new StorageServer();
|
||||
server.registerUser("123", "password");
|
||||
server.createContents("123", {
|
||||
test: {bso: {foo: "bar"}}
|
||||
});
|
||||
server.startSynchronous(PORT);
|
||||
|
||||
_("Ensure we can PUT an existing record.");
|
||||
let request1 = localRequest("/2.0/123/storage/test/bso", "123", "password");
|
||||
request1.setHeader("Content-Type", "application/json");
|
||||
let payload1 = JSON.stringify({"payload": "foobar"});
|
||||
let error1 = doPutRequest(request1, payload1);
|
||||
do_check_eq(null, error1);
|
||||
do_check_eq(request1.response.status, 204);
|
||||
|
||||
_("Ensure we can DELETE it.");
|
||||
let request2 = localRequest("/2.0/123/storage/test/bso", "123", "password");
|
||||
let error2 = doDeleteRequest(request2);
|
||||
do_check_eq(error2, null);
|
||||
do_check_eq(request2.response.status, 204);
|
||||
do_check_false("content-type" in request2.response.headers);
|
||||
|
||||
_("Ensure we can PUT a previously deleted record.");
|
||||
let request3 = localRequest("/2.0/123/storage/test/bso", "123", "password");
|
||||
request3.setHeader("Content-Type", "application/json");
|
||||
let payload3 = JSON.stringify({"payload": "foobar"});
|
||||
let error3 = doPutRequest(request3, payload3);
|
||||
do_check_eq(null, error3);
|
||||
do_check_eq(request3.response.status, 201);
|
||||
|
||||
_("Ensure we can GET the re-uploaded record.");
|
||||
let request4 = localRequest("/2.0/123/storage/test/bso", "123", "password");
|
||||
let error4 = doGetRequest(request4);
|
||||
do_check_eq(error4, null);
|
||||
do_check_eq(request4.response.status, 200);
|
||||
do_check_eq(request4.response.headers["content-type"], "application/json");
|
||||
|
||||
server.stop(run_next_test);
|
||||
});
|
||||
|
Loading…
Reference in New Issue
Block a user