@Test public void should_match() { HasResolution condition = new HasResolution(Issue.RESOLUTION_FIXED, Issue.RESOLUTION_FALSE_POSITIVE); when(issue.resolution()).thenReturn("FIXED"); assertThat(condition.matches(issue)).isTrue(); when(issue.resolution()).thenReturn("FALSE-POSITIVE"); assertThat(condition.matches(issue)).isTrue(); when(issue.resolution()).thenReturn("Fixed"); assertThat(condition.matches(issue)).isFalse(); } }
.conditions(new NotCondition(IsBeingClosed.INSTANCE), new HasResolution(Issue.RESOLUTION_FIXED), IsNotHotspotNorManualVulnerability.INSTANCE) .functions(new SetResolution(null), UnsetCloseDate.INSTANCE) .automatic() .conditions( new PreviousStatusWas(Issue.STATUS_OPEN), new HasResolution(Issue.RESOLUTION_REMOVED, Issue.RESOLUTION_FIXED), IsNotHotspotNorManualVulnerability.INSTANCE) .functions(RestoreResolutionFunction.INSTANCE, UnsetCloseDate.INSTANCE) .conditions( new PreviousStatusWas(Issue.STATUS_REOPENED), new HasResolution(Issue.RESOLUTION_REMOVED, Issue.RESOLUTION_FIXED), IsNotHotspotNorManualVulnerability.INSTANCE) .functions(RestoreResolutionFunction.INSTANCE, UnsetCloseDate.INSTANCE) .conditions( new PreviousStatusWas(Issue.STATUS_CONFIRMED), new HasResolution(Issue.RESOLUTION_REMOVED, Issue.RESOLUTION_FIXED), IsNotHotspotNorManualVulnerability.INSTANCE) .functions(RestoreResolutionFunction.INSTANCE, UnsetCloseDate.INSTANCE) .conditions( new PreviousStatusWas(Issue.STATUS_RESOLVED), new HasResolution(Issue.RESOLUTION_REMOVED, Issue.RESOLUTION_FIXED), IsNotHotspotNorManualVulnerability.INSTANCE) .functions(RestoreResolutionFunction.INSTANCE, UnsetCloseDate.INSTANCE)
.transition(Transition.builder(DefaultTransitions.DETECT) .from(Issue.STATUS_RESOLVED).to(Issue.STATUS_OPEN) .conditions(new HasType(RuleType.SECURITY_HOTSPOT), new HasResolution(Issue.RESOLUTION_WONT_FIX)) .functions(new SetType(RuleType.VULNERABILITY), new SetResolution(null)) .requiredProjectPermission(UserRole.SECURITYHOTSPOT_ADMIN) .transition(Transition.builder(DefaultTransitions.REJECT) .from(Issue.STATUS_RESOLVED).to(Issue.STATUS_REOPENED) .conditions(new HasType(RuleType.SECURITY_HOTSPOT), new HasResolution(Issue.RESOLUTION_FIXED)) .functions(new SetType(RuleType.VULNERABILITY), new SetResolution(null)) .requiredProjectPermission(UserRole.SECURITYHOTSPOT_ADMIN) .transition(Transition.builder(DefaultTransitions.ACCEPT) .from(Issue.STATUS_RESOLVED).to(Issue.STATUS_RESOLVED) .conditions(new HasType(RuleType.SECURITY_HOTSPOT), new HasResolution(Issue.RESOLUTION_FIXED)) .functions(new SetResolution(Issue.RESOLUTION_WONT_FIX)) .requiredProjectPermission(UserRole.SECURITYHOTSPOT_ADMIN) .transition(Transition.builder(DefaultTransitions.REOPEN_HOTSPOT) .from(Issue.STATUS_RESOLVED).to(Issue.STATUS_REOPENED) .conditions(new HasType(RuleType.SECURITY_HOTSPOT), new HasResolution(Issue.RESOLUTION_WONT_FIX)) .functions(new SetResolution(null)) .requiredProjectPermission(UserRole.SECURITYHOTSPOT_ADMIN)