Skip to content

Commit 967378e

Browse files
authored
e2e: fix workspace path for workbench tests (#9690)
### Summary This PR fixes the issue where the application instance for workbench tests did not have the correct workspace set. ### QA Notes n/a
1 parent 11db3bd commit 967378e

File tree

1 file changed

+18
-14
lines changed

1 file changed

+18
-14
lines changed

test/e2e/fixtures/test-setup/app-workbench.fixtures.ts

Lines changed: 18 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,10 @@ export function WorkbenchAppFixture() {
2121
return async (fixtureOptions: AppFixtureOptions, use: (arg0: Application) => Promise<void>) => {
2222
const { options, logsPath, logger, workerInfo } = fixtureOptions;
2323

24-
const app = createApp(options);
24+
const { workspacePath } = await setupWorkbenchEnvironment();
25+
const app = createApp({ ...options, workspacePath });
2526

2627
try {
27-
// Setup Docker environment and copy configuration
28-
await setupWorkbenchEnvironment();
2928
await app.connectToExternalServer();
3029

3130
// Workbench: Login to Posit Workbench
@@ -61,25 +60,30 @@ export function WorkbenchAppFixture() {
6160
/**
6261
* Setup the complete Workbench environment: Docker container, configuration, and permissions
6362
*/
64-
async function setupWorkbenchEnvironment(): Promise<void> {
63+
async function setupWorkbenchEnvironment(): Promise<{ workspacePath: string; userDataDir: string }> {
64+
const TEST_DATA_PATH = join(os.tmpdir(), 'vscsmoke');
65+
const DEFAULT_WORKSPACE_PATH = join(TEST_DATA_PATH, 'qa-example-content');
66+
const WORKBENCH_WORKSPACE_PATH = '/home/user1/qa-example-content/'
67+
const WORKBENCH_USER_DATA_DIR = '/home/user1/.positron-server/User/';
68+
6569
// Create workspace and settings directories
66-
await runDockerCommand('docker exec test mkdir -p /home/user1/qa-example-content/', 'Create workspace directory');
67-
await runDockerCommand('docker exec test mkdir -p /home/user1/.positron-server/User/', 'Create settings directory');
70+
await runDockerCommand(`docker exec test mkdir -p ${WORKBENCH_WORKSPACE_PATH}`, 'Create workspace directory');
71+
await runDockerCommand(`docker exec test mkdir -p ${WORKBENCH_USER_DATA_DIR}`, 'Create user settings directory');
6872

69-
// Copy workspace to container
70-
const TEST_DATA_PATH = join(os.tmpdir(), 'vscsmoke');
71-
const WORKSPACE_PATH = join(TEST_DATA_PATH, 'qa-example-content');
72-
await runDockerCommand(`docker cp ${WORKSPACE_PATH}/. test:/home/user1/qa-example-content/`, 'Copy workspace to container');
73+
// Copy qa-example-content workspace to container
74+
await runDockerCommand(`docker cp ${DEFAULT_WORKSPACE_PATH}/. test:${WORKBENCH_WORKSPACE_PATH}`, 'Copy workspace to container');
7375

7476
// Copy settings to container
7577
await copyUserSettingsToContainer();
7678
await copyKeyBindingsToContainer();
7779

7880
// Fix permissions
79-
await runDockerCommand('docker exec test chown -R user1:user1g /home/user1/.positron-server/', 'Set ownership of settings directory');
80-
await runDockerCommand('docker exec test chown -R user1 /home/user1/qa-example-content/', 'Set ownership of workspace directory');
81-
await runDockerCommand('docker exec test chmod -R 755 /home/user1/.positron-server/User/', 'Set permissions of settings directory');
82-
await runDockerCommand('docker exec test chmod -R 755 /home/user1/qa-example-content/', 'Set permissions of workspace directory');
81+
await runDockerCommand(`docker exec test chown -R user1:user1g ${WORKBENCH_USER_DATA_DIR}`, 'Set ownership of settings directory');
82+
await runDockerCommand(`docker exec test chown -R user1 ${WORKBENCH_WORKSPACE_PATH}`, 'Set ownership of workspace directory');
83+
await runDockerCommand(`docker exec test chmod -R 755 ${WORKBENCH_USER_DATA_DIR}`, 'Set permissions of settings directory');
84+
await runDockerCommand(`docker exec test chmod -R 755 ${WORKBENCH_WORKSPACE_PATH}`, 'Set permissions of workspace directory');
85+
86+
return { workspacePath: WORKBENCH_WORKSPACE_PATH, userDataDir: WORKBENCH_USER_DATA_DIR };
8387
}
8488

8589
/**

0 commit comments

Comments
 (0)