Skip to content

Commit

Permalink
[TEST] refactor all tests to be consistent across different source co…
Browse files Browse the repository at this point in the history
…des (opensearch-project#9319)

* refactor all tests to be consistent across different source codes

Signed-off-by: Justin Kim <[email protected]>

* remove openWorkspaceDashboard from osd

Signed-off-by: Justin Kim <[email protected]>

* address comments

Signed-off-by: Justin Kim <[email protected]>

* fix broken tests

Signed-off-by: Justin Kim <[email protected]>

---------

Signed-off-by: Justin Kim <[email protected]>
  • Loading branch information
angle943 authored and ananzh committed Mar 4, 2025
1 parent 1496987 commit 7126d94
Show file tree
Hide file tree
Showing 30 changed files with 1,100 additions and 1,435 deletions.
1 change: 1 addition & 0 deletions cypress.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ module.exports = defineConfig({
ML_COMMONS_DASHBOARDS_ENABLED: true,
WAIT_FOR_LOADER_BUFFER_MS: 0,
DISABLE_LOCAL_CLUSTER: false,
CYPRESS_RUNTIME_ENV: 'osd',
},
e2e: {
baseUrl: 'http://localhost:5601',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,49 +3,54 @@
* SPDX-License-Identifier: Apache-2.0
*/

import { SECONDARY_ENGINE, INDEX_WITH_TIME_1 } from '../../../../../utils/constants';
import {
getRandomizedWorkspaceName,
getRandomizedDatasourceName,
} from '../../../../../utils/apps/query_enhancements/shared';
import { DATASOURCE_NAME, PATHS, INDEX_WITH_TIME_1 } from '../../../../../utils/constants';
import { getRandomizedWorkspaceName } from '../../../../../utils/apps/query_enhancements/shared';
import { prepareTestSuite } from '../../../../../utils/helpers';

const workspaceName = getRandomizedWorkspaceName();
const dataSourceName = getRandomizedDatasourceName();

describe('No Index Pattern Check Test', () => {
before(() => {
// Load test data
cy.setupTestData(
SECONDARY_ENGINE.url,
['cypress/fixtures/query_enhancements/data_logs_1/data_logs_small_time_1.mapping.json'],
['cypress/fixtures/query_enhancements/data_logs_1/data_logs_small_time_1.data.ndjson']
);
const noIndexPatternTestSuite = () => {
describe('No Index Pattern Check Test', () => {
beforeEach(() => {
// Load test data
cy.osd.setupTestData(
PATHS.SECONDARY_ENGINE,
[`cypress/fixtures/query_enhancements/data_logs_1/${INDEX_WITH_TIME_1}.mapping.json`],
[`cypress/fixtures/query_enhancements/data_logs_1/${INDEX_WITH_TIME_1}.data.ndjson`]
);

// Add data source
cy.addDataSource({
name: dataSourceName,
url: SECONDARY_ENGINE.url,
authType: 'no_auth',
// Add data source
cy.osd.addDataSource({
name: DATASOURCE_NAME,
url: PATHS.SECONDARY_ENGINE,
authType: 'no_auth',
});
// Create workspace
cy.deleteAllWorkspaces();
cy.visit('/app/home');
cy.osd.createInitialWorkspaceWithDataSource(DATASOURCE_NAME, workspaceName);
cy.wait(2000);
});
// Create workspace
cy.deleteWorkspaceByName(workspaceName);
cy.visit('/app/home');
cy.osd.createInitialWorkspaceWithDataSource(dataSourceName, workspaceName);
cy.wait(2000);
});

after(() => {
cy.deleteWorkspaceByName(workspaceName);
// TODO: Modify deleteIndex to handle an array of index and remove hard code
cy.deleteDataSourceByName(dataSourceName);
cy.deleteIndex(INDEX_WITH_TIME_1);
});
afterEach(() => {
cy.deleteWorkspaceByName(workspaceName);
cy.osd.deleteDataSourceByName(DATASOURCE_NAME);
cy.osd.deleteIndex(INDEX_WITH_TIME_1);
});

describe('empty state', () => {
it('no index pattern', function () {
// Go to the Discover page
cy.waitForLoader(true);
cy.getElementByTestId('discoverNoIndexPatterns');
describe('empty state', () => {
it('no index pattern', function () {
// Go to the Discover page
cy.navigateToWorkSpaceSpecificPage({
workspaceName: workspaceName,
page: 'discover',
isEnhancement: true,
});
cy.waitForLoader(true);
cy.getElementByTestId('discoverNoIndexPatterns').should('be.visible');
});
});
});
});
};

prepareTestSuite('a_check', noIndexPatternTestSuite);
Original file line number Diff line number Diff line change
Expand Up @@ -4,16 +4,16 @@
*/

import {
DATASOURCE_NAME,
INDEX_PATTERN_WITH_TIME,
INDEX_WITH_TIME_1,
INDEX_WITH_TIME_2,
SECONDARY_ENGINE,
PATHS,
} from '../../../../../utils/constants';

import {
generateAllTestConfigurations,
getRandomizedWorkspaceName,
getRandomizedDatasourceName,
setDatePickerDatesAndSearchIfRelevant,
getDefaultQuery,
} from '../../../../../utils/apps/query_enhancements/shared';
Expand All @@ -25,16 +25,16 @@ import {
verifyBaseState,
setUpBaseState,
} from '../../../../../utils/apps/query_enhancements/dataset_selector';
import { prepareTestSuite } from '../../../../../utils/helpers';

const workspaceName = getRandomizedWorkspaceName();
const dataSourceName = getRandomizedDatasourceName();

export const runDatasetSelectorTests = () => {
describe('dataset selector', { scrollBehavior: false }, () => {
beforeEach(() => {
// Load test data
cy.setupTestData(
SECONDARY_ENGINE.url,
cy.osd.setupTestData(
PATHS.SECONDARY_ENGINE,
[
`cypress/fixtures/query_enhancements/data_logs_1/${INDEX_WITH_TIME_1}.mapping.json`,
`cypress/fixtures/query_enhancements/data_logs_2/${INDEX_WITH_TIME_2}.mapping.json`,
Expand All @@ -45,31 +45,30 @@ export const runDatasetSelectorTests = () => {
]
);
// Add data source
cy.addDataSource({
name: dataSourceName,
url: SECONDARY_ENGINE.url,
cy.osd.addDataSource({
name: DATASOURCE_NAME,
url: PATHS.SECONDARY_ENGINE,
authType: 'no_auth',
});

// Create workspace
cy.deleteWorkspaceByName(workspaceName);
cy.deleteAllWorkspaces();
cy.visit('/app/home');
cy.osd.createInitialWorkspaceWithDataSource(dataSourceName, workspaceName);
cy.osd.createInitialWorkspaceWithDataSource(DATASOURCE_NAME, workspaceName);
cy.createWorkspaceIndexPatterns({
workspaceName: workspaceName,
indexPattern: INDEX_PATTERN_WITH_TIME.replace('*', ''),
timefieldName: 'timestamp',
dataSource: dataSourceName,
dataSource: DATASOURCE_NAME,
isEnhancement: true,
});
});

afterEach(() => {
cy.deleteWorkspaceByName(workspaceName);
// TODO: Modify deleteIndex to handle an array of index and remove hard code
cy.deleteDataSourceByName(dataSourceName);
cy.deleteIndex(INDEX_WITH_TIME_1);
cy.deleteIndex(INDEX_WITH_TIME_2);
cy.osd.deleteDataSourceByName(DATASOURCE_NAME);
cy.osd.deleteIndex(INDEX_WITH_TIME_1);
cy.osd.deleteIndex(INDEX_WITH_TIME_2);
});

generateAllTestConfigurations(generateDatasetSelectorTestConfiguration).forEach((config) => {
Expand All @@ -81,9 +80,9 @@ export const runDatasetSelectorTests = () => {
});

if (config.datasetType === 'INDEX_PATTERN') {
cy.setIndexPatternFromAdvancedSelector(config.dataset, dataSourceName, config.language);
cy.setIndexPatternFromAdvancedSelector(config.dataset, DATASOURCE_NAME, config.language);
} else {
cy.setIndexAsDataset(config.dataset, dataSourceName, config.language);
cy.setIndexAsDataset(config.dataset, DATASOURCE_NAME, config.language);
}
setDatePickerDatesAndSearchIfRelevant(config.language);

Expand All @@ -106,7 +105,7 @@ export const runDatasetSelectorTests = () => {
});

// Setup the base state
setUpBaseState(INDEX_PATTERN_WITH_TIME, dataSourceName);
setUpBaseState(INDEX_PATTERN_WITH_TIME, DATASOURCE_NAME);

// Verify if the base state is setup properly
verifyBaseState(INDEX_PATTERN_WITH_TIME);
Expand All @@ -115,14 +114,14 @@ export const runDatasetSelectorTests = () => {
if (config.datasetType === 'INDEX_PATTERN') {
cy.setIndexPatternFromAdvancedSelector(
config.dataset,
dataSourceName,
DATASOURCE_NAME,
config.language,
'cancel'
);
} else {
cy.setIndexAsDataset(
config.dataset,
dataSourceName,
DATASOURCE_NAME,
config.language,
'timestamp',
'cancel'
Expand All @@ -136,4 +135,4 @@ export const runDatasetSelectorTests = () => {
});
};

runDatasetSelectorTests();
prepareTestSuite('Dataset Selector', runDatasetSelectorTests);
Loading

0 comments on commit 7126d94

Please sign in to comment.