Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create automated E2E system tests of IntelliJ IDEA as a Che editor #18035

Closed
dmytro-ndp opened this issue Oct 2, 2020 · 15 comments
Closed

Create automated E2E system tests of IntelliJ IDEA as a Che editor #18035

dmytro-ndp opened this issue Oct 2, 2020 · 15 comments
Assignees
Labels
area/qe kind/task Internal things, technical debt, and to-do tasks to be performed. severity/P1 Has a major impact to usage or development of the system.
Milestone

Comments

@dmytro-ndp
Copy link
Contributor

dmytro-ndp commented Oct 2, 2020

Is your task related to a problem? Please describe.

Eclipse Che 7.20.0 planned to support IntelliJ IDEA as a Che editor #17790

So, we need to automate verification of workspaces with IntelliJ IDEA as embedded editor.

@dmytro-ndp dmytro-ndp added kind/task Internal things, technical debt, and to-do tasks to be performed. area/qe labels Oct 2, 2020
@che-bot che-bot added the status/need-triage An issue that needs to be prioritized by the curator responsible for the triage. See https://github. label Oct 2, 2020
@l0rd
Copy link
Contributor

l0rd commented Oct 2, 2020

Testing intelliJ running in the browser may be tricky. Checking that the workspace is started successfully should be enough.

@azatsarynnyy
Copy link
Member

Testing intelliJ running in the browser may be tricky. Checking that the workspace is started successfully should be enough.

+1 as noVNC web client is used here. It draws the UI within HTML Canvas. So, there're no DOM elements to check.

@dmytro-ndp dmytro-ndp changed the title Create automated E2E UI tests of IntelliJ IDEA as a Che editor Create automated E2E system tests of IntelliJ IDEA as a Che editor Oct 5, 2020
@sleshchenko sleshchenko added severity/P2 Has a minor but important impact to the usage or development of the system. and removed status/need-triage An issue that needs to be prioritized by the curator responsible for the triage. See https://github. labels Oct 5, 2020
@rhopp
Copy link
Contributor

rhopp commented Oct 5, 2020

From meeting with @l0rd
Mandatory check (to automate):

  • Workspace startup & health.

Good to check (automate if possible):

  • Activity checker (when active, pings are sent, when inactive, pings are not sent)
    • Idling (connected to activity checker)
  • Configuration persistence.
  • Source code (defined in devfile) is mounted & imported in IDE (InteliJ Idea)

This could/should be done mostly by monitoring server logs and InteliJ Idea logs/standard output.

DoD:

  • Job starting Workspace with InteliJ Idea as an editor is created. The job checks workspace status & health after the startup.
  • Investigation of possible solutions for "Good to Check" steps is done (and implemented, if possible. Or followup issues are created)

@rhopp rhopp added severity/P1 Has a major impact to usage or development of the system. and removed severity/P2 Has a minor but important impact to the usage or development of the system. labels Oct 5, 2020
@rhopp rhopp added this to the 7.21 milestone Oct 5, 2020
@vzhukovs
Copy link
Contributor

vzhukovs commented Oct 6, 2020

Activity checker (when active, pings are sent, when inactive, pings are not sent)

Note, at this moment there's a simple implementation of activity tracker, that always pings ws master, no matter if browser window in focus or not.

@rhopp
Copy link
Contributor

rhopp commented Oct 8, 2020

@l0rd Question about the configuration persistance.
This is meant in the scope of single workspace (config is persisted between restarts)?
Not in the "user" scope (the settings are the same for all Idea-based workspaces of particular user), right?

@l0rd
Copy link
Contributor

l0rd commented Oct 8, 2020

@l0rd Question about the configuration persistance.
This is meant in the scope of single workspace (config is persisted between restarts)?
Not in the "user" scope (the settings are the same for all Idea-based workspaces of particular user), right?

@rhopp correct, workspace scope, at least as a first iteration.

@Ohrimenko1988
Copy link
Contributor

@rhopp @l0rd Looks like persistence doesn't work.
When workspace stopped by dashboard related pod also removed
and if start the same workspace again it will be launched without any previous changes.

@l0rd
Copy link
Contributor

l0rd commented Oct 8, 2020

@rhopp @l0rd Looks like persistence doesn't work.
When workspace stopped by dashboard related pod also removed
and if start the same workspace again it will be launched without any previous changes.

cc @vzhukovskii

@vzhukovs
Copy link
Contributor

vzhukovs commented Oct 8, 2020

@Ohrimenko1988 @rhopp how are you trying to change the preferences, through the Intellij UI?

@Ohrimenko1988
Copy link
Contributor

@vzhukovskii I haven't tried to change preferences.
I created a new project and after that stopped workspace.
After restart the previous project was absent and legal agreement was shown.
After that, I tried to investigate a reason and found that pod deletes already after the workspace stop.

@l0rd
Copy link
Contributor

l0rd commented Oct 8, 2020

@Ohrimenko1988 pod delete is normal, sources are persisted in a volume.

@Ohrimenko1988
Copy link
Contributor

@l0rd
Yes, thanks to @vzhukovskii explanation I can confirm that project restores if save it to the /projects directory.
But additional issue that the "~/IdeaProjects" folder configured by default.
So maybe it worth to mount such folder into the volume if it is impossible to reconfigure Intelij default project folder.

@vzhukovs
Copy link
Contributor

vzhukovs commented Oct 8, 2020

@Ohrimenko1988 Iegal agreement will be shown, there's a plan to hide it in future.

As for preferences:
prefs

As for project restoring:
projects

Note, that projects has to be created in /projects directory, then they will be persisted. To be sure, that Intellij Idea persisted information about opened projects I can suggest to call File > Save All. Maybe some actions are performed to fast.

@vzhukovs
Copy link
Contributor

vzhukovs commented Oct 8, 2020

So maybe it worth to mount such folder into the volume if it is impossible to reconfigure Intelij default project folder.

We're limited in volume mount amount per container. We can mount only one volume, which is reserved for storing Intellij Idea preferences and caches.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/qe kind/task Internal things, technical debt, and to-do tasks to be performed. severity/P1 Has a major impact to usage or development of the system.
Projects
None yet
Development

No branches or pull requests

8 participants