MXS-1999: Fix removal of undefined relationships

If a relationship isn't defined, it should not be removed. Only if a
relationship is change to a null relationship, should it be removed.

Also fixed the maxctrl test suite to verify that both it and the REST API
tests pass.
This commit is contained in:
Markus Mäkelä
2018-08-06 17:27:17 +03:00
parent 4fd4d6bb01
commit 446116a8bb
5 changed files with 51 additions and 4 deletions

View File

@ -101,6 +101,20 @@ describe("Server Relationships", function() {
rel_server.data.relationships["monitors"] = null
return request.patch(base_url + "/servers/" + rel_server.data.id, {json: rel_server})
.should.be.rejected
.then(() => request.get(base_url + "/servers/" + rel_server.data.id, {json: true}))
.then((res) => {
res.data.relationships.should.have.keys("services")
})
});
it("missing relationships are not removed", function() {
rel_server.data.relationships = {}
return request.patch(base_url + "/servers/" + rel_server.data.id, {json: rel_server})
.should.be.fulfilled
.then(() => request.get(base_url + "/servers/" + rel_server.data.id, {json: true}))
.then((res) => {
res.data.relationships.should.have.keys("services")
})
});
it("remove relationships", function() {
@ -108,6 +122,11 @@ describe("Server Relationships", function() {
rel_server.data.relationships["monitors"] = {data: null}
return request.patch(base_url + "/servers/" + rel_server.data.id, {json: rel_server})
.should.be.fulfilled
.then(() => request.get(base_url + "/servers/" + rel_server.data.id, {json: true}))
.then((res) => {
res.data.relationships.should.not.have.keys("services")
res.data.relationships.should.not.have.keys("monitors")
})
});
it("destroy server", function() {