[ML] Functional API tests - bucket span estimation with custom search.max_buckets (#59665)

This PR adds functional API tests for the bucket span estimation endpoint with a transient or persistent `search.max_buckets` setting.
This commit is contained in:
Robert Oskamp 2020-03-09 18:03:47 +01:00 committed by GitHub
parent 239ca74fc9
commit 4bd7b36431
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -16,6 +16,7 @@ const COMMON_HEADERS = {
// eslint-disable-next-line import/no-default-export
export default ({ getService }: FtrProviderContext) => {
const esArchiver = getService('esArchiver');
const esSupertest = getService('esSupertest');
const supertest = getService('supertestWithoutAuth');
const mlSecurity = getService('mlSecurity');
@ -97,8 +98,39 @@ export default ({ getService }: FtrProviderContext) => {
await esArchiver.unload('ml/ecommerce');
});
for (const testData of testDataList) {
it(`estimates the bucket span ${testData.testTitleSuffix}`, async () => {
describe('with default settings', function() {
for (const testData of testDataList) {
it(`estimates the bucket span ${testData.testTitleSuffix}`, async () => {
const { body } = await supertest
.post('/api/ml/validate/estimate_bucket_span')
.auth(testData.user, mlSecurity.getPasswordForUser(testData.user))
.set(COMMON_HEADERS)
.send(testData.requestBody)
.expect(testData.expected.responseCode);
expect(body).to.eql(testData.expected.responseBody);
});
}
});
describe('with transient search.max_buckets setting', function() {
before(async () => {
await esSupertest
.put('/_cluster/settings')
.send({ transient: { 'search.max_buckets': 9000 } })
.expect(200);
});
after(async () => {
await esSupertest
.put('/_cluster/settings')
.send({ transient: { 'search.max_buckets': null } })
.expect(200);
});
const testData = testDataList[0];
it(`estimates the bucket span`, async () => {
const { body } = await supertest
.post('/api/ml/validate/estimate_bucket_span')
.auth(testData.user, mlSecurity.getPasswordForUser(testData.user))
@ -108,6 +140,35 @@ export default ({ getService }: FtrProviderContext) => {
expect(body).to.eql(testData.expected.responseBody);
});
}
});
describe('with persistent search.max_buckets setting', function() {
before(async () => {
await esSupertest
.put('/_cluster/settings')
.send({ persistent: { 'search.max_buckets': 9000 } })
.expect(200);
});
after(async () => {
await esSupertest
.put('/_cluster/settings')
.send({ persistent: { 'search.max_buckets': null } })
.expect(200);
});
const testData = testDataList[0];
it(`estimates the bucket span`, async () => {
const { body } = await supertest
.post('/api/ml/validate/estimate_bucket_span')
.auth(testData.user, mlSecurity.getPasswordForUser(testData.user))
.set(COMMON_HEADERS)
.send(testData.requestBody)
.expect(testData.expected.responseCode);
expect(body).to.eql(testData.expected.responseBody);
});
});
});
};