1616 * SPDX-License-Identifier: Apache-2.0
1717 ***********************************************************************/
1818
19+ import * as fs from 'node:fs' ;
20+ import * as os from 'node:os' ;
1921import * as path from 'node:path' ;
2022import { fileURLToPath } from 'node:url' ;
2123
@@ -29,6 +31,7 @@ import {
2931 handleConfirmationDialog ,
3032 isCI ,
3133 isLinux ,
34+ isMac ,
3235 isWindows ,
3336 NavigationBar ,
3437 performBrowserLogin ,
@@ -43,6 +46,7 @@ import {
4346 waitUntil ,
4447} from '@podman-desktop/tests-playwright' ;
4548
49+
4650const extensionName = 'rhel-vms' ;
4751const extensionLabel = 'redhat.rhel-vms' ;
4852const extensionHeading = 'RHEL VMs' ;
@@ -59,6 +63,12 @@ let signInButton: Locator;
5963const urlRegex = new RegExp ( / ( ( h t t p | h t t p s ) : \/ \/ .* $ ) / ) ;
6064const chromePort = '9222' ;
6165
66+ const homeDir = os . homedir ( ) ;
67+ const foldersToDelete = [
68+ path . join ( homeDir , '.config' , 'container' , 'macadam' ) ,
69+ path . join ( homeDir , '.local' , 'share' , 'containers' , 'macadam' ) ,
70+ ] ;
71+
6272test . use ( {
6373 runnerOptions : new RunnerOptions ( {
6474 customFolder : 'rhel-e2e-tests' ,
@@ -72,6 +82,13 @@ test.beforeAll(async ({ runner, welcomePage, page }) => {
7282 runner . setVideoAndTraceName ( 'rhel-extension-e2e' ) ;
7383 await welcomePage . handleWelcomePage ( true ) ;
7484 await waitForPodmanMachineStartup ( page ) ;
85+
86+ if ( isCI && isMac ) {
87+ for ( const folder of foldersToDelete ) {
88+ console . log ( `Attempting to delete directory: ${ folder } ` ) ;
89+ fs . rmSync ( folder , { recursive : true , force : true } ) ;
90+ }
91+ }
7592} ) ;
7693
7794test . afterAll ( async ( { runner } ) => {
@@ -244,18 +261,25 @@ test.describe.serial('RHEL Extension E2E Tests', () => {
244261
245262 test ( 'Create RHEL VM' , async ( { page } ) => {
246263 test . setTimeout ( 1_510_000 ) ;
264+
265+ let initialExpectedMachineState = ResourceElementState . Off ;
266+ if ( isCI && isMac ) {
267+ initialExpectedMachineState = ResourceElementState . Running ;
268+ }
247269 await createRhelVM ( page , 1_500_000 ) ;
248270
249271 const resourcesPage = new ResourcesPage ( page ) ;
250272 await playExpect ( resourcesPage . heading ) . toBeVisible ( { timeout : 10_000 } ) ;
251273
252274 const machineCard = new ResourceConnectionCardPage ( page , 'rhel-vms' , 'rhel' ) ;
253275 await playExpect . poll ( async ( ) => machineCard . doesResourceElementExist ( ) , { timeout : 30_000 } ) . toBeTruthy ( ) ;
254- playExpect ( await machineCard . resourceElementConnectionStatus . innerText ( ) ) . toContain ( ResourceElementState . Off ) ;
276+ playExpect ( await machineCard . resourceElementConnectionStatus . innerText ( ) ) . toContain ( initialExpectedMachineState ) ;
255277 } ) ;
256278
257279 test ( 'Start RHEL VM' , async ( { page } ) => {
280+ test . skip ( isCI && isMac , 'RHEL VM is already started on MacOS CI' ) ;
258281 test . setTimeout ( 70_000 ) ;
282+
259283 const machineCard = new ResourceConnectionCardPage ( page , 'rhel-vms' , 'rhel' ) ;
260284 await machineCard . performConnectionAction ( ResourceElementActions . Start ) ;
261285
0 commit comments