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

[Meta]Increase test coverage for Multiple Datasource feature support #6702

Closed
Tracked by #6600
yujin-emma opened this issue May 2, 2024 · 2 comments
Closed
Tracked by #6600
Assignees
Labels
enhancement New feature or request v2.15.0

Comments

@yujin-emma
Copy link
Contributor

yujin-emma commented May 2, 2024

Is your feature request related to a problem? Please describe.

The test coverage for Multiple data source feature is not good enough. Some breaking change can be introduced without enough test to capture. We need to increase the test coverage for supporting this feature.

This meta issue is used to track the test coverage for MDS for 2.15 release
List the missing test cases and related action items here:

Unit Test:

  1. custom_database_icon
  2. data_source_aggregated_view
  3. data_source_error_menu
  4. data_source_item
  5. data_source_multi_selectable
  6. data_source_view
  7. edit_data_source
  8. toast_button
  9. validation
    Integration and End-to-end Test:
Feature Test Case Expected Behavior Location
Delete data source When delete data source confirmation popout OSD
default data source With empty data source list and hide local cluster, create the first data source the first data source will be set as default FT repo
With empty data source list and not hide local cluster, create the first data source the first data source will be set as default FT repo
With empty data source list and not hide local cluster local cluster will be default data source FT repo
With non-empty data source list default label can be displayed FT repo
DataSourceView When hide local cluster and pass empty string nothing to render FT repo
When not hide local cluster and pass empty string render local cluster as selectedOption FT repo
When hide local cluster and pass invalid data source id Render default data source if exist default option FT repo
Render error toast if default option not exist FT repo
When not hide local cluster and pass invalid data source id Render default data source if exist default option FT repo
Render error toast if default option not exist FT repo
When hide local cluster and only pass in valid data source id Render the label by fetch dataSourceObj by the input id if this obj is not filtered out FT repo
Render error if the fetch dataSourceObj is filtered out FT repo
When not hide local cluster and only pass in valid data source id Render the label by fetch dataSourceObj by the input id if this obj is not filtered out FT repo
Render error if the fetch dataSourceObj is filtered out FT repo
When hide local cluster and pass both id and label for selectedOption Render selectedOption even if this option is filtered out FT repo
Render selectedOption if this option is not filtered out FT repo
DataSourceSelector When default option is provided, id is empty string while hide local cluster setting is true Show toasts saying the data source is not available FT repo
When default option is provided, id is empty string while hide local cluster setting is false Render local cluster FT repo
When there are compatible datasource options and default data source, hide local cluster Display default data source should show up on the first load FT repo
When there are compatible datasource options and default data source, not hide local cluster Display default data source should show up on the first load FT repo
When empty array is passed for default option and hide local cluster Show placeholder text FT repo
When empty array is passed for default option and not hide local cluster Show placeholder text FT repo
When invalid data source id is passed in and hide local cluster Show toast saying the data source is not available FT repo
When invalid data source id is passed in and not hide local cluster Show toast saying the data source is not available FT repo
When empty data source id is passed in and hide local cluster setting is set to false Show local cluster on initial load FT repo
When there is default data source, but data source filter filters it out, and hide local cluster is set to false Show local cluster FT repo
When all data sources are deleted, hide local cluster is set to true Show toast saying no available data sources FT repo
When valid data source id is passed in Show the data source regardless local cluster setting FT repo
Data source long name testing FT repo
Data Source Selectable When default option is provided, id is empty string while hide local cluster setting is true Show toasts saying the data source is not available FT repo
When default option is provided, id is empty string while hide local cluster setting is false Show local cluster FT repo
When there are compatible datasource options and default data source Default data source should show up on the first load in regardless of the hide local cluster setting FT repo
When invalid data source id is passed in Show toast saying the data source is not available in regardless of the hide local cluster setting FT repo
When there is default data source, but data source filter filters it out, and hide local cluster is set to false Show local cluster FT repo
When there is default data source, but data source filter filters it out, and hide local cluster is set to true Show toast saying the data source is not available FT repo
When all data sources are deleted, hide local cluster is set to true Show toast saying no available data sources FT repo
When valid data source id is passed in Show the data source FT repo
DataSourceAggregatedView No data source added and hide local cluster Show warning for no data source connected FT repo
No data source added and not hide local cluster Show local cluster FT repo
Incompatible data sources and hide local cluster Show warning FT repo
Incompatible data sources and not hide local cluster Show local cluster FT repo
When pass in data source options Render data sources FT repo
When pass invalid data source id Show error FT repo
DataSourceAggregatedView list active No data source added and hide local cluster Show warning for no data source connected FT repo
No data source added and not hide local cluster Show local cluster FT repo
When enable one data source and hide local cluster Show the data source used on the current page FT repo
When enable one data source and not hide local cluster Show the data source used on the current page and local cluster FT repo
When passed input contains invalid data source Show the data source option but uncheck the invalid ones FT repo
When pass in local cluster but hide local cluster Display empty FT repo
When all data sourced filtered out and hide local cluster Show warning for no data source connected FT repo
When all data sourced filtered out and not hide local cluster Only show local cluster FT repo
Versions Call fetch data source Can get meta data from installed plugins OSD and FT repo
Import saved objects When enable data source Can import saved object with specified data source under create new copy/check conflict and override/manual select override OSD and FT repo
When disable data source Can import saved object from non-MDS cluster OSD and FT repo
Add sample data When disable data source Can add sample data OSD and FT repo
When enable data source Can add sample data OSD and FT repo
Dev tools with MDS When enable data source Show default data source if it exists, other than local cluster, Can select other data source in available list, Show warning when no data source and hide local cluster OSD and FT repo
When disable data source Not show anything OSD and FT repo
TSVB with MDS When enable data source Pass in undefined activeOption when data_source_id is not present OSD and FT repo
Pass in pass in Local cluster if data_source_id: '' OSD and FT repo
pass in selected datasource if data_source_id: some-datasource OSD and FT repo
invalid/filtered out data_source_id should be handled by our selector component already OSD and FT repo
When disable data source Ignore data_source_id field and just query from Local cluster OSD and FT repo

Describe the solution you'd like

A clear and concise description of what you want to happen.

Cover as many as possible test cases for supporting multiple data source ( when enable data source )

A clear and concise description of any alternative solutions or features you've considered.

N/A
Add any other context or screenshots about the feature request here.

@yujin-emma yujin-emma added the enhancement New feature or request label May 2, 2024
@yujin-emma yujin-emma self-assigned this May 2, 2024
@BionIT
Copy link
Collaborator

BionIT commented May 6, 2024

For different cases of a same function or component, I would suggest to follow similar pattern in @huyaboo 's PR https://github.com/opensearch-project/OpenSearch-Dashboards/pull/6678/files#diff-5bee04d7a72154306ca30ebf14b62ae22546ca83e47c797a9e6892436269e7c8R293

@BionIT
Copy link
Collaborator

BionIT commented Jun 4, 2024

@yujin-emma For this meta issue, do we have any tasks remaining?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request v2.15.0
Projects
None yet
Development

No branches or pull requests

2 participants