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