-
Notifications
You must be signed in to change notification settings - Fork 898
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Migrate query enhancement cypress tests to OSD
Signed-off-by: abbyhu2000 <[email protected]>
- Loading branch information
1 parent
d7b9046
commit e28133c
Showing
21 changed files
with
1,327 additions
and
211 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
23 changes: 23 additions & 0 deletions
23
cypress/fixtures/dashboard/opensearch_dashboards/data.json.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
{ | ||
"type": "doc", | ||
"value": { | ||
"id": "3", | ||
"index": "timestamp-nanos", | ||
"source": { | ||
"timestamp": "2019-01-01T12:10:30.123456789Z" | ||
}, | ||
"type": "_doc" | ||
} | ||
} | ||
|
||
{ | ||
"type": "doc", | ||
"value": { | ||
"id": "4", | ||
"index": "timestamp-nanos", | ||
"source": { | ||
"timestamp": "2019-01-01T12:10:30.123498765Z" | ||
}, | ||
"type": "_doc" | ||
} | ||
} |
65 changes: 65 additions & 0 deletions
65
cypress/fixtures/dashboard/opensearch_dashboards/data_with_index_pattern.json.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,65 @@ | ||
{ | ||
"type": "doc", | ||
"value": { | ||
"id": "index-pattern:timestamp-*", | ||
"index": ".kibana", | ||
"source": { | ||
"index-pattern": { | ||
"fields": "[{\"name\":\"_id\",\"type\":\"string\",\"esTypes\":[\"_id\"],\"count\":1,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":false},{\"name\":\"_index\",\"type\":\"string\",\"esTypes\":[\"_index\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":false},{\"name\":\"_score\",\"type\":\"number\",\"count\":0,\"scripted\":false,\"searchable\":false,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"_source\",\"type\":\"_source\",\"esTypes\":[\"_source\"],\"count\":0,\"scripted\":false,\"searchable\":false,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"_type\",\"type\":\"string\",\"esTypes\":[\"_type\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":false},{\"name\":\"timestamp\",\"type\":\"date\",\"esTypes\":[\"date\",\"date_nanos\"],\"count\":2,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true}]", | ||
"timeFieldName": "timestamp", | ||
"title": "timestamp-*", | ||
"fieldFormatMap": "{\"timestamp\":{\"id\":\"date_nanos\"}}" | ||
}, | ||
"type": "index-pattern" | ||
}, | ||
"type": "_doc" | ||
} | ||
} | ||
|
||
{ | ||
"type": "doc", | ||
"value": { | ||
"id": "2", | ||
"index": "timestamp-millis", | ||
"source": { | ||
"timestamp": "2019-01-01T12:10:30.124Z" | ||
}, | ||
"type": "_doc" | ||
} | ||
} | ||
|
||
{ | ||
"type": "doc", | ||
"value": { | ||
"id": "1", | ||
"index": "timestamp-millis", | ||
"source": { | ||
"timestamp": "2019-01-01T12:10:30.123Z" | ||
}, | ||
"type": "_doc" | ||
} | ||
} | ||
|
||
{ | ||
"type": "doc", | ||
"value": { | ||
"id": "3", | ||
"index": "timestamp-nanos", | ||
"source": { | ||
"timestamp": "2019-01-01T12:10:30.123456789Z" | ||
}, | ||
"type": "_doc" | ||
} | ||
} | ||
|
||
{ | ||
"type": "doc", | ||
"value": { | ||
"id": "4", | ||
"index": "timestamp-nanos", | ||
"source": { | ||
"timestamp": "2019-01-02T12:10:30.123498765Z" | ||
}, | ||
"type": "_doc" | ||
} | ||
} |
45 changes: 45 additions & 0 deletions
45
cypress/fixtures/dashboard/opensearch_dashboards/mappings.json.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,45 @@ | ||
{ | ||
"type": "index", | ||
"value": { | ||
"aliases": { | ||
}, | ||
"index": "timestamp-millis", | ||
"mappings": { | ||
"properties": { | ||
"timestamp": { | ||
"type": "date" | ||
} | ||
} | ||
}, | ||
"settings": { | ||
"index": { | ||
"number_of_replicas": "1", | ||
"number_of_shards": "1", | ||
"codec": "best_compression" | ||
} | ||
} | ||
} | ||
} | ||
|
||
{ | ||
"type": "index", | ||
"value": { | ||
"aliases": { | ||
}, | ||
"index": "timestamp-nanos", | ||
"mappings": { | ||
"properties": { | ||
"timestamp": { | ||
"type": "date_nanos" | ||
} | ||
} | ||
}, | ||
"settings": { | ||
"index": { | ||
"number_of_replicas": "1", | ||
"number_of_shards": "1", | ||
"codec": "best_compression" | ||
} | ||
} | ||
} | ||
} |
180 changes: 180 additions & 0 deletions
180
...ss/integration/core_opensearch_dashboards/apps/query_enhancement/dataset_selector_spec.js
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,180 @@ | ||
/* | ||
* Copyright OpenSearch Contributors | ||
* SPDX-License-Identifier: Apache-2.0 | ||
*/ | ||
import { | ||
MiscUtils, | ||
TestFixtureHandler, | ||
} from '@opensearch-dashboards-test/opensearch-dashboards-test-library'; | ||
import { CURRENT_TENANT } from '../../../../../utils/commands'; | ||
import { clusterName, clusterConnection } from '../../../../../utils/constants'; | ||
|
||
const miscUtils = new MiscUtils(cy); | ||
const testFixtureHandler = new TestFixtureHandler(cy, Cypress.env('openSearchUrl')); | ||
|
||
const indexSet = ['logstash-2015.09.22', 'logstash-2015.09.21', 'logstash-2015.09.20']; | ||
|
||
describe('dataset navigator', { scrollBehavior: false }, () => { | ||
before(() => { | ||
CURRENT_TENANT.newTenant = 'global'; | ||
cy.fleshTenantSettings(); | ||
}); | ||
|
||
describe('empty state', () => { | ||
it('no index pattern', function () { | ||
// Go to the Discover page | ||
miscUtils.visitPage( | ||
`app/data-explorer/discover#/?_g=(filters:!(),time:(from:'2015-09-19T13:31:44.000Z',to:'2015-09-24T01:31:44.000Z'))` | ||
); | ||
|
||
cy.waitForLoaderNewHeader(); | ||
cy.getElementByTestId('discoverNoIndexPatterns'); | ||
}); | ||
}); | ||
|
||
describe('select indices', () => { | ||
before(() => { | ||
testFixtureHandler.importJSONMapping( | ||
'cypress/fixtures/dashboard/opensearch_dashboards/query_enhancement/mappings.json.txt' | ||
); | ||
|
||
testFixtureHandler.importJSONDoc( | ||
'cypress/fixtures/dashboard/opensearch_dashboards/query_enhancement/data.json.txt' | ||
); | ||
|
||
// Since default cluster is removed, need to create a data source connection | ||
miscUtils.visitPage('app/management/opensearch-dashboards/dataSources/create'); | ||
cy.intercept('POST', '/api/saved_objects/data-source').as('createDataSourceRequest'); | ||
cy.getElementByTestId(`datasource_card_opensearch`).click(); | ||
cy.get('[name="dataSourceTitle"]').type(clusterName); | ||
cy.get('[name="endpoint"]').type(clusterConnection); | ||
cy.getElementByTestId('createDataSourceFormAuthTypeSelect').click(); | ||
cy.get(`button[id="no_auth"]`).click(); | ||
|
||
cy.getElementByTestId('createDataSourceButton').click(); | ||
cy.wait('@createDataSourceRequest').then((interception) => { | ||
expect(interception.response.statusCode).to.equal(200); | ||
}); | ||
cy.location('pathname', { timeout: 6000 }).should( | ||
'include', | ||
'app/management/opensearch-dashboards/dataSources' | ||
); | ||
|
||
// Go to the Discover page | ||
miscUtils.visitPage(`app/data-explorer/discover#/`); | ||
|
||
cy.waitForLoaderNewHeader(); | ||
}); | ||
|
||
it('with SQL as default language', function () { | ||
cy.getElementByTestId(`datasetSelectorButton`).click(); | ||
cy.getElementByTestId(`datasetSelectorAdvancedButton`).click(); | ||
cy.get(`[title="Indexes"]`).click(); | ||
cy.get(`[title=${clusterName}]`).click(); | ||
cy.get(`[title="timestamp-nanos"]`).click(); | ||
cy.getElementByTestId('datasetSelectorNext').click(); | ||
|
||
cy.get(`[class="euiModalHeader__title"]`).should('contain', 'Step 2: Configure data'); | ||
// should have two options: SQL and PPL | ||
cy.getElementByTestId('advancedSelectorLanguageSelect') | ||
.get('option') | ||
.should('have.length', 2); | ||
|
||
//select SQL | ||
cy.getElementByTestId('advancedSelectorLanguageSelect').select('OpenSearch SQL'); | ||
cy.getElementByTestId('advancedSelectorConfirmButton').click(); | ||
|
||
cy.waitForLoaderNewHeader(); | ||
|
||
// SQL should already be selected | ||
cy.getElementByTestId('queryEditorLanguageSelector').should('contain', 'OpenSearch SQL'); | ||
cy.waitForLoaderNewHeader(); | ||
|
||
// SQL query should be executed and sending back result | ||
cy.get(`[data-test-subj="queryResultCompleteMsg"]`).should('be.visible'); | ||
|
||
// Switch language to PPL | ||
cy.setQueryLanguage('PPL'); | ||
cy.waitForLoaderNewHeader(); | ||
cy.get(`[data-test-subj="queryResultCompleteMsg"]`).should('be.visible'); | ||
}); | ||
|
||
it('with PPL as default language', function () { | ||
cy.getElementByTestId(`datasetSelectorButton`).click(); | ||
cy.getElementByTestId(`datasetSelectorAdvancedButton`).click(); | ||
cy.get(`[title="Indexes"]`).click(); | ||
cy.get(`[title=${clusterName}]`).click(); | ||
cy.get(`[title="timestamp-nanos"]`).click(); | ||
cy.getElementByTestId('datasetSelectorNext').click(); | ||
|
||
cy.get(`[class="euiModalHeader__title"]`).should('contain', 'Step 2: Configure data'); | ||
|
||
//select PPL | ||
cy.getElementByTestId('advancedSelectorLanguageSelect').select('PPL'); | ||
|
||
cy.getElementByTestId(`advancedSelectorTimeFieldSelect`).select('timestamp'); | ||
cy.getElementByTestId('advancedSelectorConfirmButton').click(); | ||
|
||
cy.waitForLoaderNewHeader(); | ||
|
||
// PPL should already be selected | ||
cy.getElementByTestId('queryEditorLanguageSelector').should('contain', 'PPL'); | ||
|
||
const fromTime = 'Sep 19, 2018 @ 00:00:00.000'; | ||
const toTime = 'Sep 21, 2019 @ 00:00:00.000'; | ||
cy.setTopNavDate(fromTime, toTime); | ||
|
||
cy.waitForLoaderNewHeader(); | ||
|
||
// Query should finish running with timestamp and finish time in the footer | ||
cy.getElementByTestId('queryResultCompleteMsg').should('be.visible'); | ||
cy.getElementByTestId('queryEditorFooterTimestamp').should('contain', 'timestamp'); | ||
|
||
// Switch language to SQL | ||
cy.setQueryLanguage('OpenSearch SQL'); | ||
|
||
cy.waitForLoaderNewHeader(); | ||
cy.getElementByTestId('queryResultCompleteMsg').should('be.visible'); | ||
cy.getElementByTestId('queryEditorFooterTimestamp').should('contain', 'timestamp'); | ||
}); | ||
}); | ||
|
||
describe('index pattern', () => { | ||
it('create index pattern and select it', function () { | ||
// import logstash functional | ||
testFixtureHandler.importJSONDocIfNeeded( | ||
indexSet, | ||
'cypress/fixtures/dashboard/opensearch_dashboards/data_explorer/logstash/logstash.mappings.json.txt', | ||
'cypress/fixtures/dashboard/opensearch_dashboards/data_explorer/logstash/logstash.json.txt' | ||
); | ||
testFixtureHandler.importJSONMapping( | ||
'cypress/fixtures/dashboard/opensearch_dashboards/data_explorer/discover/discover.mappings.json.txt' | ||
); | ||
|
||
testFixtureHandler.importJSONDoc( | ||
'cypress/fixtures/dashboard/opensearch_dashboards/data_explorer/discover/discover.json.txt' | ||
); | ||
|
||
// Go to the Discover page | ||
miscUtils.visitPage( | ||
`app/data-explorer/discover#/?_g=(filters:!(),time:(from:'2015-09-19T13:31:44.000Z',to:'2015-09-24T01:31:44.000Z'))` | ||
); | ||
|
||
cy.get(`[class~="datasetSelector__button"]`).click(); | ||
cy.getElementByTestId(`datasetOption-logstash-*`).click(); | ||
|
||
cy.waitForLoaderNewHeader(); | ||
cy.waitForSearch(); | ||
cy.verifyHitCount('14,004'); | ||
}); | ||
}); | ||
|
||
after(() => { | ||
cy.deleteIndex('timestamp-nanos'); | ||
// delete the data source connection | ||
miscUtils.visitPage('app/management/opensearch-dashboards/dataSources/'); | ||
cy.get(`[class="euiTableRowCell"]`).contains(clusterName).click(); | ||
cy.getElementByTestId('editDatasourceDeleteIcon').click(); | ||
cy.getElementByTestId('confirmModalConfirmButton').click(); | ||
}); | ||
}); |
Oops, something went wrong.