[ftr/kbnServer] prevent caching errors when fetching status (#12848)

(cherry picked from commit 10656c2108)
This commit is contained in:
Spencer 2017-07-13 17:02:28 -07:00 committed by spalger
parent a63183766a
commit 09d0d7c1c7

View file

@ -1,12 +1,20 @@
import { once } from 'lodash';
export class KibanaServerVersion {
constructor(kibanaStatus) {
this.kibanaStatus = kibanaStatus;
this._cachedVersionNumber;
}
get = once(async () => {
async get() {
if (this._cachedVersionNumber) {
return this._cachedVersionNumber;
}
const status = await this.kibanaStatus.get();
return status.version;
})
if (status && status.version && status.version.number) {
this._cachedVersionNumber = status.version.number;
return this._cachedVersionNumber;
}
throw new Error(`Unable to fetch Kibana Server status, received ${JSON.stringify(status)}`);
}
}