blob: 6f48258728f387a12d11ce30e7ba683f8a5578ad [file] [log] [blame]
package test.methodinterceptors.multipleinterceptors;
import org.testng.IMethodInstance;
import org.testng.IMethodInterceptor;
import org.testng.ITestContext;
import org.testng.ITestNGMethod;
import java.util.ArrayList;
import java.util.List;
public abstract class MethodNameFilterInterceptor implements IMethodInterceptor {
private final String methodName;
protected MethodNameFilterInterceptor(String methodName) {
this.methodName = methodName;
}
@Override
public List<IMethodInstance> intercept(List<IMethodInstance> methods, ITestContext context) {
List<IMethodInstance> result = new ArrayList<>();
for (IMethodInstance methodInstance : methods) {
ITestNGMethod method = methodInstance.getMethod();
String name = method.getMethodName();
if (!name.equals(methodName)) {
result.add(methodInstance);
String currentDescription = method.getDescription();
if (currentDescription == null) {
method.setDescription(methodName);
} else {
method.setDescription(currentDescription + methodName);
}
}
}
return result;
}
}