[ACS-9102] Local ACS deployment for E2Es (#4324)

* [ACS-9102] Local ACS deployment draft

* [ACS-9102] Move ACS deployment to composite action

* [ACS-9102] Remove obsolete checks

* [ACS-9102] Proper secrets for ACS deployment

* [ACS-9102] Add required shell property

* [ACS-9102] Use fixed acs deployment version

* [ACS-9102] Proper acs deployment tag

* [ACS-9102] Add required shell property

* [ACS-9102] Fix helm install params

* [ACS-9102] Remove obsolete checkout

* [ACS-9102] Use more powerful runner for E2Es

* [ACS-9102] Introduce temp secrets

* test curl localhost

* skip n-1 matrix jobs

* test ipv4 first

* [ACS-9102] Adjust Playwright E2E host

* [ACS-9102] Bring back matrix job

* disable unnecessary acs components

* debug ingress after tests run

* [ACS-9102] Fix folder-rules test suite

* [ACS-9102] Fix part of viewer test suite

* [ACS-9102] Additional E2E fixes

* [ACS-9102] fixes for e2es -> empty-list and search

* [ACS-9102] more fixes for e2es and github actions artifacts added for easier debugging

* [ACS-9102] removed artifacts from GHA

* print all logs

* [ACS-9102] Remove outdated secrets

* [ACS-9102] Remove after-e2e action

* do not wait for reindexing

* test on latest runner

* Always debug ingress logs

* avoid sleep waiting for app startup

* cleanup unnecessary action input type

* fixup indent

* test with latest acs alpha

* Revert "do not wait for reindexing"

This reverts commit 86ca54de33a6b5bf1da65202caac5798b5f88d51.

* [ACS-9102] Exclude unstable test cases

* [ACS-9102] Exclude unstable test cases

* [ACS-9102] Exclude unstable test cases

---------

Co-authored-by: Giovanni Toraldo <giovanni.toraldo@hyland.com>
Co-authored-by: Adam Świderski <adam.tomasz.swiderski@gmail.com>
This commit is contained in:
MichalKinas
2025-01-15 11:34:03 +01:00
committed by GitHub
parent 52d586afe0
commit 8931a295c6
27 changed files with 363 additions and 190 deletions

View File

@@ -2,5 +2,6 @@
"XAT-17181": "https://hyland.atlassian.net/browse/ACS-8865",
"XAT-17182": "https://hyland.atlassian.net/browse/ACS-8865",
"XAT-17184": "https://hyland.atlassian.net/browse/ACS-8865",
"XAT-17185": "https://hyland.atlassian.net/browse/ACS-8865"
"XAT-17185": "https://hyland.atlassian.net/browse/ACS-8865",
"MNT-21058": "https://hyland.atlassian.net/browse/ACS-9154"
}

View File

