MXS-1300: Use native promises for requests

The request-promise-native package adds support for request with native
promises. This is a convenient way to synchronize multiple HTTP requests.

The functions are changed to use promises to make testing easier. With
promises, the testing code can use the chai-as-promised library.

There are a few cases where doRequest is called with a callback that again
calls doAsyncRequest. With multiple hosts, this causes each command to be
propagated to all servers. This is a design flaw of the current multi-host
mode and needs to be changed.

Changed maxctrl.js to wait on the promises to silence some warnings if the
promise rejections are ignored.
This commit is contained in:
Markus Mäkelä
2017-07-14 05:22:34 +03:00
parent b54e94ce95
commit ec5b0fea39
9 changed files with 79 additions and 80 deletions

View File

@ -25,8 +25,8 @@ function removeServer(argv, path, targets) {
_.set(res, 'data.relationships.servers.data', servers)
delete res.data.attributes
maxctrl(argv)
.doRequest(path, null, {method: 'PATCH', body: res})
return maxctrl(argv)
.doAsyncRequest(path, null, {method: 'PATCH', body: res})
})
}