From 4289d2fa4033d31a1b1d98e5bb514e8f26c050ff Mon Sep 17 00:00:00 2001 From: Eduard Frankford <e.frankford@student.uibk.ac.at> Date: Sun, 29 May 2022 16:41:16 +0200 Subject: [PATCH] testing --- .gitlab-ci.yml | 90 +++++++++---------- package.json | 4 +- .../e2e/entities/likes/likes.spec.ts | 4 +- .../saved-searches/saved-searches.spec.ts | 34 +------ .../entities/statistics/statistics.spec.ts | 4 +- .../user-watch-list/user-watch-list.spec.ts | 37 +------- .../watch-list-entry/watch-list-entry.spec.ts | 38 +------- 7 files changed, 61 insertions(+), 150 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 7dd5686ab..47f8c2a48 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -9,11 +9,11 @@ stages: # - lint # - build # - test - # - e2e + - e2e # - analyze # - package - - release - - deploy + # - release + # - deploy before_script: - export NG_CLI_ANALYTICS="false" @@ -102,19 +102,19 @@ before_script: # expire_in: 15 days # needs: [] -# e2e-test: -# services: -# - selenium/standalone-chrome -# image: node -# stage: e2e -# cache: {} -# # dependencies: -# # - frontend-test -# script: -# - apt-get update -# - apt-get install -y default-jre -# - apt-get -f install -# - npm run e2e +e2e-test: + services: + - selenium/standalone-chrome + image: node + stage: e2e + cache: {} + # dependencies: + # - frontend-test + script: + - apt-get update + - apt-get install -y default-jre + - apt-get -f install -y + - npm run e2e # sonar-analyze: # stage: analyze # dependencies: @@ -131,33 +131,33 @@ before_script: # - ./mvnw -ntp verify -Pprod -DskipTests -Dmaven.repo.local=$MAVEN_USER_HOME # Uncomment the following line to use gitlabs container registry. You need to adapt the REGISTRY_URL in case you are not using gitlab.com -docker-push: - stage: release - variables: - # only: - # refs: - # - development - REGISTRY_URL: sharing-codeability.uibk.ac.at:5051 - IMAGE_TAG: sharing-codeability.uibk.ac.at:5051/sharing/codeability-sharing-platform - script: - - ./mvnw package -Pprod verify -DskipTests jib:build -Djib.to.image=$IMAGE_TAG -Djib.to.auth.username=gitlab-ci-token -Djib.to.auth.password=$CI_BUILD_TOKEN -Dmaven.repo.local=$MAVEN_USER_HOME - when: always +# docker-push: +# stage: release +# variables: +# # only: +# # refs: +# # - development +# REGISTRY_URL: sharing-codeability.uibk.ac.at:5051 +# IMAGE_TAG: sharing-codeability.uibk.ac.at:5051/sharing/codeability-sharing-platform +# script: +# - ./mvnw package -Pprod verify -DskipTests jib:build -Djib.to.image=$IMAGE_TAG -Djib.to.auth.username=gitlab-ci-token -Djib.to.auth.password=$CI_BUILD_TOKEN -Dmaven.repo.local=$MAVEN_USER_HOME +# when: always -deploy: - stage: deploy - dependencies: - - 'docker-push' - image: ubuntu:20.04 - before_script: - - apt-get update -qy - - apt-get install -y rsync openssh-client - - mkdir -p ~/.ssh - - echo "${SSH_BKY_DEPLOY}" > ~/.ssh/id_rsa - - chmod 700 ~/.ssh/id_rsa - - eval "$(ssh-agent -s)" - - ssh-add ~/.ssh/id_rsa - - echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config - script: - - whoami - - ssh contDeploy@codeability-austria -p 1022 "cd /home/michael/gitsearch && git pull && cd src/main/docker/ && docker pull sharing-codeability.uibk.ac.at:5051/sharing/codeability-sharing-platform && GIT_BRANCH=`git rev-parse --abbrev-ref HEAD` COMMIT_ID=`git rev-parse HEAD` SPRING_PROFILES_ACTIVE=staging,swagger docker-compose -f gitsearch.yml up -d --no-deps --build --force-recreate gitsearch-app && exit" - when: always +# deploy: +# stage: deploy +# dependencies: +# - 'docker-push' +# image: ubuntu:20.04 +# before_script: +# - apt-get update -qy +# - apt-get install -y rsync openssh-client +# - mkdir -p ~/.ssh +# - echo "${SSH_BKY_DEPLOY}" > ~/.ssh/id_rsa +# - chmod 700 ~/.ssh/id_rsa +# - eval "$(ssh-agent -s)" +# - ssh-add ~/.ssh/id_rsa +# - echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config +# script: +# - whoami +# - ssh contDeploy@codeability-austria -p 1022 "cd /home/michael/gitsearch && git pull && cd src/main/docker/ && docker pull sharing-codeability.uibk.ac.at:5051/sharing/codeability-sharing-platform && GIT_BRANCH=`git rev-parse --abbrev-ref HEAD` COMMIT_ID=`git rev-parse HEAD` SPRING_PROFILES_ACTIVE=staging,swagger docker-compose -f gitsearch.yml up -d --no-deps --build --force-recreate gitsearch-app && exit" +# when: always diff --git a/package.json b/package.json index 9d2a8eaa4..a3d3183e1 100644 --- a/package.json +++ b/package.json @@ -38,8 +38,8 @@ "docker:others:down": "npm run docker:elasticsearch:down", "predocker:others:up": "", "docker:others:up": "npm run docker:elasticsearch:up", - "e2e": "export JHI_E2E_HEADLESS=true; protractor src/test/javascript/protractor.conf.js --disableChecks", - "e2e:ci": "export E2E_PASSWORD=aUCDc2gJ6Qq3cAgf8jUfwV69gnd5Sq ; protractor --baseUrl='https://dev-exchange.codeability-austria.uibk.ac.at/' src/test/javascript/protractor.conf.js --disableChecks", + "e2e": "export JHI_E2E_HEADLESS=true; protractor --baseUrl='http://localhost:8080/' src/test/javascript/protractor.conf.js --disableChecks", + "e2e:ci": "export E2E_PASSWORD=pHHwRjRoWgg9WTZcxGA2M67W8CJyrD ; protractor --baseUrl='https://search.sharing-codeability.uibk.ac.at/' src/test/javascript/protractor.conf.js --disableChecks", "e2e:update-webdriver": "webdriver-manager update --gecko false", "postinstall": "npm run e2e:update-webdriver", "java:docker": "./mvnw -ntp verify -DskipTests -Pprod jib:dockerBuild", diff --git a/src/test/javascript/e2e/entities/likes/likes.spec.ts b/src/test/javascript/e2e/entities/likes/likes.spec.ts index 704587735..44bfdf4a2 100644 --- a/src/test/javascript/e2e/entities/likes/likes.spec.ts +++ b/src/test/javascript/e2e/entities/likes/likes.spec.ts @@ -11,12 +11,14 @@ describe('Likes e2e test', () => { let likesComponentsPage: LikesComponentsPage; let likesUpdatePage: LikesUpdatePage; let likesDeleteDialog: LikesDeleteDialog; + const username = process.env.E2E_USERNAME ?? 'admin'; + const password = process.env.E2E_PASSWORD ?? 'search@admin'; before(async () => { await browser.get('/'); navBarPage = new NavBarPage(); signInPage = await navBarPage.getSignInPage(); - await signInPage.autoSignInUsing('admin', 'search@admin'); + await signInPage.autoSignInUsing(username, password); await browser.wait(ec.visibilityOf(navBarPage.entityMenu), 5000); // await navBarPage.clickOnEntityMenu(); await browser.sleep(5000); diff --git a/src/test/javascript/e2e/entities/saved-searches/saved-searches.spec.ts b/src/test/javascript/e2e/entities/saved-searches/saved-searches.spec.ts index 7d7612757..5af4acae2 100644 --- a/src/test/javascript/e2e/entities/saved-searches/saved-searches.spec.ts +++ b/src/test/javascript/e2e/entities/saved-searches/saved-searches.spec.ts @@ -18,13 +18,13 @@ describe('SavedSearches e2e test', () => { // eslint-disable-next-line @typescript-eslint/no-unused-vars const username = process.env.E2E_USERNAME ?? 'admin'; // eslint-disable-next-line @typescript-eslint/no-unused-vars - const password = process.env.E2E_PASSWORD ?? 'admin'; + const password = process.env.E2E_PASSWORD ?? 'search@admin'; before(async () => { await browser.get('/'); navBarPage = new NavBarPage(); signInPage = await navBarPage.getSignInPage(); - signInPage.autoSignInUsing('admin', 'search@admin'); + await signInPage.autoSignInUsing(username, password); await browser.wait(ec.visibilityOf(navBarPage.entityMenu), 5000); // await navBarPage.clickOnEntityMenu(); }); @@ -47,36 +47,6 @@ describe('SavedSearches e2e test', () => { await savedSearchesUpdatePage.cancel(); }); - /* it('should create and save SavedSearches', async () => { - const nbButtonsBeforeCreate = await savedSearchesComponentsPage.countDeleteButtons(); - - await savedSearchesComponentsPage.clickOnCreateButton(); - - await promise.all([ - savedSearchesUpdatePage.setNameInput('name'), - savedSearchesUpdatePage.setJsonQueryInput('jsonQuery'), - savedSearchesUpdatePage.userSelectLastOption(), - ]); - - await savedSearchesUpdatePage.save(); - expect(await savedSearchesUpdatePage.getSaveButton().isPresent(), 'Expected save button disappear').to.be.false; - - expect(await savedSearchesComponentsPage.countDeleteButtons()).to.eq(nbButtonsBeforeCreate + 1, 'Expected one more entry in the table'); - }); */ - - /* it('should delete last SavedSearches', async () => { - const nbButtonsBeforeDelete = await savedSearchesComponentsPage.countDeleteButtons(); - await savedSearchesComponentsPage.clickOnLastDeleteButton(); - - savedSearchesDeleteDialog = new SavedSearchesDeleteDialog(); - expect(await savedSearchesDeleteDialog.getDialogTitle()) - .to.eq('gitsearchApp.savedSearches.delete.question'); - await savedSearchesDeleteDialog.clickOnConfirmButton(); - await browser.wait(ec.visibilityOf(savedSearchesComponentsPage.title), 5000); - - expect(await savedSearchesComponentsPage.countDeleteButtons()).to.eq(nbButtonsBeforeDelete - 1); - }); */ - after(async () => { await navBarPage.autoSignOut(); }); diff --git a/src/test/javascript/e2e/entities/statistics/statistics.spec.ts b/src/test/javascript/e2e/entities/statistics/statistics.spec.ts index 1ffe86825..c3c4385d4 100644 --- a/src/test/javascript/e2e/entities/statistics/statistics.spec.ts +++ b/src/test/javascript/e2e/entities/statistics/statistics.spec.ts @@ -11,12 +11,14 @@ describe('Statistics e2e test', () => { let statisticsComponentsPage: StatisticsComponentsPage; let statisticsUpdatePage: StatisticsUpdatePage; let statisticsDeleteDialog: StatisticsDeleteDialog; + const username = process.env.E2E_USERNAME ?? 'admin'; + const password = process.env.E2E_PASSWORD ?? 'search@admin'; before(async () => { await browser.get('/'); navBarPage = new NavBarPage(); signInPage = await navBarPage.getSignInPage(); - await signInPage.autoSignInUsing('admin', 'search@admin'); + await signInPage.autoSignInUsing(username, password); await browser.wait(ec.visibilityOf(navBarPage.entityMenu), 5000); // await navBarPage.clickOnEntityMenu(); }); diff --git a/src/test/javascript/e2e/entities/user-watch-list/user-watch-list.spec.ts b/src/test/javascript/e2e/entities/user-watch-list/user-watch-list.spec.ts index 37194eb85..9af83bc0a 100644 --- a/src/test/javascript/e2e/entities/user-watch-list/user-watch-list.spec.ts +++ b/src/test/javascript/e2e/entities/user-watch-list/user-watch-list.spec.ts @@ -14,15 +14,15 @@ describe('UserWatchList e2e test', () => { let signInPage: SignInPage; let userWatchListComponentsPage: UserWatchListComponentsPage; let userWatchListUpdatePage: UserWatchListUpdatePage; - /* let userWatchListDeleteDialog: UserWatchListDeleteDialog; */ + const username = process.env.E2E_USERNAME ?? 'admin'; + const password = process.env.E2E_PASSWORD ?? 'search@admin'; before(async () => { await browser.get('/'); navBarPage = new NavBarPage(); signInPage = await navBarPage.getSignInPage(); - await signInPage.autoSignInUsing('admin', 'search@admin'); + await signInPage.autoSignInUsing(username, password); await browser.wait(ec.visibilityOf(navBarPage.entityMenu), 5000); - // await navBarPage.clickOnEntityMenu(); }); it('should load UserWatchLists', async () => { @@ -43,37 +43,6 @@ describe('UserWatchList e2e test', () => { await userWatchListUpdatePage.cancel(); }); - /* it('should create and save UserWatchLists', async () => { - const nbButtonsBeforeCreate = await userWatchListComponentsPage.countDeleteButtons(); - - await userWatchListComponentsPage.clickOnCreateButton(); - - await promise.all([ - userWatchListUpdatePage.setNameInput('name'), - userWatchListUpdatePage.checkFrequencySelectLastOption(), - userWatchListUpdatePage.userIdSelectLastOption(), - ]); - - expect(await userWatchListUpdatePage.getNameInput()).to.eq('name', 'Expected Name value to be equals to name'); - - await userWatchListUpdatePage.save(); - expect(await userWatchListUpdatePage.getSaveButton().isPresent(), 'Expected save button disappear').to.be.false; - - expect(await userWatchListComponentsPage.countDeleteButtons()).to.eq(nbButtonsBeforeCreate + 1, 'Expected one more entry in the table'); - }); */ - - /* it('should delete last UserWatchList', async () => { - const nbButtonsBeforeDelete = await userWatchListComponentsPage.countDeleteButtons(); - await userWatchListComponentsPage.clickOnLastDeleteButton(); - - userWatchListDeleteDialog = new UserWatchListDeleteDialog(); - expect(await userWatchListDeleteDialog.getDialogTitle()) - .to.eq('gitsearchApp.userWatchList.delete.question'); - await userWatchListDeleteDialog.clickOnConfirmButton(); - - expect(await userWatchListComponentsPage.countDeleteButtons()).to.eq(nbButtonsBeforeDelete - 1); - }); */ - after(async () => { await navBarPage.autoSignOut(); }); diff --git a/src/test/javascript/e2e/entities/watch-list-entry/watch-list-entry.spec.ts b/src/test/javascript/e2e/entities/watch-list-entry/watch-list-entry.spec.ts index a71241144..69bd2d359 100644 --- a/src/test/javascript/e2e/entities/watch-list-entry/watch-list-entry.spec.ts +++ b/src/test/javascript/e2e/entities/watch-list-entry/watch-list-entry.spec.ts @@ -14,15 +14,15 @@ describe('WatchListEntry e2e test', () => { let signInPage: SignInPage; let watchListEntryComponentsPage: WatchListEntryComponentsPage; let watchListEntryUpdatePage: WatchListEntryUpdatePage; - /* let watchListEntryDeleteDialog: WatchListEntryDeleteDialog; */ + const username = process.env.E2E_USERNAME ?? 'admin'; + const password = process.env.E2E_PASSWORD ?? 'search@admin'; before(async () => { await browser.get('/'); navBarPage = new NavBarPage(); signInPage = await navBarPage.getSignInPage(); - signInPage.autoSignInUsing('admin', 'search@admin'); + signInPage.autoSignInUsing(username, password); await browser.wait(ec.visibilityOf(navBarPage.entityMenu), 5000); - // await navBarPage.clickOnEntityMenu(); }); it('should load WatchListEntries', async () => { @@ -43,38 +43,6 @@ describe('WatchListEntry e2e test', () => { await watchListEntryUpdatePage.cancel(); }); - /* it('should create and save WatchListEntries', async () => { - const nbButtonsBeforeCreate = await watchListEntryComponentsPage.countDeleteButtons(); - - await watchListEntryComponentsPage.clickOnCreateButton(); - - await promise.all([ - watchListEntryUpdatePage.setExerciseIdInput('exerciseId'), - watchListEntryUpdatePage.setExerciseNameInput('exerciseName'), - watchListEntryUpdatePage.watchlistIdSelectLastOption(), - ]); - - expect(await watchListEntryUpdatePage.getExerciseIdInput()).to.eq('exerciseId', 'Expected ExerciseId value to be equals to exerciseId'); - expect(await watchListEntryUpdatePage.getExerciseNameInput()).to.eq('exerciseName', 'Expected ExerciseName value to be equals to exerciseName'); - - await watchListEntryUpdatePage.save(); - expect(await watchListEntryUpdatePage.getSaveButton().isPresent(), 'Expected save button disappear').to.be.false; - - expect(await watchListEntryComponentsPage.countDeleteButtons()).to.eq(nbButtonsBeforeCreate + 1, 'Expected one more entry in the table'); - }); */ - - /* it('should delete last WatchListEntry', async () => { - const nbButtonsBeforeDelete = await watchListEntryComponentsPage.countDeleteButtons(); - await watchListEntryComponentsPage.clickOnLastDeleteButton(); - - watchListEntryDeleteDialog = new WatchListEntryDeleteDialog(); - expect(await watchListEntryDeleteDialog.getDialogTitle()) - .to.eq('gitsearchApp.watchListEntry.delete.question'); - await watchListEntryDeleteDialog.clickOnConfirmButton(); - - expect(await watchListEntryComponentsPage.countDeleteButtons()).to.eq(nbButtonsBeforeDelete - 1); - }); */ - after(async () => { await navBarPage.autoSignOut(); }); -- GitLab