
taf.api.rest.APIObject Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of rest_api_taf Show documentation
Show all versions of rest_api_taf Show documentation
This project simplify REST API testing
The newest version!
package taf.api.rest;
import datainstiller.data.DataAliases;
import datainstiller.data.DataPersistence;
import org.apache.commons.jexl3.JexlContext;
import ru.yandex.qatools.allure.Allure;
import ru.yandex.qatools.allure.events.MakeAttachmentEvent;
import ru.yandex.qatools.allure.events.TestCaseEvent;
import ru.yandex.qatools.allure.model.Description;
import ru.yandex.qatools.allure.model.DescriptionType;
import ru.yandex.qatools.allure.model.Label;
import ru.yandex.qatools.allure.model.LabelName;
import ui.auto.core.context.PageComponentContext;
import ui.auto.core.support.EnvironmentsSetup;
import ui.auto.core.support.TestContext;
import ui.auto.core.support.UserProvider;
import ui.auto.core.testng.TestNGBase;
import java.io.InputStream;
import java.net.URL;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class APIObject extends DataPersistence {
private void addToGlobalAliases(DataPersistence data) {
DataAliases global = PageComponentContext.getGlobalAliases();
DataAliases local = data.getDataAliases();
if (local != null) {
global.putAll(local);
}
}
private void resolveGlobalAliases() {
DataAliases global = PageComponentContext.getGlobalAliases();
for (String aliasKey : global.keySet()) {
String aliasValue = global.getAsString(aliasKey);
if (aliasValue != null && aliasValue.matches(".*\\$\\{[\\w-]+}.*")) {
Pattern pat = Pattern.compile("\\$\\{[\\w-]+}");
Matcher mat = pat.matcher(aliasValue);
while (mat.find()) {
String alias = mat.group();
String key = alias.replace("${", "").replace("}", "");
if (global.containsKey(key)) {
String value = global.getAsString(key);
if (value != null) {
aliasValue = aliasValue.replace(alias, value);
}
}
}
global.put(aliasKey, aliasValue);
}
}
}
@Override
protected void initJexlContext(JexlContext jexlContext) {
LocalDateTime now = LocalDateTime.now();
jexlContext.set("year_month_day", DateTimeFormatter.ofPattern("yyyy-M-d").format(now));
jexlContext.set("day_month_year", DateTimeFormatter.ofPattern("d-M-yyyy").format(now));
jexlContext.set("month_day_year", DateTimeFormatter.ofPattern("M-d-yyyy").format(now));
jexlContext.set("time_stamp", DateTimeFormatter.ofPattern("yyyyMMddkkmmss-S").format(now));
String timeStampThreadId = DateTimeFormatter.ofPattern("yyMMddkkmmss").format(now) + Thread.currentThread().getId();
jexlContext.set("time_stamp_thread", timeStampThreadId);
EnvironmentsSetup.Environment env = TestContext.getTestProperties().getTestEnvironment();
if (env != null) {
jexlContext.set("env", env);
jexlContext.set("userProvider", UserProvider.getInstance());
}
}
private List
© 2015 - 2025 Weber Informatics LLC | Privacy Policy