github.com/rancher/elemental/tests@v0.0.0-20240517125144-ae048c615b3f/README.md (about)

     1  # Tests description for cypress/latest/e2e/unit_tests
     2  
     3  ## `advanced_filtering.spec.ts`
     4  
     5  - **Describe:** Advanced filtering testing
     6      - **It:** Create fake machine inventories
     7      - **It:** Two machine inventories should appear by filtering on test-filter
     8      - **It:** One machine inventory should appear by filtering on test-filter-one
     9      - **It:** No machine inventory should appear by filtering on test-bad-filter
    10      - **It:** Delete all fake machine inventories
    11  
    12  ## `deploy_app.spec.ts`
    13  
    14  - **Describe:** Deploy application in fresh Elemental Cluster
    15      - **It:** Deploy Alerting Drivers application
    16      - **It:** Remove Alerting Drivers application
    17  
    18  ## `elemental_operator.spec.ts`
    19  
    20  - **Describe:** Install Elemental Operator
    21      - **It:** Add local chartmuseum repo
    22      - **It:** Install latest dev Elemental operator
    23      - **It:** Install latest stable Elemental operator
    24  
    25  ## `elemental_plugin.spec.ts`
    26  
    27  - **Describe:** Install Elemental plugin
    28      - **It:** Add elemental-ui repo
    29      - **It:** Add rancher-ui-plugin-charts repo
    30      - **It:** Enable extension support
    31      - **It:** Install Elemental plugin
    32  
    33  ## `first_connection.spec.ts`
    34  
    35  - **Describe:** First login on Rancher
    36      - **It:** Log in and accept terms and conditions
    37  
    38  ## `machine_inventory.spec.ts`
    39  
    40  - **Describe:** Machine inventory testing
    41      - **It:** Check that machine inventory has been created
    42      - **It:** Check we can see our embedded hardware labels
    43      - **It:** Create Elemental cluster
    44      - **It:** Check Elemental cluster status
    45  
    46  ## `machine_registration.spec.ts`
    47  
    48  - **Describe:** Machine registration testing
    49      - **It:** Create machine registration with default options
    50      - **It:** Create machine registration with labels and annotations
    51      - **It:** Delete machine registration
    52      - **It:** Edit a machine registration with edit config button
    53      - **It:** Edit a machine registration with edit YAML button
    54      - **It:** Clone a machine registration
    55      - **It:** Download Machine registration YAML
    56      - **It:** Check machine registration label name size
    57      - **It:** Check machine registration label value size
    58      - **It:** Create Machine registration we will use to test adding a node
    59      - **It:** Create Machine registration we will use to test adding a node
    60  
    61  ## `machine_selector.spec.ts`
    62  
    63  - **Describe:** Machine selector testing
    64      - **It:** Testing selector without any rule
    65      - **It:** Testing selector with unmatching rule
    66      - **It:** Testing selector with matching rule
    67  
    68  ## `menu.spec.ts`
    69  
    70  - **Describe:** Menu testing
    71      - **It:** Check Elemental logo
    72      - **It:** Check Elemental menu
    73  
    74  ## `reset.spec.ts`
    75  
    76  - **Describe:** Reset testing
    77      - **It:** Enable reset in machine inventory
    78      - **It:** Reset node by deleting the cluster
    79      - **It:** Create Elemental cluster
    80  
    81  ## `upgrade-operator.spec.ts`
    82  
    83  - **Describe:** Elemental operator upgrade tests
    84      - **It:** Add elemental-operator dev repo
    85      - **It:** Upgrade Elemental operator
    86      - **It:** Check Elemental UI after upgrade
    87  
    88  ## `upgrade-ui-extension.spec.ts`
    89  
    90  - **Describe:** UI extension upgrade tests
    91      - **It:** Add elemental-ui dev repo
    92      - **It:** Upgrade Elemental UI extension
    93      - **It:** Check Elemental UI after upgrade
    94  
    95  ## `upgrade.spec.ts`
    96  
    97  - **Describe:** Upgrade tests
    98      - **It:** Delete stable channel for RKE2 upgrade
    99      - **It:** Add dev channel for RKE2 upgrade
   100      - **It:** Check OS Versions
   101      - **It:** Upgrade one node different methods if rke2 or k3s
   102      - **It:** Cannot create two upgrade groups targeting the same cluster
   103      - **It:** Delete OS Versions Channels
   104  
   105  ## `user.spec.ts`
   106  
   107  - **Describe:** User role testing
   108      - **It:** Create standard user
   109      - **It:** Create elemental user
   110      - **It:** Elemental user should access the OS management menu
   111      - **It:** Standard user should not access the OS management menu
   112  
   113  # Tests description for e2e
   114  
   115  ## `airgap_test.go`
   116  
   117  - **Describe:** E2E - Build the airgap archive
   118      - **It:** Execute the script to build the archive
   119  - **Describe:** E2E - Deploy K3S/Rancher in airgap environment
   120      - **It:** Create the rancher-manager machine
   121        -  **By:** Updating the default network configuration
   122        -  **By:** Creating the Rancher Manager VM
   123      - **It:** Install K3S/Rancher in the rancher-manager machine
   124        -  **By:** Sending the archive file into the rancher server
   125        -  **By:** Deploying airgap infrastructure by executing the deploy script
   126        -  **By:** Getting the kubeconfig file of the airgap cluster
   127        -  **By:** Installing kubectl
   128        -  **By:** Installing CertManager
   129        -  **By:** Installing Rancher
   130        -  **By:** Installing Elemental Operator
   131  
   132  ## `app_test.go`
   133  
   134  - **Describe:** E2E - Install a simple application
   135      - **It:** Install HelloWorld application
   136        -  **By:** Installing application
   137  - **Describe:** E2E - Checking a simple application
   138      - **It:** Check HelloWorld application
   139        -  **By:** Scaling the deployment to the number of nodes
   140        -  **By:** Waiting for deployment to be rollout
   141        -  **By:** Checking application
   142  
   143  ## `backup-restore_test.go`
   144  
   145  - **Describe:** E2E - Install Backup/Restore Operator
   146      - **It:** Install Backup/Restore Operator
   147        -  **By:** Configuring Chart repository
   148        -  **By:** Installing rancher-backup-operator
   149        -  **By:** Waiting for rancher-backup-operator pod
   150  - **Describe:** E2E - Test Backup/Restore
   151      - **It:** Do a backup
   152        -  **By:** Adding a backup resource
   153        -  **By:** Checking that the backup has been done
   154      - **It:** Do a restore
   155        -  **By:** Deleting some Elemental resources
   156        -  **By:** Adding a restore resource
   157        -  **By:** Checking that the restore has been done
   158        -  **By:** Checking cluster state after restore
   159  
   160  ## `bootstrap_test.go`
   161  
   162  - **Describe:** E2E - Bootstrapping node
   163      - **It:** Provision the node
   164        -  **By:** Downloading MachineRegistration file
   165        -  **By:** Configuring iPXE boot script for network installation
   166        -  **By:** Installing node +h
   167        -  **By:** Checking SeedImage cloud-config on +h
   168      - **It:** Add the nodes in Rancher Manager
   169        -  **By:** Checking that node +h+ is available in Rancher
   170        -  **By:** Checking cluster state
   171        -  **By:** Incrementing number of nodes in +poolType+ pool
   172        -  **By:** Waiting for known cluster state before adding the nodes
   173        -  **By:** Restarting +h+ to add it in the cluster
   174        -  **By:** Checking +h+ SSH connection
   175        -  **By:** Checking that TPM is correctly configured on +h
   176        -  **By:** Checking OS version on +h
   177        -  **By:** Configuring kubectl command on node +h
   178        -  **By:** Checking kubectl command on +h
   179        -  **By:** Checking cluster agent on +h
   180        -  **By:** Checking cluster state
   181        -  **By:** Checking cluster version on +h
   182        -  **By:** Rebooting +h
   183        -  **By:** Checking cluster agent on +h
   184        -  **By:** Checking cluster state after reboot
   185  
   186  ## `configure_test.go`
   187  
   188  - **Describe:** E2E - Configure test
   189      - **It:** Deploy a new cluster
   190        -  **By:** Creating a cluster
   191        -  **By:** Creating cluster selectors
   192        -  **By:** Adding MachineRegistration
   193      - **It:** Configure Libvirt if needed
   194        -  **By:** Starting default network
   195  
   196  ## `install_test.go`
   197  
   198  - **Describe:** E2E - Install Rancher Manager
   199      - **It:** Install upstream K8s cluster
   200        -  **By:** Installing RKE2
   201        -  **By:** Configuring hardened cluster
   202        -  **By:** Starting RKE2
   203        -  **By:** Waiting for RKE2 to be started
   204        -  **By:** Installing K3s
   205        -  **By:** Configuring hardened cluster
   206        -  **By:** Starting K3s
   207        -  **By:** Waiting for K3s to be started
   208        -  **By:** Configuring Kubeconfig file
   209        -  **By:** Configuring Private CA
   210        -  **By:** Installing CertManager
   211      - **It:** Install Rancher Manager
   212        -  **By:** Configuring kubectl to use Rancher admin user
   213        -  **By:** Workaround for upgrade test, restart Fleet controller and agent
   214      - **It:** Install Elemental Operator if needed
   215        -  **By:** Installing Operator for CLI tests
   216  
   217  ## `logs_test.go`
   218  
   219  - **Describe:** E2E - Getting logs node
   220      - **It:** Get the upstream cluster logs
   221        -  **By:** Downloading and executing tools to generate logs
   222        -  **By:** Collecting additionals logs with kubectl commands
   223        -  **By:** Collecting proxy log and make sure traffic went through it
   224  
   225  ## `multi-cluster_test.go`
   226  
   227  - **Describe:** E2E - Bootstrapping nodes
   228      - **It:** Configure Libvirt
   229        -  **By:** Starting default network
   230      - **It:** Configure and create ISO image
   231        -  **By:** Adding MachineRegistration
   232        -  **By:** Downloading MachineRegistration file
   233        -  **By:** Creating ISO from SeedImage
   234      - **It:** Downloading ISO built by SeedImage
   235      - **It:** Create clusters and deploy nodes
   236        -  **By:** Creating cluster +createdClusterName
   237        -  **By:** Creating cluster selector for cluster +createdClusterName
   238        -  **By:** Installing node +h+ on cluster +createdClusterName
   239        -  **By:** Restarting +h+ to add it in cluster +createdClusterName
   240        -  **By:** Checking +h+ SSH connection
   241        -  **By:** Waiting for cluster +createdClusterName+ to be Active
   242        -  **By:** Waiting for cluster +c+ to be Active
   243  
   244  ## `reset_test.go`
   245  
   246  - **Describe:** E2E - Test the reset feature
   247      - **It:** Reset one node in the cluster
   248        -  **By:** Configuring reset at MachineInventory level
   249        -  **By:** Deleting and removing the node from the cluster
   250        -  **By:** Checking that MachineInventory is deleted
   251        -  **By:** Checking that MachineInventory is back after the reset
   252        -  **By:** Checking cluster state
   253  
   254  ## `seedImage_test.go`
   255  
   256  - **Describe:** E2E - Creating ISO image
   257      - **It:** Configure and create ISO image
   258        -  **By:** Adding SeedImage
   259        -  **By:** Setting emulated TPM to +strconv.FormatBoolemulateTPM
   260      - **It:** Download ISO built by SeedImage
   261  
   262  ## `suite_test.go`
   263  
   264  *No test defined!*
   265  
   266  ## `ui_test.go`
   267  
   268  - **Describe:** E2E - Bootstrap node for UI
   269      - **It:** Configure libvirt and bootstrap a node
   270        -  **By:** Downloading MachineRegistration
   271        -  **By:** Starting default network
   272        -  **By:** Configuring iPXE boot script for network installation
   273        -  **By:** Installing node +h
   274      - **It:** Add the nodes in Rancher Manager
   275        -  **By:** Restarting +h+ to add it in the cluster
   276        -  **By:** Checking +h+ SSH connection
   277        -  **By:** Checking that TPM is correctly configured on +h
   278        -  **By:** Checking OS version on +h
   279  
   280  ## `uninstall-operator_test.go`
   281  
   282  - **Describe:** E2E - Uninstall Elemental Operator
   283      - **It:** Uninstall Elemental Operator
   284        -  **By:** Testing cluster resource availability BEFORE operator uninstallation
   285        -  **By:** Uninstalling Operator via Helm
   286        -  **By:** Testing cluster resource availability AFTER operator uninstallation
   287        -  **By:** Checking that Elemental resources are gone
   288        -  **By:** Checking that Elemental operator CRDs cannot be reinstalled
   289        -  **By:** Deleting cluster resource
   290        -  **By:** Removing finalizers from MachineInventory/Machine
   291        -  **By:** Testing cluster resource unavailability
   292      - **It:** Re-install Elemental Operator
   293        -  **By:** Installing Operator via Helm
   294        -  **By:** Creating a dumb MachineRegistration
   295        -  **By:** Creating cluster
   296        -  **By:** Testing cluster resource availability
   297  
   298  ## `upgrade_test.go`
   299  
   300  - **Describe:** E2E - Upgrading Elemental Operator
   301      - **It:** Upgrade operator
   302  - **Describe:** E2E - Upgrading Rancher Manager
   303      - **It:** Upgrade Rancher Manager
   304  - **Describe:** E2E - Upgrading node
   305      - **It:** Upgrade node
   306        -  **By:** Checking if upgrade type is set
   307        -  **By:** Checking OS version on +h+ before upgrade
   308        -  **By:** Triggering Upgrade in Rancher with +upgradeType
   309        -  **By:** Checking VM upgrade on +h
   310        -  **By:** Checking OS version on +h+ after upgrade
   311        -  **By:** Checking cluster state after upgrade
   312