diff --git a/tests/js/server/resilience/moving-shards-cluster.js b/tests/js/server/resilience/moving-shards-cluster.js index 97f5b76b38..c50ea0b03c 100644 --- a/tests/js/server/resilience/moving-shards-cluster.js +++ b/tests/js/server/resilience/moving-shards-cluster.js @@ -119,11 +119,21 @@ function MovingShardsSuite () { } catch (err) { console.error( "Exception for POST /_admin/cluster/cleanOutServer:", err.stack); - return {}; + return {cleanedServers:[]}; + } + if (res.statusCode !== 200) { + return {cleanedServers:[]}; } var body = res.body; if (typeof body === "string") { - body = JSON.parse(body); + try { + body = JSON.parse(body); + } catch (err2) { + } + } + if (typeof body !== "object" || !body.hasOwnProperty("cleanedServers") || + typeof body.cleanedServers !== "object") { + return {cleanedServers:[]}; } return body; } diff --git a/tests/js/server/resilience/moving-shards-with-arangosearch-view-cluster-grey.js b/tests/js/server/resilience/moving-shards-with-arangosearch-view-cluster-grey.js index 4e278b4a65..55eb42be9a 100644 --- a/tests/js/server/resilience/moving-shards-with-arangosearch-view-cluster-grey.js +++ b/tests/js/server/resilience/moving-shards-with-arangosearch-view-cluster-grey.js @@ -174,11 +174,21 @@ function MovingShardsWithViewSuite (options) { } catch (err) { console.error( "Exception for POST /_admin/cluster/cleanOutServer:", err.stack); - return {}; + return {cleanedServers:[]}; + } + if (res.statusCode !== 200) { + return {cleanedServers:[]}; } var body = res.body; if (typeof body === "string") { - body = JSON.parse(body); + try { + body = JSON.parse(body); + } catch (err2) { + } + } + if (typeof body !== "object" || !body.hasOwnProperty("cleanedServers") || + typeof body.cleanedServers !== "object") { + return {cleanedServers:[]}; } return body; } diff --git a/tests/js/server/resilience/shard-distribution-spec.js b/tests/js/server/resilience/shard-distribution-spec.js index 2bf0e20ecd..fbfcf39db1 100644 --- a/tests/js/server/resilience/shard-distribution-spec.js +++ b/tests/js/server/resilience/shard-distribution-spec.js @@ -250,15 +250,23 @@ describe('Shard distribution', function () { const envelope = { method: "GET", url: url + "/_admin/cluster/numberOfServers" }; let res = request(envelope); + if (res.statusCode !== 200) { + return {cleanedServers: []}; + } var body = res.body; if (typeof body === "string") { body = JSON.parse(body); } + if (typeof body !== "object" || + !body.hasOwnProperty("cleanedServers") || + typeof body.cleanedServers !== "object") { + return {cleanedServers:[]}; + } return body; } catch (err) { console.error( "Exception for POST /_admin/cluster/cleanOutServer:", err.stack); - return {}; + return {cleanedServers: []}; } };