MXS-1220: Add support for PATCH

The PATCH method should now be used instead the PUT method to update
resources.  As PUT request bodies should represent complete resources, the
use of PUT to update resources is no longer supported.

Altered tests to use PATCH instead of PUT for updating resources.
This commit is contained in:
Markus Mäkelä
2017-06-05 09:04:58 +03:00
parent d63af9df0b
commit e4a004097e
14 changed files with 48 additions and 36 deletions

View File

@ -6,7 +6,7 @@ function set_auth(auth, value) {
.then(function(resp) {
var d = JSON.parse(resp)
d.data.attributes.parameters.admin_auth = value;
return request.put(auth + host + "/maxscale", { json: d })
return request.patch(auth + host + "/maxscale", { json: d })
})
.then(function() {
return request.get(auth + host + "/maxscale")

View File

@ -6,7 +6,7 @@ function set_value(key, value) {
.then(function(resp) {
var d = JSON.parse(resp)
d.data.attributes.parameters[key] = value;
return request.put(base_url + "/maxscale", { json: d })
return request.patch(base_url + "/maxscale", { json: d })
})
.then(function() {
return request.get(base_url + "/maxscale")

View File

@ -7,7 +7,7 @@ describe("Errors", function()
it("error on invalid PUT request", function()
{
return request.put(base_url + "/servers/server1", { json: {this_is: "a test"}})
return request.patch(base_url + "/servers/server1", { json: {this_is: "a test"}})
.should.be.rejected
})

View File

@ -10,7 +10,7 @@ describe("HTTP Headers", function() {
resp.headers.etag.should.be.equal("\"0\"")
var srv = JSON.parse(resp.body)
delete srv.data.relationships
return request.put(base_url + "/servers/server1", {json: srv})
return request.patch(base_url + "/servers/server1", {json: srv})
})
.then(function() {
return request.get(base_url + "/servers/server1", {resolveWithFullResponse: true})
@ -42,7 +42,7 @@ describe("HTTP Headers", function() {
}
}
request.put(base_url + "/servers/server1", {json: srv})
request.patch(base_url + "/servers/server1", {json: srv})
.then(function() {
return request.get(base_url + "/servers/server1", {resolveWithFullResponse: true})
})

View File

@ -17,7 +17,7 @@ describe("Logs", function() {
logs.data.attributes.parameters.throttling.suppress_ms = 1
logs.data.attributes.parameters.throttling.window_ms = 1
return request.put(base_url + "/maxscale/logs", {json: logs})
return request.patch(base_url + "/maxscale/logs", {json: logs})
})
.then(function(resp) {
return request.get(base_url + "/maxscale/logs")

View File

@ -27,7 +27,7 @@ describe("Monitor", function() {
monitor.data.attributes.parameters = {
monitor_interval: 1000
}
return request.put(base_url + "/monitors/" + monitor.data.id, {json:monitor})
return request.patch(base_url + "/monitors/" + monitor.data.id, {json:monitor})
.should.be.fulfilled
});
@ -53,7 +53,7 @@ describe("Monitor Relationships", function() {
.then(function(resp) {
var mon = JSON.parse(resp)
delete mon.data.relationships.servers
return request.put(base_url + "/monitors/MySQL-Monitor", {json: mon})
return request.patch(base_url + "/monitors/MySQL-Monitor", {json: mon})
})
.should.be.fulfilled
});
@ -69,7 +69,7 @@ describe("Monitor Relationships", function() {
{id: "server3", type: "servers"},
{id: "server4", type: "servers"},
]
return request.put(base_url + "/monitors/" + monitor.data.id, {json: mon})
return request.patch(base_url + "/monitors/" + monitor.data.id, {json: mon})
})
.should.be.fulfilled
});
@ -80,7 +80,7 @@ describe("Monitor Relationships", function() {
.then(function(resp) {
var mon = JSON.parse(resp)
delete mon.data.relationships.servers
return request.put(base_url + "/monitors/" + monitor.data.id, {json: mon})
return request.patch(base_url + "/monitors/" + monitor.data.id, {json: mon})
})
.then(function() {
return request.get(base_url + "/monitors/MySQL-Monitor")
@ -93,7 +93,7 @@ describe("Monitor Relationships", function() {
{id: "server3", type: "servers"},
{id: "server4", type: "servers"},
]
return request.put(base_url + "/monitors/MySQL-Monitor", {json: mon})
return request.patch(base_url + "/monitors/MySQL-Monitor", {json: mon})
})
.should.be.fulfilled
});

View File

@ -38,7 +38,7 @@ describe("Server", function() {
it("update server", function() {
server.data.attributes.parameters.weight = 10
return request.put(base_url + "/servers/" + server.data.id, { json: server})
return request.patch(base_url + "/servers/" + server.data.id, { json: server})
.should.be.fulfilled
});
@ -69,7 +69,7 @@ describe("Server Relationships", function() {
it("remove relationships", function() {
delete rel_server.data["relationships"]
return request.put(base_url + "/servers/" + rel_server.data.id, {json: rel_server})
return request.patch(base_url + "/servers/" + rel_server.data.id, {json: rel_server})
.should.be.fulfilled
});

View File

@ -8,7 +8,7 @@ describe("Service", function() {
.then(function(resp) {
var svc = JSON.parse(resp)
svc.data.attributes.parameters.enable_root_user = true
return request.put(base_url + "/services/RW-Split-Router", {json: svc})
return request.patch(base_url + "/services/RW-Split-Router", {json: svc})
})
.then(function(resp) {
return request.get(base_url + "/services/RW-Split-Router")
@ -25,7 +25,7 @@ describe("Service", function() {
.then(function(resp) {
var svc = JSON.parse(resp)
delete svc.data.relationships
return request.put(base_url + "/services/RW-Split-Router", {json: svc})
return request.patch(base_url + "/services/RW-Split-Router", {json: svc})
})
.then(function(resp) {
return request.get(base_url + "/services/RW-Split-Router")
@ -51,7 +51,7 @@ describe("Service", function() {
}
}
return request.put(base_url + "/services/RW-Split-Router", {json: svc})
return request.patch(base_url + "/services/RW-Split-Router", {json: svc})
})
.then(function(resp) {
return request.get(base_url + "/services/RW-Split-Router")