Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Test fixes 7.x #72206

Closed
wants to merge 4 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,14 @@ import {
} from 'src/core/server';
import { PACKAGES_SAVED_OBJECT_TYPE } from '../../../../../common';
import * as Registry from '../../registry';
import { AssetType, KibanaAssetType, AssetReference } from '../../../../types';
import {
AssetType,
KibanaAssetType,
AssetReference,
KibanaAssetReference,
} from '../../../../types';
import { deleteKibanaSavedObjectsAssets } from '../../packages/remove';
import { getInstallationObject, savedObjectTypes } from '../../packages';
import { saveInstalledKibanaRefs } from '../../packages/install';

type SavedObjectToBe = Required<SavedObjectsBulkCreateObject> & { type: AssetType };
export type ArchiveAsset = Pick<
Expand Down Expand Up @@ -49,7 +53,7 @@ export async function installKibanaAssets(options: {
pkgName: string;
paths: string[];
isUpdate: boolean;
}): Promise<AssetReference[]> {
}): Promise<KibanaAssetReference[]> {
const { savedObjectsClient, paths, pkgName, isUpdate } = options;

if (isUpdate) {
Expand All @@ -65,16 +69,14 @@ export async function installKibanaAssets(options: {

// install the new assets and save installation references
const kibanaAssetTypes = Object.values(KibanaAssetType);
const installationPromises = kibanaAssetTypes.map((assetType) =>
installKibanaSavedObjects({ savedObjectsClient, assetType, paths })
const installedAssets = await Promise.all(
kibanaAssetTypes.map((assetType) =>
installKibanaSavedObjects({ savedObjectsClient, assetType, paths })
)
);
// installKibanaSavedObjects returns AssetReference[], so .map creates AssetReference[][]
// call .flat to flatten into one dimensional array
const newInstalledKibanaAssets = await Promise.all(installationPromises).then((results) =>
results.flat()
);
await saveInstalledKibanaRefs(savedObjectsClient, pkgName, newInstalledKibanaAssets);
return newInstalledKibanaAssets;
return installedAssets.flat();
}
export const deleteKibanaInstalledRefs = async (
savedObjectsClient: SavedObjectsClientContract,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -169,17 +169,20 @@ export async function installPackage(options: {
);
}

// update to newly installed version when all assets are successfully installed
if (isUpdate) await updateVersion(savedObjectsClient, pkgName, pkgVersion);
// get template refs to save
const installedTemplateRefs = installedTemplates.map((template) => ({
id: template.templateName,
type: ElasticsearchAssetType.indexTemplate,
}));

const [installedKibanaAssets] = await Promise.all([
installKibanaAssetsPromise,
installIndexPatternPromise,
]);

await saveInstalledKibanaRefs(savedObjectsClient, pkgName, installedKibanaAssets);
// update to newly installed version when all assets are successfully installed
if (isUpdate) await updateVersion(savedObjectsClient, pkgName, pkgVersion);
return [...installedKibanaAssets, ...installedPipelines, ...installedTemplateRefs];
}
const updateVersion = async (
Expand Down Expand Up @@ -230,12 +233,11 @@ export async function createInstallation(options: {
export const saveInstalledKibanaRefs = async (
savedObjectsClient: SavedObjectsClientContract,
pkgName: string,
installedAssets: AssetReference[]
installedAssets: KibanaAssetReference[]
) => {
await savedObjectsClient.update(PACKAGES_SAVED_OBJECT_TYPE, pkgName, {
return savedObjectsClient.update(PACKAGES_SAVED_OBJECT_TYPE, pkgName, {
installed_kibana: installedAssets,
});
return installedAssets;
};

export const saveInstalledEsRefs = async (
Expand Down
3 changes: 1 addition & 2 deletions x-pack/test/api_integration/apis/fleet/setup.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,7 @@ export default function ({ getService }: FtrProviderContext) {
const supertest = getService('supertest');
const es = getService('es');

// FLAKY: https://github.com/elastic/kibana/issues/72053
describe.skip('fleet_setup', () => {
describe('fleet_setup', () => {
beforeEach(async () => {
try {
await es.security.deleteUser({
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,7 @@ export default function ({ getService }: FtrProviderContext) {
const mappingsPackage = 'overrides-0.1.0';
const server = dockerServers.get('registry');

// FLAKY: https://github.com/elastic/kibana/issues/71939
describe.skip('installs packages that include settings and mappings overrides', async () => {
describe('installs packages that include settings and mappings overrides', async () => {
after(async () => {
if (server.enabled) {
// remove the package just in case it being installed will affect other tests
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,7 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) {
const testSubjects = getService('testSubjects');
const policyTestResources = getService('policyTestResources');

// FLAKY: https://github.com/elastic/kibana/issues/72102
describe.skip('When on the Endpoint Policy Details Page', function () {
describe('When on the Endpoint Policy Details Page', function () {
this.tags(['ciGroup7']);

describe('with an invalid policy id', () => {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,7 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) {
const policyTestResources = getService('policyTestResources');
const RELATIVE_DATE_FORMAT = /\d (?:seconds|minutes) ago/i;

// FLAKY: https://github.com/elastic/kibana/issues/71951
describe.skip('When on the Endpoint Policy List', function () {
describe('When on the Endpoint Policy List', function () {
this.tags(['ciGroup7']);
before(async () => {
await pageObjects.policy.navigateToPolicyList();
Expand Down