From 8cc7cadfe0e6b22d27e0e96e393f8a41a13d4cf2 Mon Sep 17 00:00:00 2001 From: Ignacio Rivas Date: Sun, 14 Jan 2024 15:39:51 +0100 Subject: [PATCH] [Index management] Enable create DS by default when creating an index template (#173749) --- .../template_create.test.tsx | 2 -- .../template_form.helpers.ts | 11 ++++++++--- .../components/template_form/template_form.tsx | 1 + .../index_templates_tab/create_index_template.ts | 2 -- .../index_management/index_templates.ts | 15 +++++++++++++-- 5 files changed, 22 insertions(+), 9 deletions(-) diff --git a/x-pack/plugins/index_management/__jest__/client_integration/index_template_wizard/template_create.test.tsx b/x-pack/plugins/index_management/__jest__/client_integration/index_template_wizard/template_create.test.tsx index 1123e47a60ede..d4e5876761c36 100644 --- a/x-pack/plugins/index_management/__jest__/client_integration/index_template_wizard/template_create.test.tsx +++ b/x-pack/plugins/index_management/__jest__/client_integration/index_template_wizard/template_create.test.tsx @@ -528,7 +528,6 @@ describe('', () => { await actions.completeStepOne({ name: TEMPLATE_NAME, indexPatterns: DEFAULT_INDEX_PATTERNS, - dataStream: {}, allowAutoCreate: true, }); // Component templates @@ -618,7 +617,6 @@ describe('', () => { await testBed.actions.completeStepOne({ name: TEMPLATE_NAME, indexPatterns: DEFAULT_INDEX_PATTERNS, - dataStream: {}, lifecycle: { enabled: true, value: 1, diff --git a/x-pack/plugins/index_management/__jest__/client_integration/index_template_wizard/template_form.helpers.ts b/x-pack/plugins/index_management/__jest__/client_integration/index_template_wizard/template_form.helpers.ts index 88cee63b0e693..745b2a69b9498 100644 --- a/x-pack/plugins/index_management/__jest__/client_integration/index_template_wizard/template_form.helpers.ts +++ b/x-pack/plugins/index_management/__jest__/client_integration/index_template_wizard/template_form.helpers.ts @@ -145,10 +145,10 @@ export const formSetup = async (initTestBed: SetupFunc) => { order, priority, version, - dataStream, + enableDataStream, lifecycle, allowAutoCreate, - }: Partial = {}) => { + }: Partial & { enableDataStream?: boolean } = {}) => { const { component, form, find } = testBed; if (name) { @@ -174,7 +174,12 @@ export const formSetup = async (initTestBed: SetupFunc) => { form.setInputValue('orderField.input', JSON.stringify(order)); } - if (dataStream) { + // Deal with toggling the data stream switch + const isDataStreamEnabled = find('dataStreamField.input').props().checked; + + if (enableDataStream && !isDataStreamEnabled) { + form.toggleEuiSwitch('dataStreamField.input'); + } else if (!enableDataStream && isDataStreamEnabled) { form.toggleEuiSwitch('dataStreamField.input'); } diff --git a/x-pack/plugins/index_management/public/application/components/template_form/template_form.tsx b/x-pack/plugins/index_management/public/application/components/template_form/template_form.tsx index 9d494e0a558d9..4eab54356eabf 100644 --- a/x-pack/plugins/index_management/public/application/components/template_form/template_form.tsx +++ b/x-pack/plugins/index_management/public/application/components/template_form/template_form.tsx @@ -116,6 +116,7 @@ export const TemplateForm = ({ const indexTemplate = defaultValue ?? { name: '', indexPatterns: [], + dataStream: {}, template: {}, _kbnMeta: { type: 'default', diff --git a/x-pack/test/functional/apps/index_management/index_templates_tab/create_index_template.ts b/x-pack/test/functional/apps/index_management/index_templates_tab/create_index_template.ts index 9b9d869fb9980..68b75fa86a0c5 100644 --- a/x-pack/test/functional/apps/index_management/index_templates_tab/create_index_template.ts +++ b/x-pack/test/functional/apps/index_management/index_templates_tab/create_index_template.ts @@ -32,8 +32,6 @@ export default ({ getPageObjects, getService }: FtrProviderContext) => { // Complete required fields from step 1 await testSubjects.setValue('nameField', INDEX_TEMPLATE_NAME); await testSubjects.setValue('indexPatternsField', 'test-1'); - // Enable data stream - await testSubjects.click('dataStreamField > input'); // Enable data retention await testSubjects.click('dataRetentionToggle > input'); // Set the retention to 7 hours diff --git a/x-pack/test_serverless/functional/test_suites/common/management/index_management/index_templates.ts b/x-pack/test_serverless/functional/test_suites/common/management/index_management/index_templates.ts index 6092473ad27bc..7d591ade32c3c 100644 --- a/x-pack/test_serverless/functional/test_suites/common/management/index_management/index_templates.ts +++ b/x-pack/test_serverless/functional/test_suites/common/management/index_management/index_templates.ts @@ -16,8 +16,10 @@ export default ({ getPageObjects, getService }: FtrProviderContext) => { const testSubjects = getService('testSubjects'); const es = getService('es'); const retry = getService('retry'); + const log = getService('log'); const TEST_TEMPLATE = 'a_test_template'; + const INDEX_PATTERN = `index_pattern_${Math.random()}`; describe('Index Templates', function () { before(async () => { @@ -32,6 +34,15 @@ export default ({ getPageObjects, getService }: FtrProviderContext) => { }); after(async () => { + log.debug('Cleaning up created template'); + + try { + await es.indices.deleteIndexTemplate({ name: TEST_TEMPLATE }, { ignore: [404] }); + } catch (e) { + log.debug('[Setup error] Error creating test policy'); + throw e; + } + await pageObjects.svlCommonPage.forceLogout(); }); @@ -45,7 +56,7 @@ export default ({ getPageObjects, getService }: FtrProviderContext) => { await es.indices.putIndexTemplate({ name: TEST_TEMPLATE, body: { - index_patterns: ['test*'], + index_patterns: [INDEX_PATTERN], }, }); }); @@ -85,7 +96,7 @@ export default ({ getPageObjects, getService }: FtrProviderContext) => { await testSubjects.click('createTemplateButton'); await testSubjects.setValue('nameField', TEST_TEMPLATE_NAME); - await testSubjects.setValue('indexPatternsField', 'test*'); + await testSubjects.setValue('indexPatternsField', INDEX_PATTERN); // Click form summary step and then the submit button await testSubjects.click('formWizardStep-5');