github.com/argoproj/argo-cd/v2@v2.10.9/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          const appsList: ApplicationsList = await navigation.clickApplicationsNavBarButton();
    23          const applicationCreatePanel: ApplicationCreatePanel = await appsList.clickNewAppButton();
    24  
    25          UiTestUtilities.log('About to create application');
    26          await applicationCreatePanel.setAppName(Configuration.APP_NAME);
    27          await applicationCreatePanel.setProjectName(Configuration.APP_PROJECT);
    28          await applicationCreatePanel.setSourceRepoUrl(Configuration.GIT_REPO);
    29          await applicationCreatePanel.setSourceRepoPath(Configuration.SOURCE_REPO_PATH);
    30          await applicationCreatePanel.selectDestinationClusterNameMenu(Configuration.DESTINATION_CLUSTER_NAME);
    31          await applicationCreatePanel.setDestinationNamespace(Configuration.DESTINATION_NAMESPACE);
    32          await applicationCreatePanel.clickCreateButton();
    33  
    34          const appsSyncPanel: ApplicationsSyncPanel = await appsList.clickSyncButtonOnApp(Configuration.APP_NAME);
    35          await appsSyncPanel.clickSyncButton();
    36  
    37          await appsList.waitForHealthStatusOnApp(Configuration.APP_NAME);
    38          await appsList.waitForSyncStatusOnApp(Configuration.APP_NAME);
    39          await appsList.checkNoAdditionalOperations(Configuration.APP_NAME);
    40  
    41          const popupManager: PopupManager = await appsList.clickDeleteButtonOnApp(Configuration.APP_NAME);
    42          await popupManager.setPromptFieldName(Configuration.APP_NAME);
    43          await popupManager.clickPromptOk();
    44          // After deleting, wait until the delete operation finishes
    45          await appsList.waitUntilOperationStatusDisappearsOnApp(Configuration.APP_NAME);
    46  
    47          await UiTestUtilities.log('Test passed');
    48      } catch (e) {
    49          trace('Test failed ', e);
    50      } finally {
    51          await navigation.quit();
    52      }
    53  }
    54  
    55  doTest();