@@ -181,7 +181,7 @@ test.describe('viewer action file', () => {
test('[C297586] [C307004] Upload new version action - major', async ({ personalFiles, nodesApiAction }) => {
await personalFiles.dataTable.performClickFolderOrFileToOpen(filePersonalFiles);
await personalFiles.viewer.waitForViewerToOpen();
await personalFiles.viewer.waitForViewerToOpen('wait for viewer content');
await Utils.uploadFileNewVersion(personalFiles, docxFile2);
@@ -191,7 +191,9 @@ test.describe('viewer action file', () => {
await personalFiles.uploadNewVersionDialog.uploadButton.waitFor({ state: 'detached' });
await expect(personalFiles.uploadNewVersionDialog.cancelButton).toHaveCount(0);
expect(await personalFiles.viewer.isViewerOpened(), 'Viewer is not open').toBe(true);
expect(await personalFiles.viewer.fileTitleButtonLocator.innerText()).toContain(docxFile2);
await Utils.waitForApiResponse(personalFiles, 'content', 200);
expect(await personalFiles.viewer.getFileTitle()).toContain(docxFile2);
expect(await nodesApiAction.getNodeProperty(filePersonalFilesId, 'cm:versionType'), 'File has incorrect version type').toEqual('MAJOR');
expect(await nodesApiAction.getNodeProperty(filePersonalFilesId, 'cm:versionLabel'), 'File has incorrect version label').toEqual('2.0');
});
@@ -207,7 +209,8 @@ test.describe('viewer action file', () => {
await expect(personalFiles.uploadNewVersionDialog.cancelButton).toHaveCount(0);
await personalFiles.viewer.waitForViewerToOpen();
expect(await personalFiles.viewer.fileTitleButtonLocator.innerText()).toContain(docxFile);
await Utils.waitForApiResponse(personalFiles, 'content', 200);
expect(await personalFiles.viewer.getFileTitle()).toContain(docxFile);
await personalFiles.acaHeader.clickViewerMoreActions();
await expect(personalFiles.matMenu.getMenuItemFromHeaderMenu('Cancel Editing'), `'Cancel Editing' button shouldn't be shown`).toBeHidden();

View File

@@ -45,7 +45,15 @@ test.describe('viewer file types', () => {
test.beforeAll(async () => {
const apiClientFactory = new ApiClientFactory();
await apiClientFactory.setUpAcaBackend('admin');
await apiClientFactory.createUser({ username });
try {
await apiClientFactory.createUser({ username });
} catch (exception) {
if (JSON.parse(exception.message).error.statusCode !== 409) {
throw new Error(`----- beforeAll failed : ${exception}`);
}
}
nodesApi = await NodesApi.initialize(username, username);
fileActionApi = await FileActionsApi.initialize(username, username);
trashcanApi = await TrashcanApi.initialize(username, username);

View File

@@ -60,7 +60,13 @@ test.describe('viewer file', () => {
const randomFolderName = `viewer-${Utils.random()}`;
const apiClientFactory = new ApiClientFactory();
await apiClientFactory.setUpAcaBackend('admin');
await apiClientFactory.createUser({ username });
try {
await apiClientFactory.createUser({ username });
} catch (exception) {
if (JSON.parse(exception.message).error.statusCode !== 409) {
throw new Error(`----- beforeAll failed : ${exception}`);
}
}
nodesApi = await NodesApi.initialize(username, username);
const fileActionApi = await FileActionsApi.initialize(username, username);
trashcanApi = await TrashcanApi.initialize(username, username);
@@ -77,13 +83,41 @@ test.describe('viewer file', () => {
await shareActions.shareFileById(fileDocxId);
await favoritesActions.addFavoriteById('file', fileDocxId);
await siteActionsAdmin.createSite(siteAdmin, Site.VisibilityEnum.PRIVATE);
docLibId = await siteActionsAdmin.getDocLibId(siteAdmin);
fileAdminId = (await fileActionApiAdmin.uploadFile(TEST_FILES.DOCX.path, fileAdmin, docLibId)).entry.id;
try {
await siteActionsAdmin.createSite(siteAdmin, Site.VisibilityEnum.PRIVATE);
} catch (exception) {
if (JSON.parse(exception.message).error.statusCode !== 409) {
throw new Error(`----- beforeAll failed : ${exception}`);
}
}
docLibId = await siteActionsAdmin.getDocLibId(siteAdmin);
try {
fileAdminId = (await fileActionApiAdmin.uploadFile(TEST_FILES.DOCX.path, fileAdmin, docLibId)).entry.id;
} catch (exception) {
if (JSON.parse(exception.message).error.statusCode !== 409) {
throw new Error(`----- beforeAll failed : ${exception}`);
}
}
try {
await siteActionsUser.createSite(siteUser, Site.VisibilityEnum.PUBLIC);
} catch (exception) {
if (JSON.parse(exception.message).error.statusCode !== 409) {
throw new Error(`----- beforeAll failed : ${exception}`);
}
}
await siteActionsUser.createSite(siteUser, Site.VisibilityEnum.PUBLIC);
docLibSiteUserId = await siteActionsUser.getDocLibId(siteUser);
await fileActionApi.uploadFile(TEST_FILES.DOCX.path, fileInSite, docLibSiteUserId);
try {
await fileActionApi.uploadFile(TEST_FILES.DOCX.path, fileInSite, docLibSiteUserId);
} catch (exception) {
if (JSON.parse(exception.message).error.statusCode !== 409) {
throw new Error(`----- beforeAll failed : ${exception}`);
}
}
await Promise.all([
favoritesActions.isFavoriteWithRetry(username, fileDocxId, { expect: true }),