
ru.testit.services.Utils Maven / Gradle / Ivy
package ru.testit.services;
import ru.testit.annotations.*;
import ru.testit.models.Label;
import ru.testit.models.LinkItem;
import java.lang.reflect.Method;
import java.math.BigInteger;
import java.nio.charset.StandardCharsets;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import static java.util.Objects.isNull;
public class Utils {
public static String extractExternalID(final Method atomicTest, Map parameters) {
final ExternalId annotation = atomicTest.getAnnotation(ExternalId.class);
return (annotation != null) ? setParameters(annotation.value(), parameters) : getHash(atomicTest.getDeclaringClass().getName() + atomicTest.getName());
}
public static String extractDisplayName(final Method atomicTest, Map parameters) {
final DisplayName annotation = atomicTest.getAnnotation(DisplayName.class);
return (annotation != null) ? setParameters(annotation.value(), parameters) : atomicTest.getName();
}
public static List extractWorkItemId(final Method atomicTest, Map parameters) {
final List workItemIds = new ArrayList<>();
final WorkItemId workItem = atomicTest.getAnnotation(WorkItemId.class);
if (workItem != null) {
workItemIds.add(setParameters(workItem.value(), parameters));
return workItemIds;
}
final WorkItemIds workItems = atomicTest.getAnnotation(WorkItemIds.class);
if (workItems != null) {
for (final String workItemId : workItems.value()) {
workItemIds.add(setParameters(workItemId, parameters));
}
}
return workItemIds;
}
public static List extractLinks(final Method atomicTest, Map parameters) {
final List links = new LinkedList<>();
final Links linksAnnotation = atomicTest.getAnnotation(Links.class);
if (linksAnnotation != null) {
for (final Link link : linksAnnotation.links()) {
links.add(makeLink(link, parameters));
}
} else {
final Link linkAnnotation = atomicTest.getAnnotation(Link.class);
if (linkAnnotation != null) {
links.add(makeLink(linkAnnotation, parameters));
}
}
return links;
}
public static List
© 2015 - 2025 Weber Informatics LLC | Privacy Policy