public class

BarrierControl

extends BackdoorControl<T extends BackdoorControl<T>>
java.lang.Object
   ↳ com.atlassian.jira.testkit.client.RestApiClient<T extends com.atlassian.jira.testkit.client.RestApiClient<T>>
     ↳ com.atlassian.jira.testkit.client.BackdoorControl<T extends com.atlassian.jira.testkit.client.BackdoorControl<T>>
       ↳ com.atlassian.jira.functest.framework.backdoor.BackdoorControl<T extends com.atlassian.jira.functest.framework.backdoor.BackdoorControl<T>>
         ↳ com.atlassian.jira.functest.framework.backdoor.BarrierControl

Class Overview

Control for manipulating server-side barriers.

Summary

Nested Classes
class BarrierControl.Barrier An instance of the barrier, provided to the BarrierFunction  
interface BarrierControl.BarrierFunction A task to be run while the barrier is raised. 
[Expand]
Inherited Constants
From class com.atlassian.jira.testkit.client.BackdoorControl
From class com.atlassian.jira.testkit.client.RestApiClient
[Expand]
Inherited Fields
From class com.atlassian.jira.testkit.client.BackdoorControl
From class com.atlassian.jira.testkit.client.RestApiClient
Public Constructors
BarrierControl(JIRAEnvironmentData environmentData)
Public Methods
void raiseBarrierAndRun(String barrierName, Runnable r)
Raises the barrier called barrierName and calls the given Runnable before lowering the barrier again.
void raiseBarrierAndRun(String barrierName, BarrierControl.BarrierFunction function)
Raises the barrier called barrierName and calls the given BarrierFunction before lowering the barrier again.
[Expand]
Inherited Methods
From class com.atlassian.jira.functest.framework.backdoor.BackdoorControl
From class com.atlassian.jira.testkit.client.BackdoorControl
From class com.atlassian.jira.testkit.client.RestApiClient
From class java.lang.Object

Public Constructors

public BarrierControl (JIRAEnvironmentData environmentData)

Public Methods

public void raiseBarrierAndRun (String barrierName, Runnable r)

Raises the barrier called barrierName and calls the given Runnable before lowering the barrier again. This is useful to test for race conditions in production code.

Parameters
barrierName a String containing the barrier name
r a Runnable

public void raiseBarrierAndRun (String barrierName, BarrierControl.BarrierFunction function)

Raises the barrier called barrierName and calls the given BarrierFunction before lowering the barrier again. The BarrierFunction is provided with the Barrier for fine-grained control.

Parameters
barrierName a String containing the barrier name
function a BarrierFunction