Project

General

Profile

Actions

action #130003

closed

coordination #121855: [epic] Agama web interactive installation

Add test for Full-disk encryption installation

Added by JERiveraMoya 11 months ago. Updated 9 months ago.

Status:
Resolved
Priority:
High
Assignee:
Target version:
Start date:
2023-05-29
Due date:
% Done:

0%

Estimated time:

Description

Motivation

Use Playwright and Page Object Model create a Typescript test that does Full-disk encryption with Agama.

Test should go to Storage, enable encryption, type password, confirm password (we don't need to check in the screen that the UI reflect the encryption for now, because the UI is changing too much at the moment and we are interested in the installed system to verify, but we will do in due time).
Add user and install.

Scope

Installations of ALP Micro, ALP Bedrock and Tumbleweed using Agama for all architectures available in openQA (s390x and ppc64le excluded for now).

Acceptance criteria

AC1: Get familiar with Playwright and use the playwright test generator to get first version of your code.
AC2: Locate only the auto-generated code related with disk-encyprytion and convert it to Page Object Model.
AC3: Add new test to our QE repo e2e-agama-playwright using that POM.
AC4: Add new test under folder tests/yam/validation/ that perform a simple validation of a full-encrypted disk.

Additional information

Playwright documentation: https://playwright.dev/docs/intro
Playwright documentation - Page Object Model: https://playwright.dev/docs/pom
How to use playwright with Agama: https://github.com/openSUSE/agama/blob/master/playwright/README.md
Notice that for development in your system, you will need to install playwright and run npx playwright test, due to in the live iso the command to run is different as described in doc above, playwright test.

Don't worry about anything else than enabling encrpytion from Storage page and the small popup that allow us to encrypt, so you can narrow the scope of this ticket to one POM which only contains the enable button and another POM that only contains the popup with the two passwords.
LVM implementation or mapping of the UI element will be done in a different ticket.
The rest of the implementation, the main page, how to navigate from main page to storage page, etc, will be provided in a different PR, so it will be acceptable that only the part for encryption is modelated with POM and not the rest, the part related with the user creation will be also done without POM, just pick what you need using Playwright test generator, we will refactor it later.

IMPORTANT: While #130000 is not yet resolve, please add a call to yupdate in your test so live-cd can pick the new test/code you implement from a branch


Files

Encryption_settings.png (36.6 KB) Encryption_settings.png JERiveraMoya, 2023-05-30 08:24
encrypt_fs.spec.ts (1.24 KB) encrypt_fs.spec.ts Simple test for setting encryptiion password rainerkoenig, 2023-06-01 13:52
Actions #1

Updated by rainerkoenig 11 months ago

  • Status changed from Workable to In Progress
  • Assignee set to rainerkoenig
Actions #3

Updated by JERiveraMoya 11 months ago

  • Description updated (diff)
Actions #4

Updated by JERiveraMoya 11 months ago

  • Description updated (diff)
Actions #5

Updated by JERiveraMoya 11 months ago

  • Copied to action #130045: Create POM to define user and root authentication added
Actions #6

Updated by JERiveraMoya 11 months ago

  • Copied to deleted (action #130045: Create POM to define user and root authentication)
Actions #7

Updated by JERiveraMoya 11 months ago

  • Description updated (diff)
Actions #8

Updated by rainerkoenig 11 months ago

Status update

To get familiar with Playwright I used the root_password.spec.ts to modify it for setting the encryption password. Not yet POM, but at least it works as expected. So next actions will be getting familiar with the test generator in Playwright and then finding ways to debug that. So far using --debug in the command line issues an error that Playwright can't find the chromium browser.

Actions #9

Updated by JERiveraMoya 11 months ago

rainerkoenig wrote:

Status update

To get familiar with Playwright I used the root_password.spec.ts to modify it for setting the encryption password. Not yet POM, but at least it works as expected. So next actions will be getting familiar with the test generator in Playwright and then finding ways to debug that. So far using --debug in the command line issues an error that Playwright can't find the chromium browser.

in your system when you install playwright you need to install the browsers.

Actions #10

Updated by rainerkoenig 11 months ago

Status update

  • Transformed the test into POM
  • Local test verification run from VS Code on a KVM machine worked as expected

Next steps: Discuss AC3 and AC4 with Joaquin for clarification.

Actions #11

Updated by JERiveraMoya 10 months ago

now we can integrate here #130000

Actions #14

Updated by JERiveraMoya 9 months ago

  • Status changed from In Progress to Resolved
Actions

Also available in: Atom PDF