Merge branch '2.2' into develop

This commit is contained in:
Markus Mäkelä
2018-08-07 22:20:27 +03:00
8 changed files with 232 additions and 60 deletions

View File

@ -47,11 +47,27 @@ describe("Monitor Relationships", function() {
.should.be.fulfilled
})
it("remove with malformed relationships", function() {
var mon = {data: {relationships: {servers: null}}}
return request.patch(base_url + "/monitors/MariaDB-Monitor", {json: mon})
.should.be.rejected
.then(() => request.get(base_url + "/monitors/MariaDB-Monitor", { json: true }))
.then((res) => {
res.data.relationships.should.have.keys("servers")
})
});
it("missing relationships are not removed", function() {
var mon = {data: {relationships: {}}}
return request.patch(base_url + "/monitors/MariaDB-Monitor", {json: mon})
.then(() => request.get(base_url + "/monitors/MariaDB-Monitor", { json: true }))
.then((res) => {
res.data.relationships.should.have.keys("servers")
})
});
it("remove relationships from old monitor", function() {
var mon = { data: {
relationships: {
servers: null
}}}
var mon = {data: {relationships: {servers: {data: null}}}}
return request.patch(base_url + "/monitors/MariaDB-Monitor", {json: mon})
.then(() => request.get(base_url + "/monitors/MariaDB-Monitor", { json: true }))
.then((res) => {
@ -79,7 +95,7 @@ describe("Monitor Relationships", function() {
});
it("move relationships back to old monitor", function() {
var mon = {data: {relationships: {servers: null}}}
var mon = {data: {relationships: {servers: {data: null}}}}
return request.patch(base_url + "/monitors/" + monitor.data.id, {json: mon})
.then(() => request.get(base_url + "/monitors/" + monitor.data.id, { json: true }))
.then((res) => {
@ -125,7 +141,7 @@ describe("Monitor Relationships", function() {
});
it("bad request body with `relationships` endpoint should be rejected", function() {
return request.patch(base_url + "/monitors/" + monitor.data.id + "/relationships/servers", {json: {data: null}})
return request.patch(base_url + "/monitors/" + monitor.data.id + "/relationships/servers", {json: {servers: null}})
.should.be.rejected
})
@ -137,7 +153,7 @@ describe("Monitor Relationships", function() {
{ id: "server4", type: "servers" }
]}
return request.patch(base_url + "/monitors/" + monitor.data.id + "/relationships/servers", {json: {data: []}})
return request.patch(base_url + "/monitors/" + monitor.data.id + "/relationships/servers", {json: {data: null}})
.then(() => request.patch(base_url + "/monitors/MariaDB-Monitor/relationships/servers", {json: old}))
.then(() => request.get(base_url + "/monitors/MariaDB-Monitor", { json: true }))
.then((res) => {

View File

@ -80,13 +80,13 @@ describe("Server Relationships", function() {
});
it("bad request body with `relationships` endpoint should be rejected", function() {
var body = {data: null}
var body = {monitors: null}
return request.patch(base_url + "/servers/" + rel_server.data.id + "/relationships/monitors", { json: body })
.should.be.rejected
});
it("remove relationships with `relationships` endpoint", function() {
var body = {data: []}
var body = {data: null}
return request.patch(base_url + "/servers/" + rel_server.data.id + "/relationships/monitors", { json: body })
.then(() => request.get(base_url + "/servers/" + rel_server.data.id, {json: true}))
.then((res) => {
@ -96,11 +96,37 @@ describe("Server Relationships", function() {
})
});
it("remove relationships", function() {
it("remove with malformed relationships", function() {
rel_server.data.relationships["services"] = null
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() {
rel_server.data.relationships["services"] = {data: null}
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() {

View File

@ -20,12 +20,27 @@ describe("Service", function() {
});
it("remove service relationship", function() {
it("missing relationships are not removed", function() {
return request.get(base_url + "/services/RW-Split-Router")
.then(function(resp) {
var svc = JSON.parse(resp)
delete svc.data.relationships["servers"]
delete svc.data.relationships["servers"]
return request.patch(base_url + "/services/RW-Split-Router", {json: svc})
})
.then(function(resp) {
return request.get(base_url + "/services/RW-Split-Router")
})
.then(function(resp) {
var svc = JSON.parse(resp)
svc.data.relationships.should.not.be.empty
})
});
it("remove service relationship", function() {
return request.get(base_url + "/services/RW-Split-Router")
.then(function(resp) {
var svc = JSON.parse(resp)
svc.data.relationships.servers.data = null
return request.patch(base_url + "/services/RW-Split-Router", {json: svc})
})
.then(function(resp) {
@ -64,12 +79,12 @@ describe("Service", function() {
});
it("bad request body with `relationships` endpoint should be rejected", function() {
return request.patch(base_url + "/services/RW-Split-Router/relationships/servers", {json: {data: null}})
return request.patch(base_url + "/services/RW-Split-Router/relationships/servers", {json: {servers: null}})
.should.be.rejected
})
it("remove service relationship via `relationships` endpoint", function() {
return request.patch(base_url + "/services/RW-Split-Router/relationships/servers", { json: {data: []}})
return request.patch(base_url + "/services/RW-Split-Router/relationships/servers", { json: {data: null}})
.then(() => request.get(base_url + "/services/RW-Split-Router", { json: true }))
.then((res) => {
res.data.relationships.should.not.have.keys("servers")