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();