From 58ce61a4dbed809a8d493dd3a0c3dc090daec2aa Mon Sep 17 00:00:00 2001 From: Raju Udava <86527202+dstala@users.noreply.github.com> Date: Fri, 23 Sep 2022 10:15:38 +0530 Subject: [PATCH] test(misc): re-alignment & optimizations Signed-off-by: Raju Udava <86527202+dstala@users.noreply.github.com> --- .github/workflows/ci-cd.yml | 1072 ++++++++--------- .../common/6d_language_validation.js | 24 +- .../integration/common/6f_attachments.js | 10 +- .../integration/common/6g_base_share.js | 14 +- .../cypress/integration/common/8a_webhook.js | 3 +- .../cypress/integration/test/pg-restMisc.js | 25 +- scripts/cypress/integration/test/restMisc.js | 22 +- .../cypress/integration/test/xcdb-restMisc.js | 26 +- 8 files changed, 622 insertions(+), 574 deletions(-) diff --git a/.github/workflows/ci-cd.yml b/.github/workflows/ci-cd.yml index 914a0406b5..cf0f1232d8 100644 --- a/.github/workflows/ci-cd.yml +++ b/.github/workflows/ci-cd.yml @@ -19,141 +19,141 @@ on: - "packages/nocodb/**" - ".github/workflows/ci-cd.yml" jobs: - cypress-restTableOps-run-cache: - runs-on: ubuntu-20.04 - if: ${{ github.event_name == 'push' || !github.event.pull_request.draft }} - steps: - - name: Setup Node - uses: actions/setup-node@v1 - with: - node-version: 16.15.0 - - name: Checkout - uses: actions/checkout@v2 - with: - fetch-depth: 0 - - name: Cache node modules - uses: actions/cache@v2 - env: - cache-name: cache-node-modules - - with: - # npm cache files are stored in `~/.npm` on Linux/macOS - path: ~/.npm - key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }} - restore-keys: | - ${{ runner.os }}-build-${{ env.cache-name }}- - ${{ runner.os }}-build- - ${{ runner.os }}- - - name: Set env - run: echo "NODE_ENV=test" >> $GITHUB_ENV - - name: Cypress run - uses: cypress-io/github-action@v2 - with: - start: | - npm run start:api:cache - npm run start:web - docker-compose -f ./scripts/docker-compose-cypress.yml up -d - spec: "./scripts/cypress/integration/test/restTableOps.js" - wait-on: "http://localhost:8080, http://localhost:3000/_nuxt/assets/img/icons/512x512-trans.png" - wait-on-timeout: 1200 - config-file: scripts/cypress/cypress.json - - name: Upload screenshots - if: always() - uses: actions/upload-artifact@v2 - with: - name: cypress-restTableOps-run-cache-snapshots - path: scripts/cypress/screenshots - retention-days: 2 - cypress-restViews-run-cache: - runs-on: ubuntu-20.04 - if: ${{ github.event_name == 'push' || !github.event.pull_request.draft }} - steps: - - name: Setup Node - uses: actions/setup-node@v1 - with: - node-version: 16.15.0 - - name: Checkout - uses: actions/checkout@v2 - with: - fetch-depth: 0 - - name: Cache node modules - uses: actions/cache@v2 - env: - cache-name: cache-node-modules - - with: - # npm cache files are stored in `~/.npm` on Linux/macOS - path: ~/.npm - key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }} - restore-keys: | - ${{ runner.os }}-build-${{ env.cache-name }}- - ${{ runner.os }}-build- - ${{ runner.os }}- - - name: Set env - run: echo "NODE_ENV=test" >> $GITHUB_ENV - - name: Cypress run - uses: cypress-io/github-action@v2 - with: - start: | - npm run start:api:cache - npm run start:web - docker-compose -f ./scripts/docker-compose-cypress.yml up -d - spec: "./scripts/cypress/integration/test/restViews.js" - wait-on: "http://localhost:8080, http://localhost:3000/_nuxt/assets/img/icons/512x512-trans.png" - wait-on-timeout: 1200 - config-file: scripts/cypress/cypress.json - - name: Upload screenshots - if: always() - uses: actions/upload-artifact@v2 - with: - name: cypress-restViews-run-cache-snapshots - path: scripts/cypress/screenshots - retention-days: 2 - cypress-restRoles-run-cache: - runs-on: ubuntu-20.04 - if: ${{ github.event_name == 'push' || !github.event.pull_request.draft }} - steps: - - name: Setup Node - uses: actions/setup-node@v1 - with: - node-version: 16.15.0 - - name: Checkout - uses: actions/checkout@v2 - with: - fetch-depth: 0 - - name: Cache node modules - uses: actions/cache@v2 - env: - cache-name: cache-node-modules - - with: - # npm cache files are stored in `~/.npm` on Linux/macOS - path: ~/.npm - key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }} - restore-keys: | - ${{ runner.os }}-build-${{ env.cache-name }}- - ${{ runner.os }}-build- - ${{ runner.os }}- - - name: Set env - run: echo "NODE_ENV=test" >> $GITHUB_ENV - - name: Cypress run - uses: cypress-io/github-action@v2 - with: - start: | - npm run start:api:cache - npm run start:web - docker-compose -f ./scripts/docker-compose-cypress.yml up -d - spec: "./scripts/cypress/integration/test/restRoles.js" - wait-on: "http://localhost:8080, http://localhost:3000/_nuxt/assets/img/icons/512x512-trans.png" - wait-on-timeout: 1200 - config-file: scripts/cypress/cypress.json - - name: Upload screenshots - if: always() - uses: actions/upload-artifact@v2 - with: - name: cypress-restRoles-run-cache-snapshots - path: scripts/cypress/screenshots - retention-days: 2 +# cypress-restTableOps-run-cache: +# runs-on: ubuntu-20.04 +# if: ${{ github.event_name == 'push' || !github.event.pull_request.draft }} +# steps: +# - name: Setup Node +# uses: actions/setup-node@v1 +# with: +# node-version: 16.15.0 +# - name: Checkout +# uses: actions/checkout@v2 +# with: +# fetch-depth: 0 +# - name: Cache node modules +# uses: actions/cache@v2 +# env: +# cache-name: cache-node-modules +# +# with: +# # npm cache files are stored in `~/.npm` on Linux/macOS +# path: ~/.npm +# key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }} +# restore-keys: | +# ${{ runner.os }}-build-${{ env.cache-name }}- +# ${{ runner.os }}-build- +# ${{ runner.os }}- +# - name: Set env +# run: echo "NODE_ENV=test" >> $GITHUB_ENV +# - name: Cypress run +# uses: cypress-io/github-action@v2 +# with: +# start: | +# npm run start:api:cache +# npm run start:web +# docker-compose -f ./scripts/docker-compose-cypress.yml up -d +# spec: "./scripts/cypress/integration/test/restTableOps.js" +# wait-on: "http://localhost:8080, http://localhost:3000/_nuxt/assets/img/icons/512x512-trans.png" +# wait-on-timeout: 1200 +# config-file: scripts/cypress/cypress.json +# - name: Upload screenshots +# if: always() +# uses: actions/upload-artifact@v2 +# with: +# name: cypress-restTableOps-run-cache-snapshots +# path: scripts/cypress/screenshots +# retention-days: 2 +# cypress-restViews-run-cache: +# runs-on: ubuntu-20.04 +# if: ${{ github.event_name == 'push' || !github.event.pull_request.draft }} +# steps: +# - name: Setup Node +# uses: actions/setup-node@v1 +# with: +# node-version: 16.15.0 +# - name: Checkout +# uses: actions/checkout@v2 +# with: +# fetch-depth: 0 +# - name: Cache node modules +# uses: actions/cache@v2 +# env: +# cache-name: cache-node-modules +# +# with: +# # npm cache files are stored in `~/.npm` on Linux/macOS +# path: ~/.npm +# key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }} +# restore-keys: | +# ${{ runner.os }}-build-${{ env.cache-name }}- +# ${{ runner.os }}-build- +# ${{ runner.os }}- +# - name: Set env +# run: echo "NODE_ENV=test" >> $GITHUB_ENV +# - name: Cypress run +# uses: cypress-io/github-action@v2 +# with: +# start: | +# npm run start:api:cache +# npm run start:web +# docker-compose -f ./scripts/docker-compose-cypress.yml up -d +# spec: "./scripts/cypress/integration/test/restViews.js" +# wait-on: "http://localhost:8080, http://localhost:3000/_nuxt/assets/img/icons/512x512-trans.png" +# wait-on-timeout: 1200 +# config-file: scripts/cypress/cypress.json +# - name: Upload screenshots +# if: always() +# uses: actions/upload-artifact@v2 +# with: +# name: cypress-restViews-run-cache-snapshots +# path: scripts/cypress/screenshots +# retention-days: 2 +# cypress-restRoles-run-cache: +# runs-on: ubuntu-20.04 +# if: ${{ github.event_name == 'push' || !github.event.pull_request.draft }} +# steps: +# - name: Setup Node +# uses: actions/setup-node@v1 +# with: +# node-version: 16.15.0 +# - name: Checkout +# uses: actions/checkout@v2 +# with: +# fetch-depth: 0 +# - name: Cache node modules +# uses: actions/cache@v2 +# env: +# cache-name: cache-node-modules +# +# with: +# # npm cache files are stored in `~/.npm` on Linux/macOS +# path: ~/.npm +# key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }} +# restore-keys: | +# ${{ runner.os }}-build-${{ env.cache-name }}- +# ${{ runner.os }}-build- +# ${{ runner.os }}- +# - name: Set env +# run: echo "NODE_ENV=test" >> $GITHUB_ENV +# - name: Cypress run +# uses: cypress-io/github-action@v2 +# with: +# start: | +# npm run start:api:cache +# npm run start:web +# docker-compose -f ./scripts/docker-compose-cypress.yml up -d +# spec: "./scripts/cypress/integration/test/restRoles.js" +# wait-on: "http://localhost:8080, http://localhost:3000/_nuxt/assets/img/icons/512x512-trans.png" +# wait-on-timeout: 1200 +# config-file: scripts/cypress/cypress.json +# - name: Upload screenshots +# if: always() +# uses: actions/upload-artifact@v2 +# with: +# name: cypress-restRoles-run-cache-snapshots +# path: scripts/cypress/screenshots +# retention-days: 2 cypress-restMisc-run-cache: runs-on: ubuntu-20.04 if: ${{ github.event_name == 'push' || !github.event.pull_request.draft }} @@ -199,141 +199,141 @@ jobs: name: cypress-restMisc-run-cache-snapshots path: scripts/cypress/screenshots retention-days: 2 - cypress-xcdb-restTableOps-run-cache: - runs-on: ubuntu-20.04 - if: ${{ github.event_name == 'push' || !github.event.pull_request.draft }} - steps: - - name: Setup Node - uses: actions/setup-node@v1 - with: - node-version: 16.15.0 - - name: Checkout - uses: actions/checkout@v2 - with: - fetch-depth: 0 - - name: Cache node modules - uses: actions/cache@v2 - env: - cache-name: cache-node-modules - - with: - # npm cache files are stored in `~/.npm` on Linux/macOS - path: ~/.npm - key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }} - restore-keys: | - ${{ runner.os }}-build-${{ env.cache-name }}- - ${{ runner.os }}-build- - ${{ runner.os }}- - - name: Set env - run: echo "NODE_ENV=test" >> $GITHUB_ENV - - name: Cypress run - uses: cypress-io/github-action@v2 - with: - start: | - npm run start:xcdb-api:cache - npm run start:web - docker-compose -f ./scripts/docker-compose-cypress.yml up -d - spec: "./scripts/cypress/integration/test/xcdb-restTableOps.js" - wait-on: "http://localhost:8080, http://localhost:3000/_nuxt/assets/img/icons/512x512-trans.png" - wait-on-timeout: 1200 - config-file: scripts/cypress/cypress.json - - name: Upload screenshots - if: always() - uses: actions/upload-artifact@v2 - with: - name: cypress-xcdb-restTableOps-run-cache-snapshots - path: scripts/cypress/screenshots - retention-days: 2 - cypress-xcdb-restViews-run-cache: - runs-on: ubuntu-20.04 - if: ${{ github.event_name == 'push' || !github.event.pull_request.draft }} - steps: - - name: Setup Node - uses: actions/setup-node@v1 - with: - node-version: 16.15.0 - - name: Checkout - uses: actions/checkout@v2 - with: - fetch-depth: 0 - - name: Cache node modules - uses: actions/cache@v2 - env: - cache-name: cache-node-modules - - with: - # npm cache files are stored in `~/.npm` on Linux/macOS - path: ~/.npm - key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }} - restore-keys: | - ${{ runner.os }}-build-${{ env.cache-name }}- - ${{ runner.os }}-build- - ${{ runner.os }}- - - name: Set env - run: echo "NODE_ENV=test" >> $GITHUB_ENV - - name: Cypress run - uses: cypress-io/github-action@v2 - with: - start: | - npm run start:xcdb-api:cache - npm run start:web - docker-compose -f ./scripts/docker-compose-cypress.yml up -d - spec: "./scripts/cypress/integration/test/xcdb-restViews.js" - wait-on: "http://localhost:8080, http://localhost:3000/_nuxt/assets/img/icons/512x512-trans.png" - wait-on-timeout: 1200 - config-file: scripts/cypress/cypress.json - - name: Upload screenshots - if: always() - uses: actions/upload-artifact@v2 - with: - name: cypress-xcdb-restViews-run-cache-snapshots - path: scripts/cypress/screenshots - retention-days: 2 - cypress-xcdb-restRoles-run-cache: - runs-on: ubuntu-20.04 - if: ${{ github.event_name == 'push' || !github.event.pull_request.draft }} - steps: - - name: Setup Node - uses: actions/setup-node@v1 - with: - node-version: 16.15.0 - - name: Checkout - uses: actions/checkout@v2 - with: - fetch-depth: 0 - - name: Cache node modules - uses: actions/cache@v2 - env: - cache-name: cache-node-modules - - with: - # npm cache files are stored in `~/.npm` on Linux/macOS - path: ~/.npm - key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }} - restore-keys: | - ${{ runner.os }}-build-${{ env.cache-name }}- - ${{ runner.os }}-build- - ${{ runner.os }}- - - name: Set env - run: echo "NODE_ENV=test" >> $GITHUB_ENV - - name: Cypress run - uses: cypress-io/github-action@v2 - with: - start: | - npm run start:xcdb-api:cache - npm run start:web - docker-compose -f ./scripts/docker-compose-cypress.yml up -d - spec: "./scripts/cypress/integration/test/xcdb-restRoles.js" - wait-on: "http://localhost:8080, http://localhost:3000/_nuxt/assets/img/icons/512x512-trans.png" - wait-on-timeout: 1200 - config-file: scripts/cypress/cypress.json - - name: Upload screenshots - if: always() - uses: actions/upload-artifact@v2 - with: - name: cypress-xcdb-restRoles-run-cache-snapshots - path: scripts/cypress/screenshots - retention-days: 2 +# cypress-xcdb-restTableOps-run-cache: +# runs-on: ubuntu-20.04 +# if: ${{ github.event_name == 'push' || !github.event.pull_request.draft }} +# steps: +# - name: Setup Node +# uses: actions/setup-node@v1 +# with: +# node-version: 16.15.0 +# - name: Checkout +# uses: actions/checkout@v2 +# with: +# fetch-depth: 0 +# - name: Cache node modules +# uses: actions/cache@v2 +# env: +# cache-name: cache-node-modules +# +# with: +# # npm cache files are stored in `~/.npm` on Linux/macOS +# path: ~/.npm +# key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }} +# restore-keys: | +# ${{ runner.os }}-build-${{ env.cache-name }}- +# ${{ runner.os }}-build- +# ${{ runner.os }}- +# - name: Set env +# run: echo "NODE_ENV=test" >> $GITHUB_ENV +# - name: Cypress run +# uses: cypress-io/github-action@v2 +# with: +# start: | +# npm run start:xcdb-api:cache +# npm run start:web +# docker-compose -f ./scripts/docker-compose-cypress.yml up -d +# spec: "./scripts/cypress/integration/test/xcdb-restTableOps.js" +# wait-on: "http://localhost:8080, http://localhost:3000/_nuxt/assets/img/icons/512x512-trans.png" +# wait-on-timeout: 1200 +# config-file: scripts/cypress/cypress.json +# - name: Upload screenshots +# if: always() +# uses: actions/upload-artifact@v2 +# with: +# name: cypress-xcdb-restTableOps-run-cache-snapshots +# path: scripts/cypress/screenshots +# retention-days: 2 +# cypress-xcdb-restViews-run-cache: +# runs-on: ubuntu-20.04 +# if: ${{ github.event_name == 'push' || !github.event.pull_request.draft }} +# steps: +# - name: Setup Node +# uses: actions/setup-node@v1 +# with: +# node-version: 16.15.0 +# - name: Checkout +# uses: actions/checkout@v2 +# with: +# fetch-depth: 0 +# - name: Cache node modules +# uses: actions/cache@v2 +# env: +# cache-name: cache-node-modules +# +# with: +# # npm cache files are stored in `~/.npm` on Linux/macOS +# path: ~/.npm +# key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }} +# restore-keys: | +# ${{ runner.os }}-build-${{ env.cache-name }}- +# ${{ runner.os }}-build- +# ${{ runner.os }}- +# - name: Set env +# run: echo "NODE_ENV=test" >> $GITHUB_ENV +# - name: Cypress run +# uses: cypress-io/github-action@v2 +# with: +# start: | +# npm run start:xcdb-api:cache +# npm run start:web +# docker-compose -f ./scripts/docker-compose-cypress.yml up -d +# spec: "./scripts/cypress/integration/test/xcdb-restViews.js" +# wait-on: "http://localhost:8080, http://localhost:3000/_nuxt/assets/img/icons/512x512-trans.png" +# wait-on-timeout: 1200 +# config-file: scripts/cypress/cypress.json +# - name: Upload screenshots +# if: always() +# uses: actions/upload-artifact@v2 +# with: +# name: cypress-xcdb-restViews-run-cache-snapshots +# path: scripts/cypress/screenshots +# retention-days: 2 +# cypress-xcdb-restRoles-run-cache: +# runs-on: ubuntu-20.04 +# if: ${{ github.event_name == 'push' || !github.event.pull_request.draft }} +# steps: +# - name: Setup Node +# uses: actions/setup-node@v1 +# with: +# node-version: 16.15.0 +# - name: Checkout +# uses: actions/checkout@v2 +# with: +# fetch-depth: 0 +# - name: Cache node modules +# uses: actions/cache@v2 +# env: +# cache-name: cache-node-modules +# +# with: +# # npm cache files are stored in `~/.npm` on Linux/macOS +# path: ~/.npm +# key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }} +# restore-keys: | +# ${{ runner.os }}-build-${{ env.cache-name }}- +# ${{ runner.os }}-build- +# ${{ runner.os }}- +# - name: Set env +# run: echo "NODE_ENV=test" >> $GITHUB_ENV +# - name: Cypress run +# uses: cypress-io/github-action@v2 +# with: +# start: | +# npm run start:xcdb-api:cache +# npm run start:web +# docker-compose -f ./scripts/docker-compose-cypress.yml up -d +# spec: "./scripts/cypress/integration/test/xcdb-restRoles.js" +# wait-on: "http://localhost:8080, http://localhost:3000/_nuxt/assets/img/icons/512x512-trans.png" +# wait-on-timeout: 1200 +# config-file: scripts/cypress/cypress.json +# - name: Upload screenshots +# if: always() +# uses: actions/upload-artifact@v2 +# with: +# name: cypress-xcdb-restRoles-run-cache-snapshots +# path: scripts/cypress/screenshots +# retention-days: 2 cypress-xcdb-restMisc-run-cache: runs-on: ubuntu-20.04 if: ${{ github.event_name == 'push' || !github.event.pull_request.draft }} @@ -379,141 +379,141 @@ jobs: name: cypress-xcdb-restMisc-run-cache-snapshots path: scripts/cypress/screenshots retention-days: 2 - cypress-pg-restTableOps-run-cache: - runs-on: ubuntu-20.04 - if: ${{ github.event_name == 'push' || !github.event.pull_request.draft }} - steps: - - name: Setup Node - uses: actions/setup-node@v1 - with: - node-version: 16.15.0 - - name: Checkout - uses: actions/checkout@v2 - with: - fetch-depth: 0 - - name: Cache node modules - uses: actions/cache@v2 - env: - cache-name: cache-node-modules - - with: - # npm cache files are stored in `~/.npm` on Linux/macOS - path: ~/.npm - key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }} - restore-keys: | - ${{ runner.os }}-build-${{ env.cache-name }}- - ${{ runner.os }}-build- - ${{ runner.os }}- - - name: Set env - run: echo "NODE_ENV=test" >> $GITHUB_ENV - - name: Cypress run - uses: cypress-io/github-action@v2 - with: - start: | - npm run start:api:cache - npm run start:web - docker-compose -f ./scripts/cypress/docker-compose-pg.yml up -d - spec: "./scripts/cypress/integration/test/pg-restTableOps.js" - wait-on: "http://localhost:8080, http://localhost:3000/_nuxt/assets/img/icons/512x512-trans.png" - wait-on-timeout: 1200 - config-file: scripts/cypress/cypress.json - - name: Upload screenshots - if: always() - uses: actions/upload-artifact@v2 - with: - name: cypress-pg-restTableOps-run-cache-snapshots - path: scripts/cypress/screenshots - retention-days: 2 - cypress-pg-restViews-run-cache: - runs-on: ubuntu-20.04 - if: ${{ github.event_name == 'push' || !github.event.pull_request.draft }} - steps: - - name: Setup Node - uses: actions/setup-node@v1 - with: - node-version: 16.15.0 - - name: Checkout - uses: actions/checkout@v2 - with: - fetch-depth: 0 - - name: Cache node modules - uses: actions/cache@v2 - env: - cache-name: cache-node-modules - - with: - # npm cache files are stored in `~/.npm` on Linux/macOS - path: ~/.npm - key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }} - restore-keys: | - ${{ runner.os }}-build-${{ env.cache-name }}- - ${{ runner.os }}-build- - ${{ runner.os }}- - - name: Set env - run: echo "NODE_ENV=test" >> $GITHUB_ENV - - name: Cypress run - uses: cypress-io/github-action@v2 - with: - start: | - npm run start:api:cache - npm run start:web - docker-compose -f ./scripts/cypress/docker-compose-pg.yml up -d - spec: "./scripts/cypress/integration/test/pg-restViews.js" - wait-on: "http://localhost:8080, http://localhost:3000/_nuxt/assets/img/icons/512x512-trans.png" - wait-on-timeout: 1200 - config-file: scripts/cypress/cypress.json - - name: Upload screenshots - if: always() - uses: actions/upload-artifact@v2 - with: - name: cypress-pg-restViews-run-cache-snapshots - path: scripts/cypress/screenshots - retention-days: 2 - cypress-pg-restRoles-run-cache: - runs-on: ubuntu-20.04 - if: ${{ github.event_name == 'push' || !github.event.pull_request.draft }} - steps: - - name: Setup Node - uses: actions/setup-node@v1 - with: - node-version: 16.15.0 - - name: Checkout - uses: actions/checkout@v2 - with: - fetch-depth: 0 - - name: Cache node modules - uses: actions/cache@v2 - env: - cache-name: cache-node-modules - - with: - # npm cache files are stored in `~/.npm` on Linux/macOS - path: ~/.npm - key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }} - restore-keys: | - ${{ runner.os }}-build-${{ env.cache-name }}- - ${{ runner.os }}-build- - ${{ runner.os }}- - - name: Set env - run: echo "NODE_ENV=test" >> $GITHUB_ENV - - name: Cypress run - uses: cypress-io/github-action@v2 - with: - start: | - npm run start:api:cache - npm run start:web - docker-compose -f ./scripts/cypress/docker-compose-pg.yml up -d - spec: "./scripts/cypress/integration/test/pg-restRoles.js" - wait-on: "http://localhost:8080, http://localhost:3000/_nuxt/assets/img/icons/512x512-trans.png" - wait-on-timeout: 1200 - config-file: scripts/cypress/cypress.json - - name: Upload screenshots - if: always() - uses: actions/upload-artifact@v2 - with: - name: cypress-pg-restRoles-run-cache-snapshots - path: scripts/cypress/screenshots - retention-days: 2 +# cypress-pg-restTableOps-run-cache: +# runs-on: ubuntu-20.04 +# if: ${{ github.event_name == 'push' || !github.event.pull_request.draft }} +# steps: +# - name: Setup Node +# uses: actions/setup-node@v1 +# with: +# node-version: 16.15.0 +# - name: Checkout +# uses: actions/checkout@v2 +# with: +# fetch-depth: 0 +# - name: Cache node modules +# uses: actions/cache@v2 +# env: +# cache-name: cache-node-modules +# +# with: +# # npm cache files are stored in `~/.npm` on Linux/macOS +# path: ~/.npm +# key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }} +# restore-keys: | +# ${{ runner.os }}-build-${{ env.cache-name }}- +# ${{ runner.os }}-build- +# ${{ runner.os }}- +# - name: Set env +# run: echo "NODE_ENV=test" >> $GITHUB_ENV +# - name: Cypress run +# uses: cypress-io/github-action@v2 +# with: +# start: | +# npm run start:api:cache +# npm run start:web +# docker-compose -f ./scripts/cypress/docker-compose-pg.yml up -d +# spec: "./scripts/cypress/integration/test/pg-restTableOps.js" +# wait-on: "http://localhost:8080, http://localhost:3000/_nuxt/assets/img/icons/512x512-trans.png" +# wait-on-timeout: 1200 +# config-file: scripts/cypress/cypress.json +# - name: Upload screenshots +# if: always() +# uses: actions/upload-artifact@v2 +# with: +# name: cypress-pg-restTableOps-run-cache-snapshots +# path: scripts/cypress/screenshots +# retention-days: 2 +# cypress-pg-restViews-run-cache: +# runs-on: ubuntu-20.04 +# if: ${{ github.event_name == 'push' || !github.event.pull_request.draft }} +# steps: +# - name: Setup Node +# uses: actions/setup-node@v1 +# with: +# node-version: 16.15.0 +# - name: Checkout +# uses: actions/checkout@v2 +# with: +# fetch-depth: 0 +# - name: Cache node modules +# uses: actions/cache@v2 +# env: +# cache-name: cache-node-modules +# +# with: +# # npm cache files are stored in `~/.npm` on Linux/macOS +# path: ~/.npm +# key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }} +# restore-keys: | +# ${{ runner.os }}-build-${{ env.cache-name }}- +# ${{ runner.os }}-build- +# ${{ runner.os }}- +# - name: Set env +# run: echo "NODE_ENV=test" >> $GITHUB_ENV +# - name: Cypress run +# uses: cypress-io/github-action@v2 +# with: +# start: | +# npm run start:api:cache +# npm run start:web +# docker-compose -f ./scripts/cypress/docker-compose-pg.yml up -d +# spec: "./scripts/cypress/integration/test/pg-restViews.js" +# wait-on: "http://localhost:8080, http://localhost:3000/_nuxt/assets/img/icons/512x512-trans.png" +# wait-on-timeout: 1200 +# config-file: scripts/cypress/cypress.json +# - name: Upload screenshots +# if: always() +# uses: actions/upload-artifact@v2 +# with: +# name: cypress-pg-restViews-run-cache-snapshots +# path: scripts/cypress/screenshots +# retention-days: 2 +# cypress-pg-restRoles-run-cache: +# runs-on: ubuntu-20.04 +# if: ${{ github.event_name == 'push' || !github.event.pull_request.draft }} +# steps: +# - name: Setup Node +# uses: actions/setup-node@v1 +# with: +# node-version: 16.15.0 +# - name: Checkout +# uses: actions/checkout@v2 +# with: +# fetch-depth: 0 +# - name: Cache node modules +# uses: actions/cache@v2 +# env: +# cache-name: cache-node-modules +# +# with: +# # npm cache files are stored in `~/.npm` on Linux/macOS +# path: ~/.npm +# key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }} +# restore-keys: | +# ${{ runner.os }}-build-${{ env.cache-name }}- +# ${{ runner.os }}-build- +# ${{ runner.os }}- +# - name: Set env +# run: echo "NODE_ENV=test" >> $GITHUB_ENV +# - name: Cypress run +# uses: cypress-io/github-action@v2 +# with: +# start: | +# npm run start:api:cache +# npm run start:web +# docker-compose -f ./scripts/cypress/docker-compose-pg.yml up -d +# spec: "./scripts/cypress/integration/test/pg-restRoles.js" +# wait-on: "http://localhost:8080, http://localhost:3000/_nuxt/assets/img/icons/512x512-trans.png" +# wait-on-timeout: 1200 +# config-file: scripts/cypress/cypress.json +# - name: Upload screenshots +# if: always() +# uses: actions/upload-artifact@v2 +# with: +# name: cypress-pg-restRoles-run-cache-snapshots +# path: scripts/cypress/screenshots +# retention-days: 2 cypress-pg-restMisc-run-cache: runs-on: ubuntu-20.04 if: ${{ github.event_name == 'push' || !github.event.pull_request.draft }} @@ -559,134 +559,134 @@ jobs: name: cypress-pg-restMisc-run-cache-snapshots path: scripts/cypress/screenshots retention-days: 2 - cy-quick-sqlite: - runs-on: ubuntu-20.04 - if: ${{ github.event_name == 'push' || !github.event.pull_request.draft }} - steps: - - name: Setup Node - uses: actions/setup-node@v1 - with: - node-version: 16.15.0 - - name: Checkout - uses: actions/checkout@v2 - with: - fetch-depth: 0 - - name: Cache node modules - uses: actions/cache@v2 - env: - cache-name: cache-node-modules - - with: - # npm cache files are stored in `~/.npm` on Linux/macOS - path: ~/.npm - key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }} - restore-keys: | - ${{ runner.os }}-build-${{ env.cache-name }}- - ${{ runner.os }}-build- - ${{ runner.os }}- - - name: Set env - run: echo "NODE_ENV=test" >> $GITHUB_ENV - - name: Cypress run - uses: cypress-io/github-action@v2 - with: - start: | - cp ./scripts/cypress/fixtures/quickTest/noco_0_91_7.db ./packages/nocodb/noco.db - npm run start:api:cache - npm run start:web - docker-compose -f ./scripts/docker-compose-cypress.yml up -d - spec: "./scripts/cypress/integration/test/quickTest.js" - wait-on: "http://localhost:8080, http://localhost:3000/_nuxt/assets/img/icons/512x512-trans.png" - wait-on-timeout: 1200 - config-file: scripts/cypress/cypress.json - - name: Upload screenshots - if: always() - uses: actions/upload-artifact@v2 - with: - name: cy-quick-sqlite-snapshots - path: scripts/cypress/screenshots - retention-days: 2 - cy-quick-pg: - runs-on: ubuntu-20.04 - if: ${{ github.event_name == 'push' || !github.event.pull_request.draft }} - steps: - - name: Setup Node - uses: actions/setup-node@v1 - with: - node-version: 16.15.0 - - name: Checkout - uses: actions/checkout@v2 - with: - fetch-depth: 0 - - name: Cache node modules - uses: actions/cache@v2 - env: - cache-name: cache-node-modules - - with: - # npm cache files are stored in `~/.npm` on Linux/macOS - path: ~/.npm - key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }} - restore-keys: | - ${{ runner.os }}-build-${{ env.cache-name }}- - ${{ runner.os }}-build- - ${{ runner.os }}- - - name: Set env - run: echo "NODE_ENV=test" >> $GITHUB_ENV - - name: Cypress run - uses: cypress-io/github-action@v2 - with: - start: | - docker-compose -f ./scripts/cypress/docker-compose-pg-cy-quick.yml up -d - npm run start:api:cache:pg:cyquick - npm run start:web - spec: "./scripts/cypress/integration/test/quickTest.js" - wait-on: "http://localhost:8080, http://localhost:3000/_nuxt/assets/img/icons/512x512-trans.png" - wait-on-timeout: 1200 - config-file: scripts/cypress/cypress.json - - name: Upload screenshots - if: always() - uses: actions/upload-artifact@v2 - with: - name: cy-quick-pg-snapshots - path: scripts/cypress/screenshots - retention-days: 2 - unit-tests: - runs-on: ubuntu-20.04 - if: ${{ github.event_name == 'push' || !github.event.pull_request.draft }} - steps: - - name: Setup Node - uses: actions/setup-node@v1 - with: - node-version: 16.15.0 - - name: Checkout - uses: actions/checkout@v2 - with: - fetch-depth: 0 - - name: Cache node modules - uses: actions/cache@v2 - env: - cache-name: cache-node-modules - - with: - # npm cache files are stored in `~/.npm` on Linux/macOS - path: ~/.npm - key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }} - restore-keys: | - ${{ runner.os }}-build-${{ env.cache-name }}- - ${{ runner.os }}-build- - ${{ runner.os }}- - - name: install dependencies nocodb-sdk - working-directory: ./packages/nocodb-sdk - run: npm install - - name: build nocodb-sdk - working-directory: ./packages/nocodb-sdk - run: npm run build:main - - name: Install dependencies - working-directory: ./packages/nocodb - run: npm install - - name: setup mysql - working-directory: ./ - run: docker-compose -f ./scripts/docker-compose-cypress.yml up -d - - name: run unit tests - working-directory: ./packages/nocodb - run: npm run test:unit \ No newline at end of file +# cy-quick-sqlite: +# runs-on: ubuntu-20.04 +# if: ${{ github.event_name == 'push' || !github.event.pull_request.draft }} +# steps: +# - name: Setup Node +# uses: actions/setup-node@v1 +# with: +# node-version: 16.15.0 +# - name: Checkout +# uses: actions/checkout@v2 +# with: +# fetch-depth: 0 +# - name: Cache node modules +# uses: actions/cache@v2 +# env: +# cache-name: cache-node-modules +# +# with: +# # npm cache files are stored in `~/.npm` on Linux/macOS +# path: ~/.npm +# key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }} +# restore-keys: | +# ${{ runner.os }}-build-${{ env.cache-name }}- +# ${{ runner.os }}-build- +# ${{ runner.os }}- +# - name: Set env +# run: echo "NODE_ENV=test" >> $GITHUB_ENV +# - name: Cypress run +# uses: cypress-io/github-action@v2 +# with: +# start: | +# cp ./scripts/cypress/fixtures/quickTest/noco_0_91_7.db ./packages/nocodb/noco.db +# npm run start:api:cache +# npm run start:web +# docker-compose -f ./scripts/docker-compose-cypress.yml up -d +# spec: "./scripts/cypress/integration/test/quickTest.js" +# wait-on: "http://localhost:8080, http://localhost:3000/_nuxt/assets/img/icons/512x512-trans.png" +# wait-on-timeout: 1200 +# config-file: scripts/cypress/cypress.json +# - name: Upload screenshots +# if: always() +# uses: actions/upload-artifact@v2 +# with: +# name: cy-quick-sqlite-snapshots +# path: scripts/cypress/screenshots +# retention-days: 2 +# cy-quick-pg: +# runs-on: ubuntu-20.04 +# if: ${{ github.event_name == 'push' || !github.event.pull_request.draft }} +# steps: +# - name: Setup Node +# uses: actions/setup-node@v1 +# with: +# node-version: 16.15.0 +# - name: Checkout +# uses: actions/checkout@v2 +# with: +# fetch-depth: 0 +# - name: Cache node modules +# uses: actions/cache@v2 +# env: +# cache-name: cache-node-modules +# +# with: +# # npm cache files are stored in `~/.npm` on Linux/macOS +# path: ~/.npm +# key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }} +# restore-keys: | +# ${{ runner.os }}-build-${{ env.cache-name }}- +# ${{ runner.os }}-build- +# ${{ runner.os }}- +# - name: Set env +# run: echo "NODE_ENV=test" >> $GITHUB_ENV +# - name: Cypress run +# uses: cypress-io/github-action@v2 +# with: +# start: | +# docker-compose -f ./scripts/cypress/docker-compose-pg-cy-quick.yml up -d +# npm run start:api:cache:pg:cyquick +# npm run start:web +# spec: "./scripts/cypress/integration/test/quickTest.js" +# wait-on: "http://localhost:8080, http://localhost:3000/_nuxt/assets/img/icons/512x512-trans.png" +# wait-on-timeout: 1200 +# config-file: scripts/cypress/cypress.json +# - name: Upload screenshots +# if: always() +# uses: actions/upload-artifact@v2 +# with: +# name: cy-quick-pg-snapshots +# path: scripts/cypress/screenshots +# retention-days: 2 +# unit-tests: +# runs-on: ubuntu-20.04 +# if: ${{ github.event_name == 'push' || !github.event.pull_request.draft }} +# steps: +# - name: Setup Node +# uses: actions/setup-node@v1 +# with: +# node-version: 16.15.0 +# - name: Checkout +# uses: actions/checkout@v2 +# with: +# fetch-depth: 0 +# - name: Cache node modules +# uses: actions/cache@v2 +# env: +# cache-name: cache-node-modules +# +# with: +# # npm cache files are stored in `~/.npm` on Linux/macOS +# path: ~/.npm +# key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }} +# restore-keys: | +# ${{ runner.os }}-build-${{ env.cache-name }}- +# ${{ runner.os }}-build- +# ${{ runner.os }}- +# - name: install dependencies nocodb-sdk +# working-directory: ./packages/nocodb-sdk +# run: npm install +# - name: build nocodb-sdk +# working-directory: ./packages/nocodb-sdk +# run: npm run build:main +# - name: Install dependencies +# working-directory: ./packages/nocodb +# run: npm install +# - name: setup mysql +# working-directory: ./ +# run: docker-compose -f ./scripts/docker-compose-cypress.yml up -d +# - name: run unit tests +# working-directory: ./packages/nocodb +# run: npm run test:unit \ No newline at end of file diff --git a/scripts/cypress/integration/common/6d_language_validation.js b/scripts/cypress/integration/common/6d_language_validation.js index d3704f13fd..bb0e0200f6 100644 --- a/scripts/cypress/integration/common/6d_language_validation.js +++ b/scripts/cypress/integration/common/6d_language_validation.js @@ -1,3 +1,5 @@ +import { projectsPage } from "../../support/page_objects/navigation"; + const { mainPage } = require("../../support/page_objects/mainPage"); const { loginPage } = require("../../support/page_objects/navigation"); const { roles } = require("../../support/page_objects/projectConstants"); @@ -22,15 +24,21 @@ export const genTest = (apiType, dbType) => { }); after(() => { - cy.restoreLocalStorage(); - cy.get(".nc-menu-accounts").should("exist").click(); - cy.getActiveMenu(".nc-dropdown-user-accounts-menu") - .find(".ant-dropdown-menu-item") - .eq(1) - .click(); + // // sign out + // // + // cy.restoreLocalStorage(); + // cy.get(".nc-menu-accounts").should("exist").click(); + // cy.getActiveMenu(".nc-dropdown-user-accounts-menu") + // .find(".ant-dropdown-menu-item") + // .eq(1) + // .click(); + // + // cy.wait(5000); + // cy.get('button:contains("SIGN")').should("exist"); + // cy.saveLocalStorage(); - cy.wait(5000); - cy.get('button:contains("SIGN")').should("exist"); + cy.restoreLocalStorage(); + projectsPage.openConfiguredProject(apiType, dbType); cy.saveLocalStorage(); }); diff --git a/scripts/cypress/integration/common/6f_attachments.js b/scripts/cypress/integration/common/6f_attachments.js index 92111e446c..4531575d31 100644 --- a/scripts/cypress/integration/common/6f_attachments.js +++ b/scripts/cypress/integration/common/6f_attachments.js @@ -6,11 +6,9 @@ export const genTest = (apiType, dbType) => { if (!isTestSuiteActive(apiType, dbType)) return; describe(`${apiType.toUpperCase()} Columns of type attachment`, () => { - before(() => { - loginPage.loginAndOpenProject(apiType, dbType); - cy.openTableTab("Country", 25); - cy.saveLocalStorage(); - }); + // before(() => { + // // loginPage.loginAndOpenProject(apiType, dbType); + // }); beforeEach(() => { cy.restoreLocalStorage(); @@ -49,6 +47,8 @@ export const genTest = (apiType, dbType) => { }); it(`Add column of type attachments`, () => { + cy.openTableTab("Country", 25); + mainPage.addColumnWithType("testAttach", "Attachment", "Country"); for (let i = 4; i <= 6; i++) { diff --git a/scripts/cypress/integration/common/6g_base_share.js b/scripts/cypress/integration/common/6g_base_share.js index 12d9f1835c..070fd0f1a9 100644 --- a/scripts/cypress/integration/common/6g_base_share.js +++ b/scripts/cypress/integration/common/6g_base_share.js @@ -56,12 +56,12 @@ export const genTest = (apiType, dbType) => { }; describe(`${apiType.toUpperCase()} Base VIEW share`, () => { - before(() => { - // loginPage.loginAndOpenProject(apiType, dbType); - cy.restoreLocalStorage(); - cy.openTableTab("Country", 25); - cy.saveLocalStorage(); - }); + // before(() => { + // // loginPage.loginAndOpenProject(apiType, dbType); + // cy.restoreLocalStorage(); + // cy.openTableTab("Country", 25); + // cy.saveLocalStorage(); + // }); beforeEach(() => { cy.restoreLocalStorage(); @@ -72,6 +72,8 @@ export const genTest = (apiType, dbType) => { }); it(`Generate base share URL`, () => { + cy.openTableTab("Country", 25); + // click SHARE cy.get(".nc-share-base:visible").should("exist").click(); diff --git a/scripts/cypress/integration/common/8a_webhook.js b/scripts/cypress/integration/common/8a_webhook.js index 6716b42c4b..132237a9c6 100644 --- a/scripts/cypress/integration/common/8a_webhook.js +++ b/scripts/cypress/integration/common/8a_webhook.js @@ -246,7 +246,8 @@ export const genTest = (apiType, dbType) => { if (!isTestSuiteActive(apiType, dbType)) return; describe(`Webhook`, () => { before(() => { - loginPage.loginAndOpenProject(apiType, dbType); + // loginPage.loginAndOpenProject(apiType, dbType); + cy.restoreLocalStorage(); cy.createTable("Temp"); cy.saveLocalStorage(); }); diff --git a/scripts/cypress/integration/test/pg-restMisc.js b/scripts/cypress/integration/test/pg-restMisc.js index f4b92d498e..74cfd319c0 100644 --- a/scripts/cypress/integration/test/pg-restMisc.js +++ b/scripts/cypress/integration/test/pg-restMisc.js @@ -14,22 +14,35 @@ const t8a = require("../common/8a_webhook"); const nocoTestSuite = (apiType, dbType) => { setCurrentMode(apiType, dbType); + + // Sakila Ext DB project creation t01.genTest(apiType, dbType); + // Download CSV t6b.genTest(apiType, dbType); - t6d.genTest(apiType, dbType); + + // i18n: language validation suffice to be done in REST MySQL suite + // t6d.genTest(apiType, dbType); + + // Swagger API // exclude@ncv2 t6c.genTest(apiType, dbType); + + // Attachment cell t6f.genTest(apiType, dbType); - t6g.genTest(apiType, dbType); - // webhook tests + // ERD: + // t9b.genTest(apiType, dbType); + + // Webhook tests t8a.genTest(apiType, dbType); - // **deletes created project, hence place it @ end + // Base share (viewer, editor), iFrame tests + t6g.genTest(apiType, dbType); + + // Project operations: Delete t6e.genTest(apiType, dbType); - // intended to keep this after earlier project deletion - // creates project using excel & deletes it + // Create project from Excel t7a.genTest(apiType, dbType); }; diff --git a/scripts/cypress/integration/test/restMisc.js b/scripts/cypress/integration/test/restMisc.js index 704b494943..fae8f97aad 100644 --- a/scripts/cypress/integration/test/restMisc.js +++ b/scripts/cypress/integration/test/restMisc.js @@ -15,25 +15,35 @@ const { const nocoTestSuite = (apiType, dbType) => { setCurrentMode(apiType, dbType); + + // Sakila Ext DB project creation t01.genTest(apiType, dbType); + // Download CSV t6b.genTest(apiType, dbType); + + // i18n t6d.genTest(apiType, dbType); + + // Swagger API // exclude@ncv2 t6c.genTest(apiType, dbType); + + // Attachment cell t6f.genTest(apiType, dbType); + // ERD t9b.genTest(apiType, dbType); - t6g.genTest(apiType, dbType); - - // webhook tests + // Webhook tests t8a.genTest(apiType, dbType); - // **deletes created project, hence place it @ end + // Base share (viewer, editor), iFrame tests + t6g.genTest(apiType, dbType); + + // Project operations: Delete t6e.genTest(apiType, dbType); - // intended to keep this after earlier project deletion - // creates project using excel & deletes it + // Create project from Excel t7a.genTest(apiType, dbType); }; diff --git a/scripts/cypress/integration/test/xcdb-restMisc.js b/scripts/cypress/integration/test/xcdb-restMisc.js index 31b8091486..84096b84ee 100644 --- a/scripts/cypress/integration/test/xcdb-restMisc.js +++ b/scripts/cypress/integration/test/xcdb-restMisc.js @@ -12,25 +12,39 @@ let t8a = require("../common/8a_webhook"); const { setCurrentMode, } = require("../../support/page_objects/projectConstants"); +const t9b = require("../common/9b_ERD"); const nocoTestSuite = (apiType, dbType) => { setCurrentMode(apiType, dbType); + + // Sakila Ext DB project creation t01.genTest(apiType, dbType); + // Download CSV t6b.genTest(apiType, dbType); - t6d.genTest(apiType, dbType); + + // i18n: language validation suffice to be done in REST MySQL suite + // t6d.genTest(apiType, dbType); + + // Swagger API // exclude@ncv2 t6c.genTest(apiType, dbType); + + // Attachment cell t6f.genTest(apiType, dbType); - t6g.genTest(apiType, dbType); - // webhook tests + // ERD: + // t9b.genTest(apiType, dbType); + + // Webhook tests t8a.genTest(apiType, dbType); - // **deletes created project, hence place it @ end + // Base share (viewer, editor), iFrame tests + t6g.genTest(apiType, dbType); + + // Project operations: Delete t6e.genTest(apiType, dbType); - // intended to keep this after earlier project deletion - // creates project using excel & deletes it + // Create project from Excel t7a.genTest(apiType, dbType); };