[Fleet] Fix preconfiguration inputs enablement (#126205) (#126246)

(cherry picked from commit b1444ca4be)

Co-authored-by: Nicolas Chaulet <nicolas.chaulet@elastic.co>
This commit is contained in:
Kibana Machine 2022-02-23 10:09:49 -05:00 committed by GitHub
parent bccd5f9824
commit 3e97bfe1c2
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 7 additions and 10 deletions

View file

@ -1654,8 +1654,8 @@ describe('Package policy service', () => {
});
});
describe('when an input or stream is disabled on the original policy object', () => {
it('remains disabled on the resulting policy object', () => {
describe('when an input or stream is disabled by default in the package', () => {
it('allow preconfiguration to enable it', () => {
const basePackagePolicy: NewPackagePolicy = {
name: 'base-package-policy',
description: 'Base Package Policy',
@ -1864,13 +1864,13 @@ describe('Package policy service', () => {
expect(template2Inputs).toHaveLength(1);
const logsInput = template1Inputs?.find((input) => input.type === 'logs');
expect(logsInput?.enabled).toBe(false);
expect(logsInput?.enabled).toBe(true);
const logfileStream = logsInput?.streams.find(
(stream) => stream.data_stream.type === 'logfile'
);
expect(logfileStream?.enabled).toBe(false);
expect(logfileStream?.enabled).toBe(true);
});
});

View file

@ -1292,14 +1292,11 @@ export function preconfigurePackageInputs(
continue;
}
// For flags like this, we only want to override the original value if it was set
// as `undefined` in the original object. An explicit true/false value should be
// persisted from the original object to the result after the override process is complete.
if (originalInput.enabled === undefined && preconfiguredInput.enabled !== undefined) {
if (preconfiguredInput.enabled !== undefined) {
originalInput.enabled = preconfiguredInput.enabled;
}
if (originalInput.keep_enabled === undefined && preconfiguredInput.keep_enabled !== undefined) {
if (preconfiguredInput.keep_enabled !== undefined) {
originalInput.keep_enabled = preconfiguredInput.keep_enabled;
}
@ -1322,7 +1319,7 @@ export function preconfigurePackageInputs(
continue;
}
if (originalStream?.enabled === undefined) {
if (stream.enabled !== undefined) {
originalStream.enabled = stream.enabled;
}