Skip to content

Commit

Permalink
[ML] Functional API tests - bucket span estimation with custom search…
Browse files Browse the repository at this point in the history
….max_buckets (elastic#59665)

This PR adds functional API tests for the bucket span estimation endpoint with a transient or persistent `search.max_buckets` setting.
  • Loading branch information
pheyos committed Mar 10, 2020
1 parent b89727e commit 06ee894
Showing 1 changed file with 64 additions and 3 deletions.
67 changes: 64 additions & 3 deletions x-pack/test/api_integration/apis/ml/bucket_span_estimator.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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');

Expand Down Expand Up @@ -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))
Expand All @@ -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);
});
});
});
};

0 comments on commit 06ee894

Please sign in to comment.