From 7c2cef43fff0da47efa22dd0033370801562be4d Mon Sep 17 00:00:00 2001 From: yubonluo <15242088755@163.com> Date: Wed, 13 Mar 2024 14:38:06 +0800 Subject: [PATCH] feat: enable setup Signed-off-by: yubonluo --- .../workspace-release-e2e-workflow.yml | 34 +++++++++++++++++++ cypress.json | 3 +- .../workspace_create.spec.js | 32 +++++++++++++++++ 3 files changed, 68 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/workspace-release-e2e-workflow.yml create mode 100644 cypress/integration/plugins/dashboards-workspace/workspace_create.spec.js diff --git a/.github/workflows/workspace-release-e2e-workflow.yml b/.github/workflows/workspace-release-e2e-workflow.yml new file mode 100644 index 000000000..801b4d931 --- /dev/null +++ b/.github/workflows/workspace-release-e2e-workflow.yml @@ -0,0 +1,34 @@ +name: Workspace Release tests workflow in Bundled OpenSearch Dashboards +on: + pull_request: + branches: ['**'] + +jobs: + changes: + runs-on: ubuntu-latest + outputs: + tests: ${{ steps.filter.outputs.tests }} + steps: + - uses: dorny/paths-filter@v2 + id: filter + with: + filters: | + tests: + - 'cypress/**/dashboards-workspace/**' + tests-with-security: + needs: changes + if: ${{ needs.changes.outputs.tests == 'true' }} + uses: ./.github/workflows/release-e2e-workflow-template.yml + with: + test-name: dashboards workspace + test-command: env CYPRESS_DASHBOARDS_WORKSPACE_ENABLED=true yarn cypress:run-with-security --browser chromium --spec 'cypress/integration/plugins/dashboards-workspace/*' + osd-serve-args: --workspace.enabled=true --savedObjects.permission.enabled=true + tests-without-security: + needs: changes + if: ${{ needs.changes.outputs.tests == 'true' }} + uses: ./.github/workflows/release-e2e-workflow-template.yml + with: + test-name: dashboards workspace + test-command: env CYPRESS_DASHBOARDS_WORKSPACE_ENABLED=true yarn cypress:run-with-security --browser chromium --spec 'cypress/integration/plugins/dashboards-workspace/*' + osd-serve-args: --workspace.enabled=true --savedObjects.permission.enabled=true + security-enabled: false \ No newline at end of file diff --git a/cypress.json b/cypress.json index 2b6abb7db..79b672b30 100644 --- a/cypress.json +++ b/cypress.json @@ -21,6 +21,7 @@ "DATASOURCE_MANAGEMENT_ENABLED": false, "ML_COMMONS_DASHBOARDS_ENABLED": true, "WAIT_FOR_LOADER_BUFFER_MS": 0, - "DASHBOARDS_ASSISTANT_ENABLED": false + "DASHBOARDS_ASSISTANT_ENABLED": false, + "DASHBOARDS_WORKSPACE_ENABLED": false } } diff --git a/cypress/integration/plugins/dashboards-workspace/workspace_create.spec.js b/cypress/integration/plugins/dashboards-workspace/workspace_create.spec.js new file mode 100644 index 000000000..f0599f6d2 --- /dev/null +++ b/cypress/integration/plugins/dashboards-workspace/workspace_create.spec.js @@ -0,0 +1,32 @@ +/* + * Copyright OpenSearch Contributors + * SPDX-License-Identifier: Apache-2.0 + */ + +import { BASE_PATH } from '../../../utils/constants'; + +if (Cypress.env('DASHBOARDS_WORKSPACE_ENABLED')) { + describe('Workspace CRUD APIs', () => { + describe('Create a workspace', () => { + it('should successfully create a worksapce', () => { + const body = { + attributes: { + name: 'test_workspace', + description: 'test_workspace_description', + }, + }; + cy.request({ + method: 'POST', + url: `${BASE_PATH}/api/workspaces`, + headers: { + 'osd-xsrf': true, + }, + body: body, + }).as('createWorkspace'); + cy.get('@createWorkspace').should((res) => { + expect(res.body.success).to.eql(true); + }); + }); + }); + }); +}