Skip to content

Commit

Permalink
feat: new test for sprigbnnbotot + parametrised
Browse files Browse the repository at this point in the history
  • Loading branch information
pospisilf committed Oct 7, 2024
1 parent e54962a commit 8da1575
Showing 1 changed file with 37 additions and 20 deletions.
57 changes: 37 additions & 20 deletions src/ui-test/tests/remote.debug.on.openshift.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,14 +15,14 @@
* limitations under the License.
*/
import * as path from 'path';
import { ActivityBar, Breakpoint, DebugView, DefaultWait, EditorView, InputBox, SideBarView, TextEditor, VSBrowser, WebDriver } from "vscode-uitests-tooling";
import { ActivityBar, BottomBarPanel, Breakpoint, DebugView, DefaultWait, EditorView, InputBox, SideBarView, TextEditor, VSBrowser, WebDriver } from "vscode-uitests-tooling";
import { assert } from 'chai';
import { addNewItemToRawJson, clearTerminal, deleteFolderContents, disconnectDebugger, executeCommand, killTerminal, waitUntilEditorIsOpened, waitUntilTerminalHasText } from '../utils';
import { DEMO_FILE, QUARKUS_ATTACH_DEBUGGER, QUARKUS_CREATE_COMMAND, QUARKUS_DIR, QUARKUS_PROJECT_FOLDER, SPRINGBOOT_ATTACH_DEBUGGER, SPRINGBOOT_CREATE_COMMAND, SPRINGBOOT_DIR, SPRINGBOOT_PROJECT_FOLDER } from '../variables';


describe.only('Remote debug on OpenShift', function () {
this.timeout(600000);
this.timeout(1200000);

let driver: WebDriver;
let textEditor: TextEditor;
Expand All @@ -41,39 +41,46 @@ describe.only('Remote debug on OpenShift', function () {
await DefaultWait.sleep(10000);
driver = VSBrowser.instance.driver;

VSBrowser.instance.takeScreenshot('spring0');
//VSBrowser.instance.takeScreenshot('spring0');
await createCamelRoute(driver, "Demo");
VSBrowser.instance.takeScreenshot('spring1');
//VSBrowser.instance.takeScreenshot('spring1');
await createProject(driver, SPRINGBOOT_CREATE_COMMAND)
VSBrowser.instance.takeScreenshot('spring2');
//VSBrowser.instance.takeScreenshot('spring2');

// open file
await VSBrowser.instance.openResources(path.join(SPRINGBOOT_PROJECT_FOLDER, DEMO_FILE));
VSBrowser.instance.takeScreenshot('spring3');
//VSBrowser.instance.takeScreenshot('spring3');

// set breakpoint
textEditor = new TextEditor();
await driver.wait(async function () {
return await textEditor.toggleBreakpoint(15);
}, 5000);
VSBrowser.instance.takeScreenshot('spring4');
//VSBrowser.instance.takeScreenshot('spring4');


// open debug view
const debugView = await openDebugView();
VSBrowser.instance.takeScreenshot('spring5');
//VSBrowser.instance.takeScreenshot('spring5');


// validate configuration and start debug
assert.isTrue(await validateLaunchConfiguration(debugView, SPRINGBOOT_ATTACH_DEBUGGER));
VSBrowser.instance.takeScreenshot('spring6');
//VSBrowser.instance.takeScreenshot('spring6');
await startDebugSession(debugView,SPRINGBOOT_ATTACH_DEBUGGER);
VSBrowser.instance.takeScreenshot('spring7');
//VSBrowser.instance.takeScreenshot('spring7');

//await DefaultWait.sleep(30000);

const terminalView = await new BottomBarPanel().openTerminalView();
console.log("SB1 " + await terminalView.getText());


// check breakpoint is hitted
const breakpoint = await waitForBreakpointPause(driver, textEditor);
VSBrowser.instance.takeScreenshot('spring8');

//VSBrowser.instance.takeScreenshot('spring8');

assert.isTrue(await breakpoint.isPaused());
});
});
Expand All @@ -91,32 +98,37 @@ describe.only('Remote debug on OpenShift', function () {
it(`Quarkus`, async function () {
await DefaultWait.sleep(10000);
driver = VSBrowser.instance.driver;
VSBrowser.instance.takeScreenshot('quarkus0');
//VSBrowser.instance.takeScreenshot('quarkus0');
await createCamelRoute(driver, "Demo");
VSBrowser.instance.takeScreenshot('quarkus1');
//VSBrowser.instance.takeScreenshot('quarkus1');
await createProject(driver, QUARKUS_CREATE_COMMAND);
VSBrowser.instance.takeScreenshot('quarkus2');
//VSBrowser.instance.takeScreenshot('quarkus2');

// open file
await VSBrowser.instance.openResources(path.join(QUARKUS_PROJECT_FOLDER, DEMO_FILE));
VSBrowser.instance.takeScreenshot('quarkus3');
//VSBrowser.instance.takeScreenshot('quarkus3');

// set breakpoint
textEditor = new TextEditor();
await driver.wait(async function () {
return await textEditor.toggleBreakpoint(12);
}, 5000);

VSBrowser.instance.takeScreenshot('quarkus4');
//VSBrowser.instance.takeScreenshot('quarkus4');
// open debug view
const debugView = await openDebugView();
VSBrowser.instance.takeScreenshot('quarkus5');
//VSBrowser.instance.takeScreenshot('quarkus5');

// validate configuration and start debug
assert.isTrue(await validateLaunchConfiguration(debugView, QUARKUS_ATTACH_DEBUGGER));
VSBrowser.instance.takeScreenshot('quarkus6');
//VSBrowser.instance.takeScreenshot('quarkus6');
await startDebugSession(debugView,QUARKUS_ATTACH_DEBUGGER);
VSBrowser.instance.takeScreenshot('quarkus7');
//VSBrowser.instance.takeScreenshot('quarkus7');

//await DefaultWait.sleep(30000);

const terminalView = await new BottomBarPanel().openTerminalView();
console.log("QR1 " + await terminalView.getText());

// check breakpoint is hitted
const breakpoint = await waitForBreakpointPause(driver, textEditor);
Expand Down Expand Up @@ -254,7 +266,12 @@ async function startDebugSession(debugView: DebugView, configName: string): Prom
* @param interval The intervalto check for the breakpoint pause. Default is 500ms.
* @returns
*/
async function waitForBreakpointPause(driver: WebDriver, textEditor: TextEditor, timeout: number = 30000, interval: number = 500): Promise<Breakpoint> {
async function waitForBreakpointPause(driver: WebDriver, textEditor: TextEditor, timeout: number = 300000, interval: number = 500): Promise<Breakpoint> {

const terminalView = await new BottomBarPanel().openTerminalView();
console.log("WFB " + await terminalView.getText());


const breakpoint = await driver.wait<Breakpoint>(async () => {
return await textEditor.getPausedBreakpoint();
}, timeout, undefined, interval) as Breakpoint;
Expand Down

0 comments on commit 8da1575

Please sign in to comment.