1 package org.testng;
2 
3 /**
4  * If a test class implements this interface, its run() method
5  * will be invoked instead of each @Test method found.  The invocation of
6  * the test method will then be performed upon invocation of the callBack()
7  * method of the IHookCallBack parameter.
8  *
9  * This is useful to test classes that require JAAS authentication, which can
10  * be implemented as follows:
11  *
12  * <pre>
13  * public void run(final IHookCallBack icb, ITestResult testResult) {
14  *   // Preferably initialized in a @Configuration method
15  *   mySubject = authenticateWithJAAs();
16  *
17  *   Subject.doAs(mySubject, new PrivilegedExceptionAction() {
18  *     public Object run() {
19  *       icb.callback(testResult);
20  *     }
21  *   };
22  * }
23  * </pre>
24  *
25  * @author cbeust
26  * Jan 28, 2006
27  */
28 public interface IHookable extends ITestNGListener {
run(IHookCallBack callBack, ITestResult testResult)29   public void run(IHookCallBack callBack, ITestResult testResult);
30 }
31