Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ibek/issue-keeper
Issue keeper is a tracking tool which makes the tests skipped in advance when they are blocked by the open issues.
https://github.com/ibek/issue-keeper
Last synced: 12 days ago
JSON representation
Issue keeper is a tracking tool which makes the tests skipped in advance when they are blocked by the open issues.
- Host: GitHub
- URL: https://github.com/ibek/issue-keeper
- Owner: ibek
- License: apache-2.0
- Created: 2015-05-05T08:07:29.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2023-12-05T22:09:10.000Z (11 months ago)
- Last Synced: 2024-08-01T22:53:36.847Z (3 months ago)
- Language: Java
- Size: 91.8 KB
- Stars: 6
- Watchers: 2
- Forks: 9
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Issue Keeper
[![Maven Central](https://maven-badges.herokuapp.com/maven-central/link.bek.tools/issue-keeper-junit/badge.svg)](https://maven-badges.herokuapp.com/maven-central/link.bek.tools/issue-keeper-junit)Issue keeper is a tracking tool which makes the tests skipped in advance when they are blocked by the open issues.
- Tracking systems - **Bugzilla, JIRA**
- Custom **issue constraints** depending on the environment and current test suite (operating system, database, jdk, remote API, etc.)
- Versioning - tests on **older versions** will be always skipped (though the issue is fixed in the new versions)
- Multiple issues discoverred in one test
- Skipping whole test classes
- Design and runtime configurations
- Integration with test frameworks - **JUnit**
- Offline mode (cache for 24 hours - customizable)
- Configurable issue tracking system states in projects (according to the unique workflows)### Configuration
Add the following Maven dependency into your pom.xml:
```javalink.bek.tools
issue-keeper-junit
4.13.2
```
Add the following rule into your test class or the super test base, :
```java
@Rule
public IKeeperJUnitConnector issueKeeper = new IKeeperJUnitConnector(new BugzillaClient("https://bugzilla.redhat.com"));
```You are free to change the url of your tracking system.
### Usage
Just add @BZ or @JIRA annotation on top of a test method or class.
```java
@BZ("1155593")
@Test
public void runVerifiedIssueTest() {@BZ({"1155593", "1203640"})
@Test
public void runMultipleVerifiedIssuesTest() {
```### Optional Configuration
ikeeperConfiguration.properties:
1. Change of action
* Skip - reported issue causes skipping the test
* Fail - reported issue causes fail of the test
* DoNothing - all the tests run, no matter the issues
* Custom - you are free to decide whether to proceed testing or not
* Example: action=org.jboss.qa.ikeeper.action.Fail
2. Set current testing version
- testVersion=6.0.2
3. Set versions order
- versions=6.0.1,6.0.2,6.0.3,6.1.0
4. Disable Issue Keeper
- ikeeper.run=false
- can be also configured as a system property -Dikeeper.run=false
5. Configure action states
- JIRA@DEFAULT=NEW,OPEN,ASSIGNED,CODING IN PROGRESS,PULL REQUEST SENT,REOPENED
- BZ@DEFAULT=NEW,ASSIGNED,POST,MODIFIED
- JIRA@RHBPMS=NEW,OPEN,ASSIGNED,CODING IN PROGRESS,PULL REQUEST SENT,REOPENED,RESOLVEDikeeperEnvironment.properties
- Set the running environment properties for comparison with the issue constraints
- Example:
```sh
os=RHEL6
jdk=OpenJDK7
db=PostgreSQL9.2
```
- Alternatively in the code:
```java
issueKeeper.setEnvironmentProperties(envProps);
issueKeeper.setEnvironmentProperty("remoteAPI", controller.toString());
```ikeeperConstraints.properties
- Set the constraints for the reported issues (e.g. the specific issue does not run on PostgreSQL9.2 but it does elsewhere)
- Example:
```sh
1107757-description=Test description of the issue 1107757.
1107757-os=RHEL6,Win2012
1107757-jdk=OpenJDK7
```
- Support for regular expressions using tilde:
```sh
JBPM-3558-db~=Postgre.*
```