Skip to content

Commit 9aa3be0

Browse files
Denysssbaev
authored andcommitted
add support for this keyword to step templates (fixes allure-framework#385, via allure-framework#377)
1 parent 0b69ec6 commit 9aa3be0

File tree

3 files changed

+25
-2
lines changed

3 files changed

+25
-2
lines changed

allure-java-commons/src/main/java/io/qameta/allure/aspects/AttachmentsAspects.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ public void attachment(final JoinPoint joinPoint, final Object result) {
7979

8080
final String name = attachment.value().isEmpty()
8181
? methodSignature.getName()
82-
: processNameTemplate(attachment.value(), getParametersMap(methodSignature, joinPoint.getArgs()));
82+
: processNameTemplate(attachment.value(), getParametersMap(joinPoint));
8383
getLifecycle().addAttachment(name, attachment.type(), attachment.fileExtension(), bytes);
8484
}
8585

allure-java-commons/src/main/java/io/qameta/allure/aspects/StepsAspects.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ public void stepStart(final JoinPoint joinPoint) {
6868
final Step step = methodSignature.getMethod().getAnnotation(Step.class);
6969

7070
final String uuid = UUID.randomUUID().toString();
71-
final String name = getName(step.value(), methodSignature, joinPoint.getArgs());
71+
final String name = getName(step.value(), joinPoint);
7272
final List<Parameter> parameters = getParameters(methodSignature, joinPoint.getArgs());
7373

7474
final StepResult result = new StepResult()

allure-java-commons/src/main/java/io/qameta/allure/util/AspectUtils.java

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
package io.qameta.allure.util;
1717

1818
import io.qameta.allure.model.Parameter;
19+
import org.aspectj.lang.JoinPoint;
1920
import org.aspectj.lang.reflect.MethodSignature;
2021

2122
import java.util.HashMap;
@@ -37,6 +38,10 @@ private AspectUtils() {
3738
throw new IllegalStateException("Do not instance");
3839
}
3940

41+
/**
42+
* @deprecated use {@link AspectUtils#getName(String,JoinPoint)} instead.
43+
*/
44+
@Deprecated
4045
public static String getName(final String nameTemplate,
4146
final MethodSignature methodSignature,
4247
final Object... args) {
@@ -46,6 +51,17 @@ public static String getName(final String nameTemplate,
4651
.orElseGet(methodSignature::getName);
4752
}
4853

54+
public static String getName(final String nameTemplate, final JoinPoint joinPoint) {
55+
return Optional.of(nameTemplate)
56+
.filter(v -> !v.isEmpty())
57+
.map(value -> processNameTemplate(value, getParametersMap(joinPoint)))
58+
.orElseGet(joinPoint.getSignature()::getName);
59+
}
60+
61+
/**
62+
* @deprecated use {@link AspectUtils#getParametersMap(JoinPoint)} instead.
63+
*/
64+
@Deprecated
4965
public static Map<String, Object> getParametersMap(final MethodSignature signature, final Object... args) {
5066
final String[] parameterNames = signature.getParameterNames();
5167
final Map<String, Object> params = new HashMap<>();
@@ -57,6 +73,13 @@ public static Map<String, Object> getParametersMap(final MethodSignature signatu
5773
return params;
5874
}
5975

76+
public static Map<String, Object> getParametersMap(final JoinPoint joinPoint) {
77+
final MethodSignature methodSignature = (MethodSignature) joinPoint.getSignature();
78+
final Map<String, Object> params = getParametersMap(methodSignature, joinPoint.getArgs());
79+
Optional.ofNullable(joinPoint.getThis()).ifPresent(objThis -> params.put("this", objThis));
80+
return params;
81+
}
82+
6083
public static List<Parameter> getParameters(final MethodSignature signature, final Object... args) {
6184
return IntStream
6285
.range(0, args.length)

0 commit comments

Comments
 (0)