This project is for creating automated tests for verifying the functionality of MTA IDE plugin. This is an extension of windup_integration_test extensively created for coverage of IDEs. Currently below IDEs have been covered:
IDE | Version |
---|---|
Eclipse IDE for J2EE developers | 2023-03 |
VS Code | 1.54.1 |
Eclipse CHE | theia |
IntelliJ IDEA | 2022.3.1 |
Supported OS
Works on Linux/RHEL/Fedora with X11 windowing system enabled (does not work with Wayland scheme)
To get started with project in development mode or basic usage, follow the below steps:
Pre-requisites
- Python 3+ installed
- JDK 11 installed, if there are multiple JDK version installed on the system, make sure JDK 11 is set as the default
- Respective IDE (to be tested) installed on local machine
- MTA IDE plugin installed in that IDE
- The project to be analysed is imported in IDE
- this project can be used Windup rulesets
Installation
-
Clone the forked repository and move to repo home
git clone https://github.com/<user>/windup-ide-tests.git cd windup-ide-tests
-
Create python3 virtual env
python3 -m venv .ide_env
-
Activate virtual env
source .ide_env/bin/activate
-
Install from setup
pip install .
-
Edit the ide_config.json file and provide full paths to the windup CLI, and to the windup-rulesets project
cd ~/windup_ide_tests/src/conf
-
For each IDE, there exists a relevant config file under src/config/_config.json. Make sure to update the fields as required
- ide_path: The path to the IDE executable
- plugin_cache_path: The path to the cache folder should be under
~/.windup/tooling/<ide>/
Contributing to the project
- Fork the repository
- Clone the forked repo
git clone https://github.com/<user>/windup-ide-tests.git
- Run the aforementioned installation steps
- Create new branch
git checkout -b <new_branch_name>
- Run pre-commit check
pre-commit run -a
- Commit the changes
git commit -m 'Explanatory commit message'
- Push your changes to branch
git push origin <new_branch_name>
- Open new pull request
Distributed under Eclipse Public License. See LICENSE for more information.