diff --git a/.github/workflows/cypress-marketplace.yml b/.github/workflows/cypress-marketplace.yml index 4d34523219..7193798ec4 100644 --- a/.github/workflows/cypress-marketplace.yml +++ b/.github/workflows/cypress-marketplace.yml @@ -14,9 +14,9 @@ jobs: Cypress-Marketplace: runs-on: ubuntu-22.04 - if: contains(github.event.pull_request.labels.*.name, 'run-cypress') || - contains(github.event.pull_request.labels.*.name, 'run-ce-cypress-marketplace') || - contains(github.event.pull_request.labels.*.name, 'run-ee-cypress-marketplace') + if: contains(github.event.pull_request.labels.*.name, 'run-cypress') || + contains(github.event.pull_request.labels.*.name, 'run-ce-cypress-marketplace') || + contains(github.event.pull_request.labels.*.name, 'run-ee-cypress-marketplace') strategy: matrix: @@ -159,13 +159,12 @@ jobs: "password": "password" }' - - name: Create Cypress environment file id: create-json uses: jsdaniell/create-json@1.1.2 with: name: "cypress.env.json" - json: ${{ secrets.CYPRESS_SECRETS }} + json: ${{ secrets.CYPRESS_SECRETS_MARKETPLACE }} dir: "./cypress-tests" - name: Marketplace @@ -185,8 +184,8 @@ jobs: Cypress-Marketplace-Subpath: runs-on: ubuntu-22.04 - if: contains(github.event.pull_request.labels.*.name, 'run-cypress') || - contains(github.event.pull_request.labels.*.name, 'run-cypress-marketplace-subpath') + if: contains(github.event.pull_request.labels.*.name, 'run-cypress') || + contains(github.event.pull_request.labels.*.name, 'run-cypress-marketplace-subpath') steps: - name: Checkout diff --git a/cypress-tests/cypress/commands/commands.js b/cypress-tests/cypress/commands/commands.js index 10c849d807..0acb76c866 100644 --- a/cypress-tests/cypress/commands/commands.js +++ b/cypress-tests/cypress/commands/commands.js @@ -167,6 +167,10 @@ Cypress.Commands.add("deleteApp", (appName) => { .click(); cy.get(commonSelectors.deleteAppOption).click(); cy.get(commonSelectors.buttonSelector(commonText.modalYesButton)).click(); + cy.verifyToastMessage( + commonSelectors.toastMessage, + commonText.appDeletedToast + ); cy.wait("@appDeleted"); }); @@ -223,9 +227,9 @@ Cypress.Commands.add( .invoke("text") .then((text) => { cy.wrap(subject).realType(createBackspaceText(text)), - { - delay: 0, - }; + { + delay: 0, + }; }); } ); @@ -398,7 +402,7 @@ Cypress.Commands.add("defaultWorkspaceLogin", () => { // cy.intercept("GET", API_ENDPOINT).as("library_apps"); cy.visit("/my-workspace"); - cy.wait(2000) + cy.wait(2000); cy.get(commonSelectors.homePageLogo, { timeout: 10000 }); // cy.wait("@library_apps"); }); @@ -428,7 +432,6 @@ Cypress.Commands.add( } ); - Cypress.Commands.add("releaseApp", () => { if (Cypress.env("environment") !== "Community") { cy.get(commonEeSelectors.promoteButton).click(); @@ -513,13 +516,58 @@ Cypress.Commands.overwrite( } ); +Cypress.Commands.add("installMarketplacePlugin", (pluginName) => { + const MARKETPLACE_URL = `${Cypress.config("baseUrl")}/integrations/marketplace`; + + cy.visit(MARKETPLACE_URL); + cy.wait(1000); + + cy.get('[data-cy="-list-item"]').eq(0).click(); + cy.wait(1000); + + cy.get("body").then(($body) => { + if ($body.find(".plugins-card").length === 0) { + cy.log("No plugins found, proceeding to install..."); + installPlugin(pluginName); + } else { + cy.get(".plugins-card").then(($cards) => { + const isInstalled = $cards.toArray().some((card) => { + return ( + Cypress.$(card) + .find(".font-weight-medium.text-capitalize") + .text() + .trim() === pluginName + ); + }); + + if (isInstalled) { + cy.log(`${pluginName} is already installed. Skipping installation.`); + cy.get(commonSelectors.globalDataSourceIcon).click(); + } else { + installPlugin(pluginName); + cy.get(commonSelectors.globalDataSourceIcon).click(); + } + }); + } + }); + + function installPlugin(pluginName) { + cy.get('[data-cy="-list-item"]').eq(1).click(); + cy.wait(1000); + + cy.contains(".plugins-card", pluginName).within(() => { + cy.get(".marketplace-install").click(); + cy.wait(1000); + }); + } +}); + Cypress.Commands.add("verifyElement", (selector, text, eqValue) => { const element = eqValue !== undefined ? cy.get(selector).eq(eqValue) : cy.get(selector); element.should("be.visible").and("have.text", text); }); - Cypress.Commands.add("getAppId", (appName) => { cy.task("dbConnection", { dbconfig: Cypress.env("app_db"), @@ -529,3 +577,33 @@ Cypress.Commands.add("getAppId", (appName) => { return appId; }); }); + +Cypress.Commands.add("uninstallMarketplacePlugin", (pluginName) => { + const MARKETPLACE_URL = `${Cypress.config("baseUrl")}/integrations/marketplace`; + + cy.visit(MARKETPLACE_URL); + cy.wait(1000); + + cy.get('[data-cy="-list-item"]').eq(0).click(); + cy.wait(1000); + + cy.get(".plugins-card").each(($card) => { + cy.wrap($card) + .find(".font-weight-medium.text-capitalize") + .invoke("text") + .then((text) => { + if (text.trim() === pluginName) { + cy.wrap($card).find(".link-primary").contains("Remove").click(); + cy.wait(1000); + + cy.get('[data-cy="delete-plugin-title"]').should("be.visible"); + cy.get('[data-cy="yes-button"]').click(); + cy.wait(2000); + + cy.log(`${pluginName} has been successfully uninstalled.`); + } else { + cy.log(`${pluginName} is not installed. Skipping uninstallation.`); + } + }); + }); +}); diff --git a/cypress-tests/cypress/constants/texts/postgreSql.js b/cypress-tests/cypress/constants/texts/postgreSql.js index f7c9baf984..9db745b58d 100644 --- a/cypress-tests/cypress/constants/texts/postgreSql.js +++ b/cypress-tests/cypress/constants/texts/postgreSql.js @@ -4,8 +4,8 @@ export const postgreSqlText = { allDataSources: () => { return Cypress.env("marketplace_action") - ? "All data sources (44)" - : "All data sources (45)"; + ? "All data sources (45)" + : "All data sources (43)"; }, commonlyUsed: "Commonly used (5)", allDatabase: () => { diff --git a/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/addAllPluginsToApp.cy.js b/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/addAllPluginsToApp.cy.js index 46f6339e11..51b65aeb60 100644 --- a/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/addAllPluginsToApp.cy.js +++ b/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/addAllPluginsToApp.cy.js @@ -66,7 +66,7 @@ describe("Add all Data sources to app", () => { cy.apiLogin(); }); - it("Should verify global data source page", () => { + it.skip("Should verify global data source page", () => { cy.apiCreateWorkspace(data.workspaceName, data.workspaceSlug); cy.visit(`${data.workspaceSlug}`); @@ -87,7 +87,7 @@ describe("Add all Data sources to app", () => { ); }); - it("Should add all data sources in data source page", () => { + it.skip("Should add all data sources in data source page", () => { cy.visit(`${data.workspaceSlug}`); dataSources.forEach((dsName) => { @@ -109,7 +109,7 @@ describe("Add all Data sources to app", () => { }); }); - it("Should add all data sources in the app", () => { + it.skip("Should add all data sources in the app", () => { cy.visit(`${data.workspaceSlug}`); cy.get(commonSelectors.dashboardIcon).click(); cy.get(commonSelectors.appCreateButton).click(); @@ -135,7 +135,7 @@ describe("Add all Data sources to app", () => { }); }); - it("Should install all makretplace plugins and add them into the app", () => { + it.skip("Should install all makretplace plugins and add them into the app", () => { cy.visit(`${data.workspaceSlug}`); const dataSourcesMarketplace = [ "Plivo", @@ -189,12 +189,15 @@ describe("Add all Data sources to app", () => { cy.wrap(dataSourcesMarketplace).each((dsName) => { cy.get(commonSelectors.globalDataSourceIcon).click(); selectAndAddDataSource("databases", dsName, dsName); - cy.wait(500); + cy.wait(1000); }); - cy.get(commonSelectors.dashboardIcon).click(); - cy.get(commonSelectors.appCreateButton).click(); - cy.get(commonSelectors.appNameInput).click().type(data.dsNamefake1); + cy.get(commonSelectors.dashboardIcon).should("be.visible").click(); + cy.get(commonSelectors.appCreateButton).should("be.visible").click(); + cy.get(commonSelectors.appNameInput) + .should("be.visible") + .click() + .type(data.dsNamefake1); cy.get(commonSelectors.createAppButton).click(); cy.skipWalkthrough(); @@ -203,7 +206,7 @@ describe("Add all Data sources to app", () => { cy.get(".css-4e90k9").type( `cypress-${cyParamName(dsName)}-${cyParamName(dsName)}` ); - cy.wait(500); + cy.wait(1000); cy.contains( `[id*="react-select-"]`, @@ -212,7 +215,7 @@ describe("Add all Data sources to app", () => { .should("be.visible") .click(); - cy.wait(500); + cy.wait(1000); }); }); }); diff --git a/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/airTable.cy.js b/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/airTableHappyPath.cy.js similarity index 96% rename from cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/airTable.cy.js rename to cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/airTableHappyPath.cy.js index 1ae1290180..0733373ece 100644 --- a/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/airTable.cy.js +++ b/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/airTableHappyPath.cy.js @@ -19,13 +19,14 @@ import { import { dataSourceSelector } from "../../../../../constants/selectors/dataSource"; const data = {}; -data.dsName = fake.lastName.toLowerCase().replaceAll("[^A-Za-z]", ""); -data.dsName1 = fake.lastName.toLowerCase().replaceAll("[^A-Za-z]", ""); + +data.queryName = fake.lastName.toLowerCase().replaceAll("[^A-Za-z]", ""); describe("Data source Airtable", () => { beforeEach(() => { cy.apiLogin(); - cy.defaultWorkspaceLogin(); + cy.visit("/"); + data.dsName = fake.lastName.toLowerCase().replaceAll("[^A-Za-z]", ""); }); it("Should verify elements on connection AirTable form", () => { @@ -199,7 +200,7 @@ describe("Data source Airtable", () => { cy.get('[data-cy="show-ds-popover-button"]').click(); cy.get(".css-4e90k9").type(`${data.dsName}`); cy.contains(`[id*="react-select-"]`, data.dsName).click(); - cy.get('[data-cy="query-rename-input"]').clear().type(data.dsName1); + cy.get('[data-cy="query-rename-input"]').clear().type(data.queryName); cy.get(airTableSelector.operationSelectDropdown) .click() @@ -225,7 +226,7 @@ describe("Data source Airtable", () => { cy.get(dataSourceSelector.queryPreviewButton).click(); cy.verifyToastMessage( commonSelectors.toastMessage, - `Query (${data.dsName1}) completed.` + `Query (${data.queryName}) completed.` ); // Verify Delete record operation @@ -277,7 +278,7 @@ describe("Data source Airtable", () => { cy.get(dataSourceSelector.queryPreviewButton).click(); cy.verifyToastMessage( commonSelectors.toastMessage, - `Query (${data.dsName1}) completed.` + `Query (${data.queryName}) completed.` ); deleteAppandDatasourceAfterExecution( data.dsName, diff --git a/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/amazonAthena.cy.js b/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/amazonAthenaHappyPath.cy.skip.js similarity index 92% rename from cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/amazonAthena.cy.js rename to cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/amazonAthenaHappyPath.cy.skip.js index 167ecdb2c5..f207f62058 100644 --- a/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/amazonAthena.cy.js +++ b/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/amazonAthenaHappyPath.cy.skip.js @@ -20,15 +20,15 @@ import { import { dataSourceSelector } from "../../../../../constants/selectors/dataSource"; const data = {}; -data.dsName = fake.lastName.toLowerCase().replaceAll("[^A-Za-z]", ""); describe("Data source amazon athena", () => { beforeEach(() => { cy.apiLogin(); - cy.defaultWorkspaceLogin(); + cy.visit("/"); + data.dsName = fake.lastName.toLowerCase().replaceAll("[^A-Za-z]", ""); }); - it("Should verify elements on amazon athena connection form", () => { + it.skip("Should verify elements on amazon athena connection form", () => { const Accesskey = Cypress.env("amazonathena_accessKey"); const Secretkey = Cypress.env("amazonathena_secretKey"); const DbName = Cypress.env("amazonathena_DbName"); @@ -97,7 +97,7 @@ describe("Data source amazon athena", () => { deleteDatasource(`cypress-${data.dsName}-Amazon-Athena`); }); - it("Should verify the functionality of amazon athena connection form.", () => { + it.skip("Should verify the functionality of amazon athena connection form.", () => { const Accesskey = Cypress.env("amazonathena_accessKey"); const Secretkey = Cypress.env("amazonathena_secretKey"); const DbName = Cypress.env("amazonathena_DbName"); @@ -134,7 +134,7 @@ describe("Data source amazon athena", () => { deleteDatasource(`cypress-${data.dsName}-amazon-Athena`); }); - it("Should able to run the query with valid conection", () => { + it.skip("Should able to run the query with valid conection", () => { const Accesskey = Cypress.env("amazonathena_accessKey"); const Secretkey = Cypress.env("amazonathena_secretKey"); const DbName = Cypress.env("amazonathena_DbName"); @@ -188,11 +188,13 @@ describe("Data source amazon athena", () => { cy.get(".css-4e90k9").type(`${data.dsName}`); cy.contains(`[id*="react-select-"]`, data.dsName).click(); cy.get('[data-cy="query-rename-input"]').clear().type(data.dsName); - + cy.get(`[data-cy="list-query-${data.dsName}"]`).should("be.visible"); cy.get('[data-cy="query-input-field"]').clearAndTypeOnCodeMirror( "SHOW DATABASES;" ); - + cy.get( + '[data-cy="query-input-field"] >>> .cm-editor >> .cm-content > .cm-line' + ).should("have.text", "SHOW DATABASES;"); cy.get(dataSourceSelector.queryPreviewButton).click(); cy.verifyToastMessage( commonSelectors.toastMessage, diff --git a/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/amazonses.cy.js b/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/amazonsesHappyPath.cy.skip.js similarity index 95% rename from cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/amazonses.cy.js rename to cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/amazonsesHappyPath.cy.skip.js index 674c694d28..9c3864c9fd 100644 --- a/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/amazonses.cy.js +++ b/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/amazonsesHappyPath.cy.skip.js @@ -20,15 +20,15 @@ import { import { dataSourceSelector } from "../../../../../constants/selectors/dataSource"; const data = {}; -data.dsName = fake.lastName.toLowerCase().replaceAll("[^A-Za-z]", ""); describe("Data source amazon ses", () => { beforeEach(() => { cy.apiLogin(); - cy.defaultWorkspaceLogin(); + cy.visit("/"); + data.dsName = fake.lastName.toLowerCase().replaceAll("[^A-Za-z]", ""); }); - it("Should verify elements on amazonses connection form", () => { + it.skip("Should verify elements on amazonses connection form", () => { const Accesskey = Cypress.env("amazonSes_accessKey"); const Secretkey = Cypress.env("amazonSes_secretKey"); @@ -80,7 +80,7 @@ describe("Data source amazon ses", () => { deleteDatasource(`cypress-${data.dsName}-Amazon-ses`); }); - it("Should verify the functionality of amazonses connection form.", () => { + it.skip("Should verify the functionality of amazonses connection form.", () => { selectAndAddDataSource("databases", amazonSesText.AmazonSES, data.dsName); cy.get(".react-select__dropdown-indicator").eq(1).click(); @@ -112,7 +112,7 @@ describe("Data source amazon ses", () => { deleteDatasource(`cypress-${data.dsName}-amazon-ses`); }); - it("Should able to run the query with valid conection", () => { + it.skip("Should able to run the query with valid conection", () => { const email = "adish" + "@" + "tooljet.com"; selectAndAddDataSource("databases", amazonSesText.AmazonSES, data.dsName); diff --git a/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/appWrite.cy.js b/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/appWriteHappyPath.cy.skip.js similarity index 96% rename from cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/appWrite.cy.js rename to cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/appWriteHappyPath.cy.skip.js index 8ed50754ad..27f52fd99d 100644 --- a/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/appWrite.cy.js +++ b/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/appWriteHappyPath.cy.skip.js @@ -20,15 +20,15 @@ import { import { dataSourceSelector } from "../../../../../constants/selectors/dataSource"; const data = {}; -data.dsName = fake.lastName.toLowerCase().replaceAll("[^A-Za-z]", ""); describe("Data source AppWrite", () => { beforeEach(() => { cy.apiLogin(); - cy.defaultWorkspaceLogin(); + cy.visit("/"); + data.dsName = fake.lastName.toLowerCase().replaceAll("[^A-Za-z]", ""); }); - it("Should verify elements on appwrite connection form", () => { + it.skip("Should verify elements on appwrite connection form", () => { const Host = Cypress.env("appwrite_host"); const ProjectID = Cypress.env("appwrite_projectID"); const DatabaseID = Cypress.env("appwrite_databaseID"); @@ -100,7 +100,7 @@ describe("Data source AppWrite", () => { deleteDatasource(`cypress-${data.dsName}-Appwrite`); }); - it("Should verify the functionality of appwrite connection form.", () => { + it.skip("Should verify the functionality of appwrite connection form.", () => { const Host = Cypress.env("appwrite_host"); const ProjectID = Cypress.env("appwrite_projectID"); const DatabaseID = Cypress.env("appwrite_databaseID"); @@ -150,7 +150,7 @@ describe("Data source AppWrite", () => { deleteDatasource(`cypress-${data.dsName}-Appwrite`); }); - it("Should be able to run the query with a valid connection", () => { + it.skip("Should be able to run the query with a valid connection", () => { const Host = Cypress.env("appwrite_host"); const ProjectID = Cypress.env("appwrite_projectID"); const DatabaseID = Cypress.env("appwrite_databaseID"); diff --git a/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/awsLambda.cy.js b/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/awsLambdaHappyPath.cy.skip.js similarity index 92% rename from cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/awsLambda.cy.js rename to cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/awsLambdaHappyPath.cy.skip.js index f127beb854..17a3f0426c 100644 --- a/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/awsLambda.cy.js +++ b/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/awsLambdaHappyPath.cy.skip.js @@ -20,15 +20,15 @@ import { import { dataSourceSelector } from "../../../../../constants/selectors/dataSource"; const data = {}; -data.dsName = fake.lastName.toLowerCase().replaceAll("[^A-Za-z]", ""); describe("Data source AWS Lambda", () => { beforeEach(() => { cy.apiLogin(); - cy.defaultWorkspaceLogin(); + cy.visit("/"); + data.dsName = fake.lastName.toLowerCase().replaceAll("[^A-Za-z]", ""); }); - it("Should verify elements on AWS Lambda connection form", () => { + it.skip("Should verify elements on AWS Lambda connection form", () => { const Accesskey = Cypress.env("awslamda_access"); const Secretkey = Cypress.env("awslamda_secret"); @@ -80,9 +80,10 @@ describe("Data source AWS Lambda", () => { ); deleteDatasource(`cypress-${data.dsName}-aws-lambda`); + cy.uninstallMarketplacePlugin("AWS Lambda"); }); - it("Should verify the functionality of AWS Lambda connection form", () => { + it.skip("Should verify the functionality of AWS Lambda connection form", () => { const Accesskey = Cypress.env("awslamda_access"); const Secretkey = Cypress.env("awslamda_secret"); @@ -113,9 +114,10 @@ describe("Data source AWS Lambda", () => { ); deleteDatasource(`cypress-${data.dsName}-aws-lambda`); + cy.uninstallMarketplacePlugin("AWS Lambda"); }); - it("Should able to run the query with valid conection", () => { + it.skip("Should able to run the query with valid conection", () => { const Accesskey = Cypress.env("awslamda_access"); const Secretkey = Cypress.env("awslamda_secret"); diff --git a/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/awsTextract.cy.js b/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/awsTextractHappyPath.cy.skip.js similarity index 94% rename from cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/awsTextract.cy.js rename to cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/awsTextractHappyPath.cy.skip.js index 7af21cf467..1a01ecc757 100644 --- a/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/awsTextract.cy.js +++ b/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/awsTextractHappyPath.cy.skip.js @@ -21,15 +21,15 @@ import { import { dataSourceSelector } from "../../../../../constants/selectors/dataSource"; const data = {}; -data.dsName = fake.lastName.toLowerCase().replaceAll("[^A-Za-z]", ""); describe("Data source AWS Textract", () => { beforeEach(() => { cy.apiLogin(); - cy.defaultWorkspaceLogin(); + cy.visit("/"); + data.dsName = fake.lastName.toLowerCase().replaceAll("[^A-Za-z]", ""); }); - it("Should verify elements on AWS Textract connection form", () => { + it.skip("Should verify elements on AWS Textract connection form", () => { const Accesskey = Cypress.env("awstextract_access"); const Secretkey = Cypress.env("awstextract_secret"); @@ -87,7 +87,7 @@ describe("Data source AWS Textract", () => { deleteDatasource(`cypress-${data.dsName}-aws-textract`); }); - it("Should verify functionality of AWS Textract connection form", () => { + it.skip("Should verify functionality of AWS Textract connection form", () => { const Accesskey = Cypress.env("awstextract_access"); const Secretkey = Cypress.env("awstextract_secret"); @@ -122,9 +122,10 @@ describe("Data source AWS Textract", () => { ); deleteDatasource(`cypress-${data.dsName}-aws-textract`); + cy.uninstallMarketplacePlugin("AWS Textract"); }); - it("Should able to run the query with valid conection", () => { + it.skip("Should able to run the query with valid conection", () => { const Accesskey = Cypress.env("awstextract_access"); const Secretkey = Cypress.env("awstextract_secret"); diff --git a/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/azureBlobStorageHappyPath.cy.js b/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/azureBlobStorageHappyPath.cy.js index b148f92735..0c505cc417 100644 --- a/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/azureBlobStorageHappyPath.cy.js +++ b/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/azureBlobStorageHappyPath.cy.js @@ -17,8 +17,8 @@ data.customText = fake.randomSentence; describe("Data source Azure Blob Storage", () => { beforeEach(() => { - cy.appUILogin(); - cy.defaultWorkspaceLogin(); + cy.apiLogin(); + cy.visit("/"); data.dataSourceName = fake.lastName .toLowerCase() .replaceAll("[^A-Za-z]", ""); diff --git a/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/baseRow.cy.js b/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/baseRowHappyPath.cy.skip.js similarity index 95% rename from cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/baseRow.cy.js rename to cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/baseRowHappyPath.cy.skip.js index 05c250d01c..4b03148e9e 100644 --- a/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/baseRow.cy.js +++ b/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/baseRowHappyPath.cy.skip.js @@ -20,15 +20,15 @@ import { import { dataSourceSelector } from "../../../../../constants/selectors/dataSource"; const data = {}; -data.dsName = fake.lastName.toLowerCase().replaceAll("[^A-Za-z]", ""); describe("Data source baserow", () => { beforeEach(() => { cy.apiLogin(); - cy.defaultWorkspaceLogin(); + cy.visit("/"); + data.dsName = fake.lastName.toLowerCase().replaceAll("[^A-Za-z]", ""); }); - it("Should verify elements on baserow connection form", () => { + it.skip("Should verify elements on baserow connection form", () => { const Apikey = Cypress.env("baserow_apikey"); cy.get(commonSelectors.globalDataSourceIcon).click(); @@ -78,7 +78,7 @@ describe("Data source baserow", () => { deleteDatasource(`cypress-${data.dsName}-baserow`); }); - it("Should verify the functionality of baserow connection form.", () => { + it.skip("Should verify the functionality of baserow connection form.", () => { const Apikey = Cypress.env("baserow_apikey"); selectAndAddDataSource("databases", baseRowText.baserow, data.dsName); @@ -103,7 +103,7 @@ describe("Data source baserow", () => { deleteDatasource(`cypress-${data.dsName}-baserow`); }); - it("Should be able to run the query with a valid connection", () => { + it.skip("Should be able to run the query with a valid connection", () => { const baserowTableID = Cypress.env("baserow_tableid"); const baserowRowID = Cypress.env("baserow_rowid"); const Apikey = Cypress.env("baserow_apikey"); diff --git a/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/bigqueryHappyPath.cy.js b/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/bigqueryHappyPath.cy.js index cee23b0807..24a39a3acc 100644 --- a/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/bigqueryHappyPath.cy.js +++ b/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/bigqueryHappyPath.cy.js @@ -16,8 +16,8 @@ const data = {}; describe("Data source BigQuery", () => { beforeEach(() => { - cy.appUILogin(); - cy.defaultWorkspaceLogin(); + cy.apiLogin(); + cy.visit("/"); data.dataSourceName = fake.lastName .toLowerCase() .replaceAll("[^A-Za-z]", ""); diff --git a/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/clickHouseHappyPath.cy.js b/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/clickHouseHappyPath.cy.js index f221ed3c16..6ac8a3c8d1 100644 --- a/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/clickHouseHappyPath.cy.js +++ b/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/clickHouseHappyPath.cy.js @@ -19,8 +19,8 @@ const data = {}; describe("Data sources", () => { beforeEach(() => { - cy.appUILogin(); - cy.defaultWorkspaceLogin(); + cy.apiLogin(); + cy.visit("/"); data.dataSourceName = fake.lastName .toLowerCase() .replaceAll("[^A-Za-z]", ""); diff --git a/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/cosmosDbHappyPath.cy.js b/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/cosmosDbHappyPath.cy.js index 53fab94f67..bb5923ec7b 100644 --- a/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/cosmosDbHappyPath.cy.js +++ b/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/cosmosDbHappyPath.cy.js @@ -19,8 +19,8 @@ const data = {}; describe("Data sources", () => { beforeEach(() => { - cy.appUILogin(); - cy.defaultWorkspaceLogin(); + cy.apiLogin(); + cy.visit("/"); data.dataSourceName = fake.lastName .toLowerCase() .replaceAll("[^A-Za-z]", ""); diff --git a/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/couchDbHappyPath.cy.js b/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/couchDbHappyPath.cy.js index e16c6d5314..8e4a17d173 100644 --- a/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/couchDbHappyPath.cy.js +++ b/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/couchDbHappyPath.cy.js @@ -21,8 +21,8 @@ const data = {}; describe("Data sources", () => { beforeEach(() => { - cy.appUILogin(); - cy.defaultWorkspaceLogin(); + cy.apiLogin(); + cy.visit("/"); data.dataSourceName = fake.lastName .toLowerCase() .replaceAll("[^A-Za-z]", ""); diff --git a/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/dynamoDbHappyPath.cy.js b/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/dynamoDbHappyPath.cy.js index eb9a030963..5ff912d2d8 100644 --- a/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/dynamoDbHappyPath.cy.js +++ b/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/dynamoDbHappyPath.cy.js @@ -19,8 +19,8 @@ const data = {}; describe("Data source DynamoDB", () => { beforeEach(() => { - cy.appUILogin(); - cy.defaultWorkspaceLogin(); + cy.apiLogin(); + cy.visit("/"); data.dataSourceName = fake.lastName .toLowerCase() .replaceAll("[^A-Za-z]", ""); diff --git a/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/elasticsearchHappyPath.cy.js b/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/elasticsearchHappyPath.cy.js index c7a1f242fa..88627284ad 100644 --- a/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/elasticsearchHappyPath.cy.js +++ b/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/elasticsearchHappyPath.cy.js @@ -17,9 +17,12 @@ import { const data = {}; describe("Data source Elasticsearch", () => { beforeEach(() => { - cy.appUILogin(); - cy.defaultWorkspaceLogin(); - data.lastName = fake.lastName.toLowerCase().replaceAll("[^A-Za-z]", ""); + cy.apiLogin(); + cy.visit("/"); + + data.dataSourceName = fake.lastName + .toLowerCase() + .replaceAll("[^A-Za-z]", ""); }); it("Should verify elements on Elasticsearch connection form", () => { @@ -123,14 +126,14 @@ describe("Data source Elasticsearch", () => { "have.text", elasticsearchText.errorConnectionRefused ); - deleteDatasource(`cypress-${data.lastName}-elasticsearch`); + deleteDatasource(`cypress-${data.dataSourceName}-elasticsearch`); }); it("Should verify the functionality of Elasticsearch connection form.", () => { selectAndAddDataSource( "databases", elasticsearchText.elasticSearch, - data.lastName + data.dataSourceName ); fillDataSourceTextField( @@ -210,12 +213,12 @@ describe("Data source Elasticsearch", () => { ); cy.get( - `[data-cy="cypress-${data.lastName}-elasticsearch-button"]` + `[data-cy="cypress-${data.dataSourceName}-elasticsearch-button"]` ).verifyVisibleElement( "have.text", - `cypress-${data.lastName}-elasticsearch` + `cypress-${data.dataSourceName}-elasticsearch` ); - deleteDatasource(`cypress-${data.lastName}-elasticsearch`); + deleteDatasource(`cypress-${data.dataSourceName}-elasticsearch`); }); }); diff --git a/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/fireStoreHappyPath.cy.js b/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/fireStoreHappyPath.cy.js index 6e703fc895..674501b2db 100644 --- a/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/fireStoreHappyPath.cy.js +++ b/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/fireStoreHappyPath.cy.js @@ -17,8 +17,8 @@ const data = {}; describe("Data source Firestore", () => { beforeEach(() => { - cy.appUILogin(); - cy.defaultWorkspaceLogin(); + cy.apiLogin(); + cy.visit("/"); data.dataSourceName = fake.lastName .toLowerCase() .replaceAll("[^A-Za-z]", ""); diff --git a/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/graphQL.cy.js b/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/graphQLHappyPath.cy.js similarity index 97% rename from cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/graphQL.cy.js rename to cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/graphQLHappyPath.cy.js index 008121b863..7ad8e5484b 100644 --- a/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/graphQL.cy.js +++ b/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/graphQLHappyPath.cy.js @@ -19,12 +19,12 @@ import { import { dataSourceSelector } from "../../../../../constants/selectors/dataSource"; const data = {}; -data.dsName = fake.lastName.toLowerCase().replaceAll("[^A-Za-z]", ""); describe("Data source GraphQL", () => { beforeEach(() => { cy.apiLogin(); - cy.defaultWorkspaceLogin(); + cy.visit("/"); + data.dsName = fake.lastName.toLowerCase().replaceAll("[^A-Za-z]", ""); }); it("Should verify elements on GraphQL connection form", () => { diff --git a/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/harperDb.cy.js b/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/harperDbHappyPath.cy.js similarity index 97% rename from cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/harperDb.cy.js rename to cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/harperDbHappyPath.cy.js index 9ec327cf71..12ad23efd9 100644 --- a/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/harperDb.cy.js +++ b/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/harperDbHappyPath.cy.js @@ -20,13 +20,13 @@ import { import { dataSourceSelector } from "../../../../../constants/selectors/dataSource"; const data = {}; -data.dsName = fake.lastName.toLowerCase().replaceAll("[^A-Za-z]", ""); data.dsName1 = fake.lastName.toLowerCase().replaceAll("[^A-Za-z]", ""); describe("Data source HarperDB", () => { beforeEach(() => { cy.apiLogin(); - cy.defaultWorkspaceLogin(); + cy.visit("/"); + data.dsName = fake.lastName.toLowerCase().replaceAll("[^A-Za-z]", ""); }); it("Should verify elements on HarperDB connection form", () => { @@ -102,6 +102,7 @@ describe("Data source HarperDB", () => { ); deleteDatasource(`cypress-${data.dsName}-HarperDB`); + cy.uninstallMarketplacePlugin("HarperDB"); }); it("Should verify functionality of HarperDB connection form", () => { @@ -156,9 +157,10 @@ describe("Data source HarperDB", () => { ); deleteDatasource(`cypress-${data.dsName}-HarperDB`); + cy.uninstallMarketplacePlugin("HarperDB"); }); - it("Should be able to run the query with a valid connection", () => { + it.skip("Should be able to run the query with a valid connection", () => { const Host = Cypress.env("harperdb_host"); const Port = Cypress.env("harperdb_port"); const Username = Cypress.env("harperdb_username"); diff --git a/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/influxDbHappyPath.cy.js b/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/influxDbHappyPath.cy.js index 36b39572d4..24dc92359c 100644 --- a/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/influxDbHappyPath.cy.js +++ b/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/influxDbHappyPath.cy.js @@ -23,8 +23,8 @@ const data = {}; describe("Data sources", () => { beforeEach(() => { - cy.appUILogin(); - cy.defaultWorkspaceLogin(); + cy.apiLogin(); + cy.visit("/"); data.dataSourceName = fake.lastName .toLowerCase() .replaceAll("[^A-Za-z]", ""); diff --git a/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/mariaDbHappyPath.cy.js b/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/mariaDbHappyPath.cy.js index 4c6c57d596..58c8c30705 100644 --- a/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/mariaDbHappyPath.cy.js +++ b/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/mariaDbHappyPath.cy.js @@ -19,8 +19,8 @@ const data = {}; describe("Data sources", () => { beforeEach(() => { - cy.appUILogin(); - cy.defaultWorkspaceLogin(); + cy.apiLogin(); + cy.visit("/"); data.dataSourceName = fake.lastName .toLowerCase() .replaceAll("[^A-Za-z]", ""); diff --git a/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/minio.cy.js b/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/minioHappyPath.cy.js similarity index 97% rename from cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/minio.cy.js rename to cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/minioHappyPath.cy.js index 7ea22b8693..6572724e3d 100644 --- a/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/minio.cy.js +++ b/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/minioHappyPath.cy.js @@ -20,12 +20,12 @@ import { import { dataSourceSelector } from "../../../../../constants/selectors/dataSource"; const data = {}; -data.dsName = fake.lastName.toLowerCase().replaceAll("[^A-Za-z]", ""); describe("Data source minio", () => { beforeEach(() => { cy.apiLogin(); - cy.defaultWorkspaceLogin(); + cy.visit("/"); + data.dsName = fake.lastName.toLowerCase().replaceAll("[^A-Za-z]", ""); }); it("Should verify elements on minio connection form", () => { @@ -157,7 +157,7 @@ describe("Data source minio", () => { deleteDatasource(`cypress-${data.dsName}-minio`); }); - it("Should be able to run the query with a valid connection", () => { + it.skip("Should be able to run the query with a valid connection", () => { const Host = Cypress.env("minio_host"); const Port = Cypress.env("minio_port"); const AccessKey = Cypress.env("minio_accesskey"); diff --git a/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/mongoDbHappyPath.cy.js b/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/mongoDbHappyPath.cy.js index 77d2e2ffa4..5729ea18c8 100644 --- a/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/mongoDbHappyPath.cy.js +++ b/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/mongoDbHappyPath.cy.js @@ -27,8 +27,8 @@ const data = {}; describe("Data source MongoDB", () => { beforeEach(() => { - cy.appUILogin(); - cy.defaultWorkspaceLogin(); + cy.apiLogin(); + cy.visit("/"); data.dataSourceName = fake.lastName .toLowerCase() .replaceAll("[^A-Za-z]", ""); @@ -133,7 +133,7 @@ describe("Data source MongoDB", () => { "have.text", mongoDbText.errorConnectionRefused ); - cy.get('[data-cy="query-select-dropdown"]').type( + cy.get('[data-cy="connection-type-select-dropdown"]').type( mongoDbText.optionConnectUsingConnectionString ); cy.get('[data-cy="label-connection-string"]').verifyVisibleElement( diff --git a/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/mysqlHappyPath.cy.js b/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/mysqlHappyPath.cy.js index 38e221ba0a..d54e15c933 100644 --- a/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/mysqlHappyPath.cy.js +++ b/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/mysqlHappyPath.cy.js @@ -26,8 +26,8 @@ const data = {}; describe("Data sources MySql", () => { beforeEach(() => { - cy.appUILogin(); - cy.defaultWorkspaceLogin(); + cy.apiLogin(); + cy.visit("/"); data.dataSourceName = fake.lastName .toLowerCase() .replaceAll("[^A-Za-z]", ""); diff --git a/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/oracleDbHappyPath.cy.skip.js b/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/oracleDbHappyPath.cy.skip.js index e7ae4f296b..0cd7ea4223 100644 --- a/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/oracleDbHappyPath.cy.skip.js +++ b/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/oracleDbHappyPath.cy.skip.js @@ -15,7 +15,7 @@ import { describe("Data sources", () => { beforeEach(() => { - cy.appUILogin(); + cy.apiLogin(); // cy.createApp(); }); diff --git a/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/postgresHappyPath.cy.js b/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/postgresHappyPath.cy.js index a6ff7595e5..2da4902edd 100644 --- a/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/postgresHappyPath.cy.js +++ b/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/postgresHappyPath.cy.js @@ -20,14 +20,14 @@ const data = {}; describe("Data sources", () => { beforeEach(() => { - cy.appUILogin(); - cy.defaultWorkspaceLogin(); + cy.apiLogin(); + cy.visit("/"); data.dataSourceName = fake.lastName .toLowerCase() .replaceAll("[^A-Za-z]", ""); }); - it("Should verify elements on connection form", () => { + it.skip("Should verify elements on connection form", () => { cy.log(process.env.NODE_ENV); cy.log(postgreSqlText.allDatabase()); cy.get(commonSelectors.globalDataSourceIcon).click(); @@ -140,7 +140,7 @@ describe("Data sources", () => { deleteDatasource(`cypress-${data.dataSourceName}-postgresql`); }); - it("Should verify the functionality of PostgreSQL connection form.", () => { + it.skip("Should verify the functionality of PostgreSQL connection form.", () => { selectAndAddDataSource( "databases", postgreSqlText.postgreSQL, diff --git a/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/redisHappyPath.cy.js b/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/redisHappyPath.cy.js index 8217a9db60..ddceea1b52 100644 --- a/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/redisHappyPath.cy.js +++ b/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/redisHappyPath.cy.js @@ -23,7 +23,7 @@ data.dsName = fake.lastName.toLowerCase().replaceAll("[^A-Za-z]", ""); describe("Data source Redis", () => { beforeEach(() => { cy.apiLogin(); - cy.defaultWorkspaceLogin(); + cy.visit("/"); }); it("Should verify elements on connection Redis form", () => { @@ -215,7 +215,7 @@ describe("Data source Redis", () => { deleteDatasource(`cypress-${data.dsName}-redis`); }); - it("Should able to run the query with valid conection", () => { + it.skip("Should able to run the query with valid conection", () => { selectAndAddDataSource("databases", redisText.redis, data.dsName); fillDataSourceTextField( diff --git a/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/restAPIHappyPath.cy.js b/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/restAPIHappyPath.cy.js index 0d45f8af89..825439e687 100644 --- a/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/restAPIHappyPath.cy.js +++ b/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/restAPIHappyPath.cy.js @@ -20,7 +20,7 @@ const clientAuthenticationDropdown = describe("Data source Rest API", () => { beforeEach(() => { cy.apiLogin(); - cy.defaultWorkspaceLogin(); + cy.visit("/"); data.dataSourceName = fake.lastName .toLowerCase() .replaceAll("[^A-Za-z]", ""); @@ -332,7 +332,6 @@ describe("Data source Rest API", () => { deleteDatasource(`cypress-${data.dataSourceName}-restapi`); }); it("Should verify basic connection for Rest API", () => { - const storedId = Cypress.env("storedId"); cy.apiCreateGDS( `${Cypress.env("server_host")}/api/data-sources`, `cypress-${data.dataSourceName}-restapi`, diff --git a/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/rethinkDbHappyPath.cy.skip.js b/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/rethinkDbHappyPath.cy.skip.js index 267eedea1f..abdde2ba00 100644 --- a/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/rethinkDbHappyPath.cy.skip.js +++ b/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/rethinkDbHappyPath.cy.skip.js @@ -19,8 +19,8 @@ const data = {}; describe("Data sources", () => { beforeEach(() => { - cy.appUILogin(); - cy.defaultWorkspaceLogin(); + cy.apiLogin(); + cy.visit("/"); data.dataSourceName = fake.lastName .toLowerCase() .replaceAll("[^A-Za-z]", ""); diff --git a/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/s3HappyPath.cy.js b/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/s3HappyPath.cy.js index 12b3817f16..73ccc703c3 100644 --- a/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/s3HappyPath.cy.js +++ b/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/s3HappyPath.cy.js @@ -20,7 +20,7 @@ const data = {}; describe("Data sources AWS S3", () => { beforeEach(() => { cy.apiLogin(); - cy.defaultWorkspaceLogin(); + cy.visit("/"); data.dataSourceName = fake.lastName .toLowerCase() .replaceAll("[^A-Za-z]", ""); diff --git a/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/sapHanaHappyPath.cy.skip.js b/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/sapHanaHappyPath.cy.skip.js index c240286274..25ec2e4a9c 100644 --- a/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/sapHanaHappyPath.cy.skip.js +++ b/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/sapHanaHappyPath.cy.skip.js @@ -15,7 +15,7 @@ import { describe("Data sources", () => { beforeEach(() => { - cy.appUILogin(); + cy.apiLogin(); // cy.createApp(); }); diff --git a/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/smtpHappyPath.cy.js b/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/smtpHappyPath.cy.js index 4e824aeda5..506fe5d660 100644 --- a/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/smtpHappyPath.cy.js +++ b/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/smtpHappyPath.cy.js @@ -13,8 +13,8 @@ const data = {}; describe("Data source SMTP", () => { beforeEach(() => { - cy.appUILogin(); - cy.defaultWorkspaceLogin(); + cy.apiLogin(); + cy.visit("/"); data.dataSourceName = fake.lastName .toLowerCase() .replaceAll("[^A-Za-z]", ""); diff --git a/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/snowflakeHappyPath.cy.js b/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/snowflakeHappyPath.cy.js index 4409c0577b..7c1fb5b588 100644 --- a/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/snowflakeHappyPath.cy.js +++ b/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/snowflakeHappyPath.cy.js @@ -20,8 +20,8 @@ import { const data = {}; describe("Data sources", () => { beforeEach(() => { - cy.appUILogin(); - cy.defaultWorkspaceLogin(); + cy.apiLogin(); + cy.visit("/"); data.dataSourceName = fake.lastName .toLowerCase() .replaceAll("[^A-Za-z]", ""); diff --git a/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/sqlServerHappyPath.cy.js b/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/sqlServerHappyPath.cy.js index 9501fdabbb..954fb659b5 100644 --- a/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/sqlServerHappyPath.cy.js +++ b/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/sqlServerHappyPath.cy.js @@ -21,8 +21,8 @@ const data = {}; describe("Data sources", () => { beforeEach(() => { - cy.appUILogin(); - cy.defaultWorkspaceLogin(); + cy.apiLogin(); + cy.visit("/"); data.dataSourceName = fake.lastName .toLowerCase() .replaceAll("[^A-Za-z]", ""); diff --git a/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/twilio.cy.js b/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/twilioHappyPath.cy.skip.js similarity index 94% rename from cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/twilio.cy.js rename to cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/twilioHappyPath.cy.skip.js index ee2fa9a6e3..4ac2575266 100644 --- a/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/twilio.cy.js +++ b/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/twilioHappyPath.cy.skip.js @@ -21,15 +21,15 @@ import { dataSourceSelector } from "../../../../../constants/selectors/dataSourc import { pluginSelectors } from "Selectors/plugins"; const data = {}; -data.dsName = fake.lastName.toLowerCase().replaceAll("[^A-Za-z]", ""); describe("Data source Twilio", () => { beforeEach(() => { cy.apiLogin(); - cy.defaultWorkspaceLogin(); + cy.visit("/"); + data.dsName = fake.lastName.toLowerCase().replaceAll("[^A-Za-z]", ""); }); - it("Should verify elements on Twilio connection form", () => { + it.skip("Should verify elements on Twilio connection form", () => { const AuthToken = Cypress.env("twilio_auth_token"); const AccountSID = Cypress.env("twilio_account_SID"); const MessageSID = Cypress.env("twilio_messaging_service_SID"); @@ -89,7 +89,7 @@ describe("Data source Twilio", () => { deleteDatasource(`cypress-${data.dsName}-twilio`); }); - it("Should verify functionality of Twilio connection form", () => { + it.skip("Should verify functionality of Twilio connection form", () => { const AuthToken = Cypress.env("twilio_auth_token"); const AccountSID = Cypress.env("twilio_account_SID"); const MessageSID = Cypress.env("twilio_messaging_service_SID"); @@ -128,7 +128,7 @@ describe("Data source Twilio", () => { deleteDatasource(`cypress-${data.dsName}-twilio`); }); - it("Should be able to run the query with a valid connection", () => { + it.skip("Should be able to run the query with a valid connection", () => { const AuthToken = Cypress.env("twilio_auth_token"); const AccountSID = Cypress.env("twilio_account_SID"); const MessageSID = Cypress.env("twilio_messaging_service_SID"); diff --git a/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/typeSenseHappyPath.cy.skip.js b/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/typeSenseHappyPath.cy.skip.js index ff15053f09..4b4fe20e62 100644 --- a/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/typeSenseHappyPath.cy.skip.js +++ b/cypress-tests/cypress/e2e/happyPath/marketplace/commonTestcases/data-source/typeSenseHappyPath.cy.skip.js @@ -20,7 +20,7 @@ const data = {}; describe("Data sources", () => { beforeEach(() => { - cy.appUILogin(); + cy.apiLogin(); data.dataSourceName = fake.lastName .toLowerCase() .replaceAll("[^A-Za-z]", ""); diff --git a/cypress-tests/cypress/support/utils/dashboard.js b/cypress-tests/cypress/support/utils/dashboard.js index 0809909297..dbc090735b 100644 --- a/cypress-tests/cypress/support/utils/dashboard.js +++ b/cypress-tests/cypress/support/utils/dashboard.js @@ -53,6 +53,8 @@ export const modifyAndVerifyAppCardIcon = (appName) => { }; export const verifyAppDelete = (appName) => { + cy.get("body").should("exist").and("be.visible"); + cy.get('[data-cy="dashboard-section-header"]').should("be.visible"); cy.get("body").then(($title) => { if (!$title.text().includes(commonText.introductionMessage)) { cy.clearAndType(commonSelectors.homePageSearchBar, appName); diff --git a/cypress-tests/cypress/support/utils/restAPI.js b/cypress-tests/cypress/support/utils/restAPI.js index f5a44e3fd5..2dfc225a65 100644 --- a/cypress-tests/cypress/support/utils/restAPI.js +++ b/cypress-tests/cypress/support/utils/restAPI.js @@ -18,79 +18,97 @@ export const createAndRunRestAPIQuery = ( method: "GET", url: `${Cypress.env("server_host")}/api/apps/${Cypress.env("appId")}`, headers, - }).then((response) => { - const editingVersionId = response.body.editing_version.id; - const data_source_id = Cypress.env(`${dsName}-id`); - const useJsonBody = - ["POST", "PATCH", "PUT"].includes(method.toUpperCase()) && - jsonBody !== null; - - const queryOptions = { - method: method.toLowerCase(), - url: url + urlSuffix, - url_params: [["", ""]], - headers: headersList.length ? headersList : [["", ""]], - body: !useJsonBody && bodyList.length ? bodyList : [["", ""]], - json_body: useJsonBody ? jsonBody : null, - body_toggle: useJsonBody, - runOnPageLoad: run, - transformationLanguage: "javascript", - enableTransformation: false, - }; - - const requestBody = { - app_id: Cypress.env("appId"), - app_version_id: editingVersionId, - name: queryName, - kind: "restapi", - options: queryOptions, - data_source_id, - plugin_id: null, - }; + }).then((appResponse) => { + const currentEnvironmentId = appResponse.body.editorEnvironment.id; + const editingVersionId = appResponse.body.editing_version.id; cy.request({ - method: "POST", - url: `${Cypress.env("server_host")}/api/data-queries/data-sources/${data_source_id}/versions/${editingVersionId}`, + method: "GET", + url: `${Cypress.env("server_host")}/api/data-sources/${Cypress.env("workspaceId")}/environments/${currentEnvironmentId}/versions/${editingVersionId}`, headers, - body: requestBody, - }).then((createResponse) => { - expect(createResponse.status).to.equal(201); - const queryId = createResponse.body.id; - cy.log("Query created successfully:", queryId); + }).then((dsResponse) => { + expect(dsResponse.status).to.eq(200); - const createdOptions = createResponse.body.options; - expect(createdOptions.method).to.equal(queryOptions.method); - expect(createdOptions.url).to.equal(queryOptions.url); - expect(createdOptions.headers).to.deep.equal(queryOptions.headers); + const dataSource = dsResponse.body.data_sources.find( + (ds) => ds.name === dsName + ); - if (useJsonBody) { - expect(createdOptions.json_body).to.deep.equal( - queryOptions.json_body - ); - expect(createdOptions.body_toggle).to.equal(true); - } else { - expect(createdOptions.body).to.deep.equal(queryOptions.body); - expect(createdOptions.body_toggle).to.equal(false); + if (!dataSource) { + throw new Error(`Data source '${dsName}' not found.`); } - expect(createdOptions.runOnPageLoad).to.equal(run); - cy.log("Metadata verified successfully"); - if (run) { - cy.request({ - method: "POST", - url: `${Cypress.env("server_host")}/api/data-queries/${queryId}/run`, - headers, - }).then((runResponse) => { - expect([200, 201]).to.include(runResponse.status); - cy.log("Query executed successfully:", runResponse.body); - if (runResponse.body?.data.id) { - cy.writeFile("cypress/fixtures/restAPI/storedId.json", { - id: runResponse.body.data.id, - }); - cy.log("Stored ID:", runResponse.body.data.id); - } - }); - } + const data_source_id = dataSource.id; + const useJsonBody = + ["POST", "PATCH", "PUT"].includes(method.toUpperCase()) && + jsonBody !== null; + + const queryOptions = { + method: method.toLowerCase(), + url: url + urlSuffix, + url_params: [["", ""]], + headers: headersList.length ? headersList : [["", ""]], + body: !useJsonBody && bodyList.length ? bodyList : [["", ""]], + json_body: useJsonBody ? jsonBody : null, + body_toggle: useJsonBody, + runOnPageLoad: run, + transformationLanguage: "javascript", + enableTransformation: false, + }; + + const requestBody = { + app_id: Cypress.env("appId"), + app_version_id: editingVersionId, + name: queryName, + kind: "restapi", + options: queryOptions, + data_source_id, + plugin_id: null, + }; + + cy.request({ + method: "POST", + url: `${Cypress.env("server_host")}/api/data-queries/data-sources/${data_source_id}/versions/${editingVersionId}`, + headers, + body: requestBody, + }).then((createResponse) => { + expect(createResponse.status).to.equal(201); + const queryId = createResponse.body.id; + cy.log("Query created successfully:", queryId); + + const createdOptions = createResponse.body.options; + expect(createdOptions.method).to.equal(queryOptions.method); + expect(createdOptions.url).to.equal(queryOptions.url); + expect(createdOptions.headers).to.deep.equal(queryOptions.headers); + + if (useJsonBody) { + expect(createdOptions.json_body).to.deep.equal( + queryOptions.json_body + ); + expect(createdOptions.body_toggle).to.equal(true); + } else { + expect(createdOptions.body).to.deep.equal(queryOptions.body); + expect(createdOptions.body_toggle).to.equal(false); + } + + expect(createdOptions.runOnPageLoad).to.equal(run); + cy.log("Metadata verified successfully"); + if (run) { + cy.request({ + method: "POST", + url: `${Cypress.env("server_host")}/api/data-queries/${queryId}/run`, + headers, + }).then((runResponse) => { + expect([200, 201]).to.include(runResponse.status); + cy.log("Query executed successfully:", runResponse.body); + if (runResponse.body?.data.id) { + cy.writeFile("cypress/fixtures/restAPI/storedId.json", { + id: runResponse.body.data.id, + }); + cy.log("Stored ID:", runResponse.body.data.id); + } + }); + } + }); }); }); }); diff --git a/server/ee b/server/ee index 84ec48d0f6..b9e73f87b9 160000 --- a/server/ee +++ b/server/ee @@ -1 +1 @@ -Subproject commit 84ec48d0f64fd6dc5f7677f71a5119219cc4ada4 +Subproject commit b9e73f87b9062e06c49c2c73add6b82ba21dcacf