github.com/argoproj/argo-cd/v3@v3.2.1/ui-test/src/test001.ts (about) 1 import Configuration from './Configuration'; 2 import UiTestUtilities from './UiTestUtilities'; 3 import {trace} from 'console'; 4 import {ApplicationsList} from './applications-list/applications-list'; 5 import {ApplicationCreatePanel} from './application-create-panel/application-create-panel'; 6 import {ApplicationsSyncPanel} from './applications-sync-panel/applications-sync-panel'; 7 import {PopupManager} from './popup/popup-manager'; 8 9 /** 10 * General test that 11 * - creates an app based on the environment variables (see .env), 12 * - syncs the app 13 * - waits for the healthy and sync'ed states 14 * - deletes the app. 15 * 16 * This can be run multiple times for different apps 17 * 18 */ 19 async function doTest() { 20 const navigation = await UiTestUtilities.init(); 21 try { 22 if (Configuration.ARGOCD_AUTH_USERNAME !== '') { 23 await navigation.getLoginPage().loginWithCredentials(); 24 } 25 26 const appsList: ApplicationsList = await navigation.clickApplicationsNavBarButton(); 27 const applicationCreatePanel: ApplicationCreatePanel = await appsList.clickNewAppButton(); 28 29 UiTestUtilities.log('About to create application'); 30 await applicationCreatePanel.setAppName(Configuration.APP_NAME); 31 await applicationCreatePanel.setProjectName(Configuration.APP_PROJECT); 32 await applicationCreatePanel.setSourceRepoUrl(Configuration.GIT_REPO); 33 await applicationCreatePanel.setSourceRepoPath(Configuration.SOURCE_REPO_PATH); 34 await applicationCreatePanel.selectDestinationClusterNameMenu(Configuration.DESTINATION_CLUSTER_NAME); 35 await applicationCreatePanel.setDestinationNamespace(Configuration.DESTINATION_NAMESPACE); 36 await applicationCreatePanel.clickCreateButton(); 37 38 const appsSyncPanel: ApplicationsSyncPanel = await appsList.clickSyncButtonOnApp(Configuration.APP_NAME); 39 await appsSyncPanel.clickSyncButton(); 40 41 await appsList.waitForHealthStatusOnApp(Configuration.APP_NAME); 42 await appsList.waitForSyncStatusOnApp(Configuration.APP_NAME); 43 await appsList.checkNoAdditionalOperations(Configuration.APP_NAME); 44 45 const popupManager: PopupManager = await appsList.clickDeleteButtonOnApp(Configuration.APP_NAME); 46 await popupManager.setPromptFieldName(Configuration.APP_NAME); 47 await popupManager.clickPromptOk(); 48 // After deleting, wait until the delete operation finishes 49 await appsList.waitUntilOperationStatusDisappearsOnApp(Configuration.APP_NAME); 50 51 await UiTestUtilities.log('Test passed'); 52 } catch (e) { 53 trace('Test failed ', e); 54 } finally { 55 await navigation.quit(); 56 } 57 } 58 59 doTest();