Skip to content

Issue keeper is a tracking tool which makes the tests skipped in advance when they are blocked by the open issues.

License

Notifications You must be signed in to change notification settings

ibek/issue-keeper

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

50 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Issue Keeper

Maven Central

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:

<dependency>
    <groupId>link.bek.tools</groupId>
    <artifactId>issue-keeper-junit</artifactId>
    <version>4.13.2</version> <!-- corresponds to junit version 4.13.2 and Issue Keeper 2.7.0 -->
    <!--<version>4.12.6</version> corresponds to junit version 4.12 and Issue Keeper 2.7.0 -->
    <!--<version>4.11.2</version> corresponds to junit version 4.11 -->
</dependency>

Add the following rule into your test class or the super test base, :

@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.

@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,RESOLVED

ikeeperEnvironment.properties

  • Set the running environment properties for comparison with the issue constraints
  • Example:
os=RHEL6
jdk=OpenJDK7
db=PostgreSQL9.2
  • Alternatively in the code:
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:
1107757-description=Test description of the issue 1107757.
1107757-os=RHEL6,Win2012
1107757-jdk=OpenJDK7
  • Support for regular expressions using tilde:
JBPM-3558-db~=Postgre.*

About

Issue keeper is a tracking tool which makes the tests skipped in advance when they are blocked by the open issues.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages