diff --git a/docs/modules/plugins/pages/plugin-rest-api.adoc b/docs/modules/plugins/pages/plugin-rest-api.adoc
index 37b8596cc7..82dc98c73f 100644
--- a/docs/modules/plugins/pages/plugin-rest-api.adoc
+++ b/docs/modules/plugins/pages/plugin-rest-api.adoc
@@ -873,6 +873,30 @@ Then HTTP resources are valid:
| https://vividus-test-site-a92k.onrender.com/img/vividus.png |
----
+=== Validate redirects
+
+Check that all URLs from xref:ROOT:glossary.adoc#_examplestable[ExamplesTable] redirect to proper pages with correct redirects number. Validation fails if either actual final URL or number of redirects do not match the expected values.
+
+NOTE: The step throws the error in case if https://developer.mozilla.org/en-US/docs/Web/HTTP/Status[HTTP response status code] of checked URL out of range 200-207.
+
+[source,gherkin]
+----
+Then I validate HTTP redirects:$expectedRedirects
+----
+
+. `$expectedRedirects` - The xref:ROOT:glossary.adoc#_examplestable[ExamplesTable] with redirect parameters containing the following columns:
+** [subs=+quotes]`*startUrl*` - The URL from which redirection starts.
+** [subs=+quotes]`*endUrl*` - The expected final URL to redirect to.
+** [subs=+quotes]`*redirectsNumber*` - The expected number of redirects between `startUrl` and `endUrl` (optional).
+
+.Validate redirects
+[source,gherkin]
+----
+Then I validate HTTP redirects:
+|startUrl |endUrl |redirectsNumber |
+|http://example.com/redirect |http://example.com/get-response |1 |
+----
+
== HTTP cookie steps
diff --git a/docs/modules/plugins/pages/plugin-web-app-to-rest-api.adoc b/docs/modules/plugins/pages/plugin-web-app-to-rest-api.adoc
index 3a1c658ce4..4f487d216e 100644
--- a/docs/modules/plugins/pages/plugin-web-app-to-rest-api.adoc
+++ b/docs/modules/plugins/pages/plugin-web-app-to-rest-api.adoc
@@ -502,27 +502,10 @@ Then all resources found by CSS selector `a,img` in ${source-code} are valid
=== Validate redirects
-Check that all URLs from xref:ROOT:glossary.adoc#_examplestable[ExamplesTable] redirect to proper pages with correct redirects number. Validation fails if either actual final URL or number of redirects do not match the expected values.
-
-NOTE: The step throws the error in case if https://developer.mozilla.org/en-US/docs/Web/HTTP/Status[HTTP response status code] of checked URL out of range 200-207.
-
-[source,gherkin]
-----
-Then I validate HTTP redirects: $expectedRedirects
-----
-
-. `$expectedRedirects` - The xref:ROOT:glossary.adoc#_examplestable[ExamplesTable] with redirect parameters containing the following columns:
-** [subs=+quotes]`*startUrl*` - The URL from which redirection starts.
-** [subs=+quotes]`*endUrl*` - The expected final URL to redirect to.
-** [subs=+quotes]`*redirectsNumber*` - The expected number of redirects between `startUrl` and `endUrl` (optional).
-
-.Validate redirects
-[source,gherkin]
-----
-Then I validate HTTP redirects:
-|startUrl |endUrl |redirectsNumber |
-|http://example.com/redirect |http://example.com/get-response |1 |
-----
+[WARNING]
+====
+The step xref:plugins:plugin-rest-api.adoc#_validate_redirects[has been moved] to `vividus-plugin-rest-api`.
+====
=== Validate SSL rating
diff --git a/vividus-plugin-web-app-to-rest-api/src/main/java/org/vividus/http/HttpRedirectsProvider.java b/vividus-plugin-rest-api/src/main/java/org/vividus/http/HttpRedirectsProvider.java
similarity index 100%
rename from vividus-plugin-web-app-to-rest-api/src/main/java/org/vividus/http/HttpRedirectsProvider.java
rename to vividus-plugin-rest-api/src/main/java/org/vividus/http/HttpRedirectsProvider.java
diff --git a/vividus-plugin-rest-api/src/main/java/org/vividus/http/PublishingAttachmentInterceptor.java b/vividus-plugin-rest-api/src/main/java/org/vividus/http/PublishingAttachmentInterceptor.java
index 02373c8701..eb8c301e8f 100644
--- a/vividus-plugin-rest-api/src/main/java/org/vividus/http/PublishingAttachmentInterceptor.java
+++ b/vividus-plugin-rest-api/src/main/java/org/vividus/http/PublishingAttachmentInterceptor.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2023 the original author or authors.
+ * Copyright 2019-2024 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -95,6 +95,6 @@ private void attachApiMessage(String title, Header[] headers, byte[] body, Strin
dataMap.put("bodyContentType", mimeType);
dataMap.put("statusCode", statusCode);
- attachmentPublisher.publishAttachment("/org/vividus/http/attachment/api-message.ftl", dataMap, title);
+ attachmentPublisher.publishAttachment("/org/vividus/http/steps/attachment/api-message.ftl", dataMap, title);
}
}
diff --git a/vividus-plugin-rest-api/src/main/java/org/vividus/steps/ByteArrayValidationRule.java b/vividus-plugin-rest-api/src/main/java/org/vividus/http/steps/ByteArrayValidationRule.java
similarity index 89%
rename from vividus-plugin-rest-api/src/main/java/org/vividus/steps/ByteArrayValidationRule.java
rename to vividus-plugin-rest-api/src/main/java/org/vividus/http/steps/ByteArrayValidationRule.java
index e83ab33e6e..6a71878861 100644
--- a/vividus-plugin-rest-api/src/main/java/org/vividus/steps/ByteArrayValidationRule.java
+++ b/vividus-plugin-rest-api/src/main/java/org/vividus/http/steps/ByteArrayValidationRule.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2021 the original author or authors.
+ * Copyright 2019-2024 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package org.vividus.steps;
+package org.vividus.http.steps;
import org.hamcrest.Matchers;
import org.vividus.softassert.ISoftAssert;
@@ -30,7 +30,7 @@ public void assertMatchesRule(ISoftAssert softAssert, byte[] expected, byte[] ac
{
if (Matchers.equalTo(expected).matches(actual))
{
- softAssert.recordPassedAssertion(ByteArrayValidationRule.ARRAYS_ARE_EQUAL);
+ softAssert.recordPassedAssertion(ARRAYS_ARE_EQUAL);
}
else
{
@@ -59,7 +59,7 @@ public void assertMatchesRule(ISoftAssert softAssert, byte[] expected, byte[] ac
}
else
{
- softAssert.recordFailedAssertion(ByteArrayValidationRule.ARRAYS_ARE_EQUAL);
+ softAssert.recordFailedAssertion(ARRAYS_ARE_EQUAL);
}
}
};
diff --git a/vividus-plugin-rest-api/src/main/java/org/vividus/steps/api/HttpCookieSteps.java b/vividus-plugin-rest-api/src/main/java/org/vividus/http/steps/HttpCookieSteps.java
similarity index 98%
rename from vividus-plugin-rest-api/src/main/java/org/vividus/steps/api/HttpCookieSteps.java
rename to vividus-plugin-rest-api/src/main/java/org/vividus/http/steps/HttpCookieSteps.java
index 7fb888259d..abb4811887 100644
--- a/vividus-plugin-rest-api/src/main/java/org/vividus/steps/api/HttpCookieSteps.java
+++ b/vividus-plugin-rest-api/src/main/java/org/vividus/http/steps/HttpCookieSteps.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2023 the original author or authors.
+ * Copyright 2019-2024 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package org.vividus.steps.api;
+package org.vividus.http.steps;
import static org.hamcrest.Matchers.greaterThan;
diff --git a/vividus-plugin-rest-api/src/main/java/org/vividus/steps/api/HttpRequestSteps.java b/vividus-plugin-rest-api/src/main/java/org/vividus/http/steps/HttpRequestSteps.java
similarity index 81%
rename from vividus-plugin-rest-api/src/main/java/org/vividus/steps/api/HttpRequestSteps.java
rename to vividus-plugin-rest-api/src/main/java/org/vividus/http/steps/HttpRequestSteps.java
index c25fdf8ec9..923ffaa568 100644
--- a/vividus-plugin-rest-api/src/main/java/org/vividus/steps/api/HttpRequestSteps.java
+++ b/vividus-plugin-rest-api/src/main/java/org/vividus/http/steps/HttpRequestSteps.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2023 the original author or authors.
+ * Copyright 2019-2024 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package org.vividus.steps.api;
+package org.vividus.http.steps;
import static java.util.stream.Collectors.toList;
@@ -27,11 +27,14 @@
import java.util.function.Consumer;
import java.util.stream.Collectors;
+import org.apache.commons.io.FilenameUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.hc.client5.http.config.RequestConfig;
import org.apache.hc.client5.http.entity.UrlEncodedFormEntity;
+import org.apache.hc.client5.http.entity.mime.ByteArrayBody;
import org.apache.hc.client5.http.entity.mime.ContentBody;
import org.apache.hc.client5.http.entity.mime.MultipartEntityBuilder;
+import org.apache.hc.client5.http.entity.mime.StringBody;
import org.apache.hc.core5.http.ContentType;
import org.apache.hc.core5.http.Header;
import org.apache.hc.core5.http.HttpEntity;
@@ -48,8 +51,8 @@
import org.vividus.http.HttpMethod;
import org.vividus.http.HttpRequestExecutor;
import org.vividus.http.HttpTestContext;
-import org.vividus.model.RequestPartType;
import org.vividus.steps.DataWrapper;
+import org.vividus.util.ResourceUtils;
public class HttpRequestSteps
{
@@ -273,4 +276,80 @@ public void setApiEndpoint(String apiEndpoint)
{
this.apiEndpoint = apiEndpoint;
}
+
+ public enum RequestPartType
+ {
+ STRING
+ {
+ @Override
+ public ContentType getDefaultContentType()
+ {
+ return ContentType.DEFAULT_TEXT;
+ }
+
+ @Override
+ public ContentBody createPart(String value, ContentType contentType)
+ {
+ return new StringBody(value, contentType);
+ }
+
+ @Override
+ public ContentBody createPart(String value, ContentType contentType, String fileName)
+ {
+ throw new IllegalArgumentException(
+ String.format("'fileName' parameter is not allowed for %s request part type", name()));
+ }
+ },
+ FILE
+ {
+ @Override
+ public ContentType getDefaultContentType()
+ {
+ return ContentType.DEFAULT_BINARY;
+ }
+
+ @Override
+ public ContentBody createPart(String value, ContentType contentType) throws IOException
+ {
+ String fileName = FilenameUtils.getName(value);
+ return createPart(value, contentType, fileName);
+ }
+
+ @Override
+ public ContentBody createPart(String value, ContentType contentType, String fileName) throws IOException
+ {
+ byte[] byteArray = ResourceUtils.loadResourceOrFileAsByteArray(value);
+ return new ByteArrayBody(byteArray, contentType, fileName);
+ }
+ },
+ BINARY
+ {
+ @Override
+ public ContentType getDefaultContentType()
+ {
+ return ContentType.DEFAULT_BINARY;
+ }
+
+ @Override
+ public ContentBody createPart(String value, ContentType contentType)
+ {
+ throw new IllegalArgumentException(
+ String.format("'fileName' parameter is required for %s request part type", name()));
+ }
+
+ @Override
+ public ContentBody createPart(String value, ContentType contentType, String fileName)
+ {
+ byte[] byteArray = value.getBytes(StandardCharsets.UTF_8);
+ return new ByteArrayBody(byteArray, contentType, fileName);
+ }
+ };
+
+ public abstract ContentType getDefaultContentType();
+
+ public abstract ContentBody createPart(String value, ContentType contentType) throws IOException;
+
+ public abstract ContentBody createPart(String value, ContentType contentType, String fileName)
+ throws IOException;
+ }
}
diff --git a/vividus-plugin-rest-api/src/main/java/org/vividus/steps/http/HttpResourceValidationSteps.java b/vividus-plugin-rest-api/src/main/java/org/vividus/http/steps/HttpResourceValidationSteps.java
similarity index 90%
rename from vividus-plugin-rest-api/src/main/java/org/vividus/steps/http/HttpResourceValidationSteps.java
rename to vividus-plugin-rest-api/src/main/java/org/vividus/http/steps/HttpResourceValidationSteps.java
index ebdce9c1ef..1607f3d4a7 100644
--- a/vividus-plugin-rest-api/src/main/java/org/vividus/steps/http/HttpResourceValidationSteps.java
+++ b/vividus-plugin-rest-api/src/main/java/org/vividus/http/steps/HttpResourceValidationSteps.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2023 the original author or authors.
+ * Copyright 2019-2024 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -14,15 +14,15 @@
* limitations under the License.
*/
-package org.vividus.steps.http;
+package org.vividus.http.steps;
import java.util.List;
import java.util.Map;
import org.jbehave.core.annotations.Then;
import org.jbehave.core.model.ExamplesTable;
+import org.vividus.http.validation.ResourceValidation;
import org.vividus.http.validation.ResourceValidator;
-import org.vividus.http.validation.model.ResourceValidation;
import org.vividus.reporter.event.AttachmentPublisher;
import org.vividus.softassert.ISoftAssert;
import org.vividus.util.UriUtils;
@@ -63,7 +63,8 @@ public void verifyHttpResources(ExamplesTable resources)
.sorted()
.toList();
- attachmentPublisher.publishAttachment("http-resources-validation-results.ftl",
+ attachmentPublisher.publishAttachment(
+ "/org/vividus/http/steps/attachment/http-resources-validation-results.ftl",
Map.of("results", validations), "HTTP resources validation results");
});
}
diff --git a/vividus-plugin-rest-api/src/main/java/org/vividus/steps/api/HttpResponseValidationSteps.java b/vividus-plugin-rest-api/src/main/java/org/vividus/http/steps/HttpResponseValidationSteps.java
similarity index 99%
rename from vividus-plugin-rest-api/src/main/java/org/vividus/steps/api/HttpResponseValidationSteps.java
rename to vividus-plugin-rest-api/src/main/java/org/vividus/http/steps/HttpResponseValidationSteps.java
index 66d994dcf1..4ed20a75bb 100644
--- a/vividus-plugin-rest-api/src/main/java/org/vividus/steps/api/HttpResponseValidationSteps.java
+++ b/vividus-plugin-rest-api/src/main/java/org/vividus/http/steps/HttpResponseValidationSteps.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2023 the original author or authors.
+ * Copyright 2019-2024 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package org.vividus.steps.api;
+package org.vividus.http.steps;
import static org.hamcrest.Matchers.contains;
@@ -39,7 +39,6 @@
import org.vividus.http.HttpTestContext;
import org.vividus.http.client.HttpResponse;
import org.vividus.softassert.ISoftAssert;
-import org.vividus.steps.ByteArrayValidationRule;
import org.vividus.steps.ComparisonRule;
import org.vividus.steps.StringComparisonRule;
import org.vividus.steps.SubSteps;
diff --git a/vividus-plugin-rest-api/src/main/java/org/vividus/steps/api/JsonResponseValidationSteps.java b/vividus-plugin-rest-api/src/main/java/org/vividus/http/steps/JsonResponseValidationSteps.java
similarity index 98%
rename from vividus-plugin-rest-api/src/main/java/org/vividus/steps/api/JsonResponseValidationSteps.java
rename to vividus-plugin-rest-api/src/main/java/org/vividus/http/steps/JsonResponseValidationSteps.java
index 514ad0e324..191cdbf946 100644
--- a/vividus-plugin-rest-api/src/main/java/org/vividus/steps/api/JsonResponseValidationSteps.java
+++ b/vividus-plugin-rest-api/src/main/java/org/vividus/http/steps/JsonResponseValidationSteps.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2022 the original author or authors.
+ * Copyright 2019-2024 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package org.vividus.steps.api;
+package org.vividus.http.steps;
import java.time.Duration;
import java.util.Optional;
diff --git a/vividus-plugin-rest-api/src/main/java/org/vividus/steps/api/JwtSteps.java b/vividus-plugin-rest-api/src/main/java/org/vividus/http/steps/JwtSteps.java
similarity index 97%
rename from vividus-plugin-rest-api/src/main/java/org/vividus/steps/api/JwtSteps.java
rename to vividus-plugin-rest-api/src/main/java/org/vividus/http/steps/JwtSteps.java
index aef0b5f2e1..7ec1129299 100644
--- a/vividus-plugin-rest-api/src/main/java/org/vividus/steps/api/JwtSteps.java
+++ b/vividus-plugin-rest-api/src/main/java/org/vividus/http/steps/JwtSteps.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2023 the original author or authors.
+ * Copyright 2019-2024 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package org.vividus.steps.api;
+package org.vividus.http.steps;
import static java.lang.String.format;
import static java.nio.charset.StandardCharsets.UTF_8;
diff --git a/vividus-plugin-web-app-to-rest-api/src/main/java/org/vividus/steps/integration/RedirectValidationSteps.java b/vividus-plugin-rest-api/src/main/java/org/vividus/http/steps/RedirectValidationSteps.java
similarity index 71%
rename from vividus-plugin-web-app-to-rest-api/src/main/java/org/vividus/steps/integration/RedirectValidationSteps.java
rename to vividus-plugin-rest-api/src/main/java/org/vividus/http/steps/RedirectValidationSteps.java
index 895ac2e04f..ed98921f8c 100644
--- a/vividus-plugin-web-app-to-rest-api/src/main/java/org/vividus/steps/integration/RedirectValidationSteps.java
+++ b/vividus-plugin-rest-api/src/main/java/org/vividus/http/steps/RedirectValidationSteps.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2023 the original author or authors.
+ * Copyright 2019-2024 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package org.vividus.steps.integration;
+package org.vividus.http.steps;
import java.io.IOException;
import java.net.URI;
@@ -22,10 +22,9 @@
import java.util.List;
import java.util.Map;
+import org.jbehave.core.annotations.AsParameters;
import org.jbehave.core.annotations.Then;
-import org.vividus.http.ExpectedRedirect;
import org.vividus.http.HttpRedirectsProvider;
-import org.vividus.http.RedirectValidationState;
import org.vividus.reporter.event.IAttachmentPublisher;
import org.vividus.softassert.ISoftAssert;
import org.vividus.util.UriUtils;
@@ -74,7 +73,7 @@ public RedirectValidationSteps(HttpRedirectsProvider redirectsProvider, ISoftAss
*
redirectsNumber - The expected number of redirects between startUrl and endUrl (optional)
*
*/
- @Then("I validate HTTP redirects: $expectedRedirects")
+ @Then("I validate HTTP redirects:$expectedRedirects")
public void validateRedirects(List expectedRedirects)
{
softAssert.runIgnoringTestFailFast(() ->
@@ -92,7 +91,7 @@ public void validateRedirects(List expectedRedirects)
private void performPostCheckActions(List states)
{
- attachmentPublisher.publishAttachment("/org/vividus/steps/integration/redirect-validation-test-report.ftl",
+ attachmentPublisher.publishAttachment("/org/vividus/http/steps/attachment/redirect-validation-test-report.ftl",
Map.of("results", states), "Redirects validation test report");
}
@@ -176,4 +175,115 @@ private static void initTestResult(RedirectValidationState validationState, List
validationState.setActualRedirectsNumber(0);
}
}
+
+ @AsParameters
+ public static class ExpectedRedirect
+ {
+ private URI startUrl;
+ private URI endUrl;
+ private Integer redirectsNumber;
+
+ public URI getStartUrl()
+ {
+ return startUrl;
+ }
+
+ public void setStartUrl(URI startUrl)
+ {
+ this.startUrl = startUrl;
+ }
+
+ public URI getEndUrl()
+ {
+ return endUrl;
+ }
+
+ public void setEndUrl(URI endUrl)
+ {
+ this.endUrl = endUrl;
+ }
+
+ public Integer getRedirectsNumber()
+ {
+ return redirectsNumber;
+ }
+
+ public void setRedirectsNumber(Integer redirectsNumber)
+ {
+ this.redirectsNumber = redirectsNumber;
+ }
+ }
+
+ public static class RedirectValidationState
+ {
+ private final ExpectedRedirect expectedRedirect;
+
+ private URI actualEndUrl;
+ private int actualRedirectsNumber = -1;
+ private List redirects;
+
+ private String resultMessage = "Passed";
+ private boolean passed = true;
+
+ public RedirectValidationState(ExpectedRedirect expectedRedirect)
+ {
+ this.expectedRedirect = expectedRedirect;
+ }
+
+ public void fail(String resultMessage)
+ {
+ this.resultMessage = "Fail: " + resultMessage;
+ passed = false;
+ }
+
+ public void pass(String resultMessage)
+ {
+ this.resultMessage = "Passed: " + resultMessage;
+ }
+
+ public ExpectedRedirect getExpectedRedirect()
+ {
+ return expectedRedirect;
+ }
+
+ public URI getActualEndUrl()
+ {
+ return actualEndUrl;
+ }
+
+ public void setActualEndUrl(URI actualEndUrl)
+ {
+ this.actualEndUrl = actualEndUrl;
+ }
+
+ public boolean isPassed()
+ {
+ return passed;
+ }
+
+ public String getResultMessage()
+ {
+ return resultMessage;
+ }
+
+ public int getActualRedirectsNumber()
+ {
+ return actualRedirectsNumber;
+ }
+
+ public void setActualRedirectsNumber(int actualRedirectsNumber)
+ {
+ this.actualRedirectsNumber = actualRedirectsNumber;
+ }
+
+ public List getRedirects()
+ {
+ return redirects;
+ }
+
+ public void setRedirects(List redirects)
+ {
+ this.redirects = redirects;
+ }
+ }
}
diff --git a/vividus-plugin-rest-api/src/main/java/org/vividus/http/validation/model/AbstractResourceValidation.java b/vividus-plugin-rest-api/src/main/java/org/vividus/http/validation/AbstractResourceValidation.java
similarity index 98%
rename from vividus-plugin-rest-api/src/main/java/org/vividus/http/validation/model/AbstractResourceValidation.java
rename to vividus-plugin-rest-api/src/main/java/org/vividus/http/validation/AbstractResourceValidation.java
index fb9ff56aac..2c461f3307 100644
--- a/vividus-plugin-rest-api/src/main/java/org/vividus/http/validation/model/AbstractResourceValidation.java
+++ b/vividus-plugin-rest-api/src/main/java/org/vividus/http/validation/AbstractResourceValidation.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package org.vividus.http.validation.model;
+package org.vividus.http.validation;
import java.net.URI;
import java.util.Objects;
diff --git a/vividus-plugin-rest-api/src/main/java/org/vividus/http/validation/model/CheckStatus.java b/vividus-plugin-rest-api/src/main/java/org/vividus/http/validation/CheckStatus.java
similarity index 89%
rename from vividus-plugin-rest-api/src/main/java/org/vividus/http/validation/model/CheckStatus.java
rename to vividus-plugin-rest-api/src/main/java/org/vividus/http/validation/CheckStatus.java
index 52305e536f..7b21225e30 100644
--- a/vividus-plugin-rest-api/src/main/java/org/vividus/http/validation/model/CheckStatus.java
+++ b/vividus-plugin-rest-api/src/main/java/org/vividus/http/validation/CheckStatus.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2023 the original author or authors.
+ * Copyright 2019-2024 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package org.vividus.http.validation.model;
+package org.vividus.http.validation;
public enum CheckStatus
{
diff --git a/vividus-plugin-rest-api/src/main/java/org/vividus/http/validation/model/ResourceValidation.java b/vividus-plugin-rest-api/src/main/java/org/vividus/http/validation/ResourceValidation.java
similarity index 92%
rename from vividus-plugin-rest-api/src/main/java/org/vividus/http/validation/model/ResourceValidation.java
rename to vividus-plugin-rest-api/src/main/java/org/vividus/http/validation/ResourceValidation.java
index dea0481333..1bcd5d3fcb 100644
--- a/vividus-plugin-rest-api/src/main/java/org/vividus/http/validation/model/ResourceValidation.java
+++ b/vividus-plugin-rest-api/src/main/java/org/vividus/http/validation/ResourceValidation.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2023 the original author or authors.
+ * Copyright 2019-2024 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package org.vividus.http.validation.model;
+package org.vividus.http.validation;
import java.net.URI;
diff --git a/vividus-plugin-rest-api/src/main/java/org/vividus/http/validation/ResourceValidator.java b/vividus-plugin-rest-api/src/main/java/org/vividus/http/validation/ResourceValidator.java
index 59c98e4325..f9923d1991 100644
--- a/vividus-plugin-rest-api/src/main/java/org/vividus/http/validation/ResourceValidator.java
+++ b/vividus-plugin-rest-api/src/main/java/org/vividus/http/validation/ResourceValidator.java
@@ -30,8 +30,6 @@
import org.apache.hc.core5.http.HttpStatus;
import org.vividus.http.client.HttpResponse;
import org.vividus.http.client.IHttpClient;
-import org.vividus.http.validation.model.AbstractResourceValidation;
-import org.vividus.http.validation.model.CheckStatus;
import org.vividus.softassert.ISoftAssert;
public class ResourceValidator>
diff --git a/vividus-plugin-rest-api/src/main/java/org/vividus/model/RequestPartType.java b/vividus-plugin-rest-api/src/main/java/org/vividus/model/RequestPartType.java
deleted file mode 100644
index c013e9d7f0..0000000000
--- a/vividus-plugin-rest-api/src/main/java/org/vividus/model/RequestPartType.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*
- * Copyright 2019-2023 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.vividus.model;
-
-import java.io.IOException;
-import java.nio.charset.StandardCharsets;
-
-import org.apache.commons.io.FilenameUtils;
-import org.apache.hc.client5.http.entity.mime.ByteArrayBody;
-import org.apache.hc.client5.http.entity.mime.ContentBody;
-import org.apache.hc.client5.http.entity.mime.StringBody;
-import org.apache.hc.core5.http.ContentType;
-import org.vividus.util.ResourceUtils;
-
-public enum RequestPartType
-{
- STRING
- {
- @Override
- public ContentType getDefaultContentType()
- {
- return ContentType.DEFAULT_TEXT;
- }
-
- @Override
- public ContentBody createPart(String value, ContentType contentType)
- {
- return new StringBody(value, contentType);
- }
-
- @Override
- public ContentBody createPart(String value, ContentType contentType, String fileName)
- {
- throw new IllegalArgumentException(
- String.format("'fileName' parameter is not allowed for %s request part type", name()));
- }
- },
- FILE
- {
- @Override
- public ContentType getDefaultContentType()
- {
- return ContentType.DEFAULT_BINARY;
- }
-
- @Override
- public ContentBody createPart(String value, ContentType contentType) throws IOException
- {
- String fileName = FilenameUtils.getName(value);
- return createPart(value, contentType, fileName);
- }
-
- @Override
- public ContentBody createPart(String value, ContentType contentType, String fileName) throws IOException
- {
- byte[] byteArray = ResourceUtils.loadResourceOrFileAsByteArray(value);
- return new ByteArrayBody(byteArray, contentType, fileName);
- }
- },
- BINARY
- {
- @Override
- public ContentType getDefaultContentType()
- {
- return ContentType.DEFAULT_BINARY;
- }
-
- @Override
- public ContentBody createPart(String value, ContentType contentType)
- {
- throw new IllegalArgumentException(
- String.format("'fileName' parameter is required for %s request part type", name()));
- }
-
- @Override
- public ContentBody createPart(String value, ContentType contentType, String fileName)
- {
- byte[] byteArray = value.getBytes(StandardCharsets.UTF_8);
- return new ByteArrayBody(byteArray, contentType, fileName);
- }
- };
-
- public abstract ContentType getDefaultContentType();
-
- public abstract ContentBody createPart(String value, ContentType contentType) throws IOException;
-
- public abstract ContentBody createPart(String value, ContentType contentType, String fileName) throws IOException;
-}
diff --git a/vividus-plugin-rest-api/src/main/java/org/vividus/steps/ssl/SslSteps.java b/vividus-plugin-rest-api/src/main/java/org/vividus/ssl/steps/SslSteps.java
similarity index 96%
rename from vividus-plugin-rest-api/src/main/java/org/vividus/steps/ssl/SslSteps.java
rename to vividus-plugin-rest-api/src/main/java/org/vividus/ssl/steps/SslSteps.java
index d057d2a4cb..c558884150 100644
--- a/vividus-plugin-rest-api/src/main/java/org/vividus/steps/ssl/SslSteps.java
+++ b/vividus-plugin-rest-api/src/main/java/org/vividus/ssl/steps/SslSteps.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2021 the original author or authors.
+ * Copyright 2019-2024 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package org.vividus.steps.ssl;
+package org.vividus.ssl.steps;
import java.io.IOException;
import java.security.GeneralSecurityException;
diff --git a/vividus-plugin-rest-api/src/main/resources/org/vividus/http/attachment/api-message.ftl b/vividus-plugin-rest-api/src/main/resources/org/vividus/http/steps/attachment/api-message.ftl
similarity index 100%
rename from vividus-plugin-rest-api/src/main/resources/org/vividus/http/attachment/api-message.ftl
rename to vividus-plugin-rest-api/src/main/resources/org/vividus/http/steps/attachment/api-message.ftl
diff --git a/vividus-plugin-rest-api/src/main/resources/http-resources-validation-results.ftl b/vividus-plugin-rest-api/src/main/resources/org/vividus/http/steps/attachment/http-resources-validation-results.ftl
similarity index 100%
rename from vividus-plugin-rest-api/src/main/resources/http-resources-validation-results.ftl
rename to vividus-plugin-rest-api/src/main/resources/org/vividus/http/steps/attachment/http-resources-validation-results.ftl
diff --git a/vividus-plugin-web-app-to-rest-api/src/main/resources/org/vividus/steps/integration/redirect-validation-test-report.ftl b/vividus-plugin-rest-api/src/main/resources/org/vividus/http/steps/attachment/redirect-validation-test-report.ftl
similarity index 100%
rename from vividus-plugin-web-app-to-rest-api/src/main/resources/org/vividus/steps/integration/redirect-validation-test-report.ftl
rename to vividus-plugin-rest-api/src/main/resources/org/vividus/http/steps/attachment/redirect-validation-test-report.ftl
diff --git a/vividus-plugin-rest-api/src/main/resources/resources-response-body-fragment.ftl b/vividus-plugin-rest-api/src/main/resources/org/vividus/http/steps/attachment/resources-response-body-fragment.ftl
similarity index 100%
rename from vividus-plugin-rest-api/src/main/resources/resources-response-body-fragment.ftl
rename to vividus-plugin-rest-api/src/main/resources/org/vividus/http/steps/attachment/resources-response-body-fragment.ftl
diff --git a/vividus-plugin-rest-api/src/main/resources/properties/defaults/default.properties b/vividus-plugin-rest-api/src/main/resources/properties/defaults/default.properties
index 4c17929e0d..c6de873955 100644
--- a/vividus-plugin-rest-api/src/main/resources/properties/defaults/default.properties
+++ b/vividus-plugin-rest-api/src/main/resources/properties/defaults/default.properties
@@ -4,3 +4,5 @@ rest-api.http.cookie-store-level=global
rest-api.http.extended-logging=false
resource-checker.publish-response-body=false
+
+http.redirects-provider.circular-redirects-allowed=false
diff --git a/vividus-plugin-rest-api/src/main/resources/vividus-plugin/spring.xml b/vividus-plugin-rest-api/src/main/resources/vividus-plugin/spring.xml
index dc34731a50..627a32c7f5 100644
--- a/vividus-plugin-rest-api/src/main/resources/vividus-plugin/spring.xml
+++ b/vividus-plugin-rest-api/src/main/resources/vividus-plugin/spring.xml
@@ -7,51 +7,17 @@
http://www.springframework.org/schema/util https://www.springframework.org/schema/util/spring-util.xsd"
default-lazy-init="true">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
-
-
-
-
-
-
-
-
+
+
-
-
-
+
@@ -77,30 +43,76 @@
+
+
+
+
+
+
+
+
+
+
+
-
+
+
+
+
+
+
+
-
-
+
+
+
+
+
+
+
+
+
+
-
+
+
+
-
+
+
+
+
+
+
+
+
-
+
+
+
+
+
+
-
-
-
+
+
+
+
@@ -116,7 +128,7 @@
-
-
+
+
diff --git a/vividus-plugin-web-app-to-rest-api/src/test/java/org/vividus/http/HttpRedirectsProviderTests.java b/vividus-plugin-rest-api/src/test/java/org/vividus/http/HttpRedirectsProviderTests.java
similarity index 100%
rename from vividus-plugin-web-app-to-rest-api/src/test/java/org/vividus/http/HttpRedirectsProviderTests.java
rename to vividus-plugin-rest-api/src/test/java/org/vividus/http/HttpRedirectsProviderTests.java
diff --git a/vividus-plugin-rest-api/src/test/java/org/vividus/http/PublishingAttachmentInterceptorTests.java b/vividus-plugin-rest-api/src/test/java/org/vividus/http/PublishingAttachmentInterceptorTests.java
index 570b2f9cf1..291d5f595a 100644
--- a/vividus-plugin-rest-api/src/test/java/org/vividus/http/PublishingAttachmentInterceptorTests.java
+++ b/vividus-plugin-rest-api/src/test/java/org/vividus/http/PublishingAttachmentInterceptorTests.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2023 the original author or authors.
+ * Copyright 2019-2024 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -69,7 +69,7 @@ class PublishingAttachmentInterceptorTests
{
private static final String ENDPOINT = "https://uri.com/";
private static final String METHOD = "method";
- private static final String API_MESSAGE_FTL = "/org/vividus/http/attachment/api-message.ftl";
+ private static final String API_MESSAGE_FTL = "/org/vividus/http/steps/attachment/api-message.ftl";
private static final String RESPONSE = "Response: method " + ENDPOINT;
private static final String REQUEST = "Request: method " + ENDPOINT;
private static final String CONTENT_TYPE = "Content-Type";
@@ -162,7 +162,7 @@ void testHttpResponseIsAttachedSuccessfully() throws IOException
when(httpResponse.getResponseHeaders()).thenReturn(new Header[] { mock(Header.class) });
interceptor.handle(httpResponse);
var argumentCaptor = verifyPublishAttachment(RESPONSE);
- assertEquals(HttpStatus.SC_OK, argumentCaptor.getValue().get("statusCode").intValue());
+ assertEquals(HttpStatus.SC_OK, argumentCaptor.getValue().get("statusCode"));
}
@Test
diff --git a/vividus-plugin-rest-api/src/test/java/org/vividus/http/expression/PkceExpressionProcessorTests.java b/vividus-plugin-rest-api/src/test/java/org/vividus/http/expression/PkceExpressionProcessorTests.java
index 2ff28cd18c..4d67015684 100644
--- a/vividus-plugin-rest-api/src/test/java/org/vividus/http/expression/PkceExpressionProcessorTests.java
+++ b/vividus-plugin-rest-api/src/test/java/org/vividus/http/expression/PkceExpressionProcessorTests.java
@@ -19,7 +19,6 @@
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertThrows;
import static org.mockito.Mockito.mockStatic;
-import static org.mockito.Mockito.when;
import java.nio.charset.StandardCharsets;
import java.security.MessageDigest;
@@ -55,13 +54,13 @@ void testExecute() throws NoSuchAlgorithmException
processor.execute(String.format(GENERATE_CODE_CHALLENGE, CODE_VERIFIER_VALUE)));
}
- @SuppressWarnings("unchecked")
@Test
- void testExecuteWithException() throws NoSuchAlgorithmException
+ void testExecuteWithException()
{
- try (MockedStatic md = mockStatic(MessageDigest.class))
+ try (MockedStatic messageDigestStaticMock = mockStatic(MessageDigest.class))
{
- when(MessageDigest.getInstance(ALGORITHM)).thenThrow(new NoSuchAlgorithmException());
+ messageDigestStaticMock.when(() -> MessageDigest.getInstance(ALGORITHM)).thenThrow(
+ new NoSuchAlgorithmException());
assertThrows(IllegalArgumentException.class, () ->
expressionProcessor.execute(String.format(GENERATE_CODE_CHALLENGE, CODE_VERIFIER_VALUE)));
}
diff --git a/vividus-plugin-rest-api/src/test/java/org/vividus/steps/ByteArrayValidationRuleTests.java b/vividus-plugin-rest-api/src/test/java/org/vividus/http/steps/ByteArrayValidationRuleTests.java
similarity index 97%
rename from vividus-plugin-rest-api/src/test/java/org/vividus/steps/ByteArrayValidationRuleTests.java
rename to vividus-plugin-rest-api/src/test/java/org/vividus/http/steps/ByteArrayValidationRuleTests.java
index 0d5fdd3f83..a1e73b02af 100644
--- a/vividus-plugin-rest-api/src/test/java/org/vividus/steps/ByteArrayValidationRuleTests.java
+++ b/vividus-plugin-rest-api/src/test/java/org/vividus/http/steps/ByteArrayValidationRuleTests.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2021 the original author or authors.
+ * Copyright 2019-2024 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package org.vividus.steps;
+package org.vividus.http.steps;
import static org.mockito.ArgumentMatchers.anyString;
import static org.mockito.Mockito.never;
diff --git a/vividus-plugin-rest-api/src/test/java/org/vividus/steps/api/HttpCookieStepsTests.java b/vividus-plugin-rest-api/src/test/java/org/vividus/http/steps/HttpCookieStepsTests.java
similarity index 98%
rename from vividus-plugin-rest-api/src/test/java/org/vividus/steps/api/HttpCookieStepsTests.java
rename to vividus-plugin-rest-api/src/test/java/org/vividus/http/steps/HttpCookieStepsTests.java
index 61adfb62ba..00b2391954 100644
--- a/vividus-plugin-rest-api/src/test/java/org/vividus/steps/api/HttpCookieStepsTests.java
+++ b/vividus-plugin-rest-api/src/test/java/org/vividus/http/steps/HttpCookieStepsTests.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2023 the original author or authors.
+ * Copyright 2019-2024 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package org.vividus.steps.api;
+package org.vividus.http.steps;
import static com.github.valfirst.slf4jtest.LoggingEvent.info;
import static org.hamcrest.MatcherAssert.assertThat;
diff --git a/vividus-plugin-rest-api/src/test/java/org/vividus/steps/api/HttpRequestStepsTests.java b/vividus-plugin-rest-api/src/test/java/org/vividus/http/steps/HttpRequestStepsTests.java
similarity index 99%
rename from vividus-plugin-rest-api/src/test/java/org/vividus/steps/api/HttpRequestStepsTests.java
rename to vividus-plugin-rest-api/src/test/java/org/vividus/http/steps/HttpRequestStepsTests.java
index c6e2864907..e73ad690e2 100644
--- a/vividus-plugin-rest-api/src/test/java/org/vividus/steps/api/HttpRequestStepsTests.java
+++ b/vividus-plugin-rest-api/src/test/java/org/vividus/http/steps/HttpRequestStepsTests.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2023 the original author or authors.
+ * Copyright 2019-2024 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package org.vividus.steps.api;
+package org.vividus.http.steps;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.Matchers.containsString;
diff --git a/vividus-plugin-rest-api/src/test/java/org/vividus/steps/http/HttpResourceValidationStepsTests.java b/vividus-plugin-rest-api/src/test/java/org/vividus/http/steps/HttpResourceValidationStepsTests.java
similarity index 86%
rename from vividus-plugin-rest-api/src/test/java/org/vividus/steps/http/HttpResourceValidationStepsTests.java
rename to vividus-plugin-rest-api/src/test/java/org/vividus/http/steps/HttpResourceValidationStepsTests.java
index 586632c4f6..4182f03779 100644
--- a/vividus-plugin-rest-api/src/test/java/org/vividus/steps/http/HttpResourceValidationStepsTests.java
+++ b/vividus-plugin-rest-api/src/test/java/org/vividus/http/steps/HttpResourceValidationStepsTests.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2023 the original author or authors.
+ * Copyright 2019-2024 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package org.vividus.steps.http;
+package org.vividus.http.steps;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.doAnswer;
@@ -31,9 +31,9 @@
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.junit.jupiter.MockitoExtension;
+import org.vividus.http.validation.CheckStatus;
+import org.vividus.http.validation.ResourceValidation;
import org.vividus.http.validation.ResourceValidator;
-import org.vividus.http.validation.model.CheckStatus;
-import org.vividus.http.validation.model.ResourceValidation;
import org.vividus.reporter.event.AttachmentPublisher;
import org.vividus.softassert.FailableRunnable;
import org.vividus.softassert.ISoftAssert;
@@ -61,15 +61,16 @@ void shouldVerifyHttpResources()
when(resourceValidator.perform(failed2)).thenReturn(failed2);
doAnswer(a ->
{
- FailableRunnable runnable = a.getArgument(0);
+ FailableRunnable> runnable = a.getArgument(0);
runnable.run();
return null;
- }).when(softAssert).runIgnoringTestFailFast(any(FailableRunnable.class));
+ }).when(softAssert).runIgnoringTestFailFast(any());
steps.verifyHttpResources(
new ExamplesTable(String.format("|url|%n|%s|%n|%s|%n|%s|%n", passedUrl, failedUrl1, failedUrl2)));
- verify(attachmentPublisher).publishAttachment("http-resources-validation-results.ftl",
+ verify(attachmentPublisher).publishAttachment(
+ "/org/vividus/http/steps/attachment/http-resources-validation-results.ftl",
Map.of("results", List.of(failed1, failed2, passed)), "HTTP resources validation results");
}
diff --git a/vividus-plugin-rest-api/src/test/java/org/vividus/steps/api/HttpResponseValidationStepsTests.java b/vividus-plugin-rest-api/src/test/java/org/vividus/http/steps/HttpResponseValidationStepsTests.java
similarity index 99%
rename from vividus-plugin-rest-api/src/test/java/org/vividus/steps/api/HttpResponseValidationStepsTests.java
rename to vividus-plugin-rest-api/src/test/java/org/vividus/http/steps/HttpResponseValidationStepsTests.java
index 939493f444..dec69961ea 100644
--- a/vividus-plugin-rest-api/src/test/java/org/vividus/steps/api/HttpResponseValidationStepsTests.java
+++ b/vividus-plugin-rest-api/src/test/java/org/vividus/http/steps/HttpResponseValidationStepsTests.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2023 the original author or authors.
+ * Copyright 2019-2024 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package org.vividus.steps.api;
+package org.vividus.http.steps;
import static org.hamcrest.Matchers.equalTo;
import static org.hamcrest.Matchers.lessThan;
@@ -52,7 +52,6 @@
import org.vividus.http.HttpTestContext;
import org.vividus.http.client.HttpResponse;
import org.vividus.softassert.ISoftAssert;
-import org.vividus.steps.ByteArrayValidationRule;
import org.vividus.steps.ComparisonRule;
import org.vividus.steps.SubSteps;
import org.vividus.util.ResourceUtils;
diff --git a/vividus-plugin-rest-api/src/test/java/org/vividus/steps/api/JsonResponseValidationStepsTests.java b/vividus-plugin-rest-api/src/test/java/org/vividus/http/steps/JsonResponseValidationStepsTests.java
similarity index 98%
rename from vividus-plugin-rest-api/src/test/java/org/vividus/steps/api/JsonResponseValidationStepsTests.java
rename to vividus-plugin-rest-api/src/test/java/org/vividus/http/steps/JsonResponseValidationStepsTests.java
index 2fb63fc0ac..8a25f1c621 100644
--- a/vividus-plugin-rest-api/src/test/java/org/vividus/steps/api/JsonResponseValidationStepsTests.java
+++ b/vividus-plugin-rest-api/src/test/java/org/vividus/http/steps/JsonResponseValidationStepsTests.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2023 the original author or authors.
+ * Copyright 2019-2024 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package org.vividus.steps.api;
+package org.vividus.http.steps;
import static org.mockito.ArgumentMatchers.argThat;
import static org.mockito.ArgumentMatchers.eq;
diff --git a/vividus-plugin-rest-api/src/test/java/org/vividus/steps/api/JwtStepsTests.java b/vividus-plugin-rest-api/src/test/java/org/vividus/http/steps/JwtStepsTests.java
similarity index 95%
rename from vividus-plugin-rest-api/src/test/java/org/vividus/steps/api/JwtStepsTests.java
rename to vividus-plugin-rest-api/src/test/java/org/vividus/http/steps/JwtStepsTests.java
index 979776fadf..1f6cc57190 100644
--- a/vividus-plugin-rest-api/src/test/java/org/vividus/steps/api/JwtStepsTests.java
+++ b/vividus-plugin-rest-api/src/test/java/org/vividus/http/steps/JwtStepsTests.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2023 the original author or authors.
+ * Copyright 2019-2024 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package org.vividus.steps.api;
+package org.vividus.http.steps;
import static org.mockito.Mockito.verify;
diff --git a/vividus-plugin-web-app-to-rest-api/src/test/java/org/vividus/steps/integration/RedirectValidationStepsTests.java b/vividus-plugin-rest-api/src/test/java/org/vividus/http/steps/RedirectValidationStepsTests.java
similarity index 93%
rename from vividus-plugin-web-app-to-rest-api/src/test/java/org/vividus/steps/integration/RedirectValidationStepsTests.java
rename to vividus-plugin-rest-api/src/test/java/org/vividus/http/steps/RedirectValidationStepsTests.java
index e339b7fa6d..99bf083c1b 100644
--- a/vividus-plugin-web-app-to-rest-api/src/test/java/org/vividus/steps/integration/RedirectValidationStepsTests.java
+++ b/vividus-plugin-rest-api/src/test/java/org/vividus/http/steps/RedirectValidationStepsTests.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2023 the original author or authors.
+ * Copyright 2019-2024 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package org.vividus.steps.integration;
+package org.vividus.http.steps;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertFalse;
@@ -43,9 +43,9 @@
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.junit.jupiter.MockitoExtension;
-import org.vividus.http.ExpectedRedirect;
import org.vividus.http.HttpRedirectsProvider;
-import org.vividus.http.RedirectValidationState;
+import org.vividus.http.steps.RedirectValidationSteps.ExpectedRedirect;
+import org.vividus.http.steps.RedirectValidationSteps.RedirectValidationState;
import org.vividus.reporter.event.IAttachmentPublisher;
import org.vividus.softassert.FailableRunnable;
import org.vividus.softassert.ISoftAssert;
@@ -82,10 +82,10 @@ void beforeEach()
{
doAnswer(a ->
{
- FailableRunnable runnable = a.getArgument(0);
+ FailableRunnable> runnable = a.getArgument(0);
runnable.run();
return null;
- }).when(softAssert).runIgnoringTestFailFast(any(FailableRunnable.class));
+ }).when(softAssert).runIgnoringTestFailFast(any());
}
@Test
@@ -98,7 +98,7 @@ void shouldSuccessValidateRedirects() throws IOException
verify(softAssert, never()).recordFailedAssertion(anyString());
RedirectValidationState result = verifyAttachmentAndCaptureResult().get(0);
verifyStartEndActualUrlSet(result, REDIRECT_URL, REDIRECT_URL);
- assertEquals(REDIRECTS_NUMBER, result.getExpectedRedirect().getRedirectsNumber().intValue());
+ assertEquals(REDIRECTS_NUMBER, result.getExpectedRedirect().getRedirectsNumber());
assertEquals(REDIRECTS_NUMBER, result.getActualRedirectsNumber());
assertTrue(result.isPassed());
assertEquals(PASSED_MESSAGE, result.getResultMessage());
@@ -131,7 +131,7 @@ void shouldValidateRedirectsWithWrongRedirectUrl() throws IOException
RedirectValidationState result = verifyAttachmentAndCaptureResult().get(0);
verifyStartEndActualUrlSet(result, REDIRECT_URL, URL_WITH_REDIRECT_RESPONSE);
verify(attachmentPublisher).publishAttachment(anyString(), any(), anyString());
- assertEquals(REDIRECTS_NUMBER, result.getExpectedRedirect().getRedirectsNumber().intValue());
+ assertEquals(REDIRECTS_NUMBER, result.getExpectedRedirect().getRedirectsNumber());
assertFalse(result.isPassed());
assertEquals(FAIL_MESSAGE_FOR_URLS, result.getResultMessage());
}
@@ -180,7 +180,7 @@ void shouldValidateRedirectsWithWrongRedirectNumber() throws IOException
URL_WITH_REDIRECT_RESPONSE, URL_WITH_REDIRECT_RESPONSE, wrongRedirectsNumber, actualRedirectsNumber));
RedirectValidationState result = verifyAttachmentAndCaptureResult().get(0);
verifyStartEndActualUrlSet(result, URL_WITH_REDIRECT_RESPONSE, URL_WITH_REDIRECT_RESPONSE);
- assertEquals(wrongRedirectsNumber, result.getExpectedRedirect().getRedirectsNumber().intValue());
+ assertEquals(wrongRedirectsNumber, result.getExpectedRedirect().getRedirectsNumber());
assertEquals(REDIRECTS_NUMBER, result.getActualRedirectsNumber());
assertFalse(result.isPassed());
assertEquals(FAIL + "different redirects number", result.getResultMessage());
@@ -198,7 +198,7 @@ void shouldValidateRedirectsWithWrongRedirectUrlAndRedirectsNumber() throws IOEx
RedirectValidationState result = verifyAttachmentAndCaptureResult().get(0);
verifyStartEndActualUrlSet(result, REDIRECT_URL, URL_WITH_REDIRECT_RESPONSE);
- assertEquals(wrongRedirectsNumber, result.getExpectedRedirect().getRedirectsNumber().intValue());
+ assertEquals(wrongRedirectsNumber, result.getExpectedRedirect().getRedirectsNumber());
assertFalse(result.isPassed());
assertEquals(FAIL_MESSAGE_FOR_URLS, result.getResultMessage());
}
@@ -224,7 +224,7 @@ void shouldValidateRedirectsWithNoRedirect() throws IOException
private List verifyAttachmentAndCaptureResult()
{
verify(attachmentPublisher).publishAttachment(
- eq("/org/vividus/steps/integration/redirect-validation-test-report.ftl"),
+ eq("/org/vividus/http/steps/attachment/redirect-validation-test-report.ftl"),
resultCaptor.capture(), eq(REDIRECT_VALIDATION));
return resultCaptor.getValue().get("results");
}
@@ -232,7 +232,7 @@ private List verifyAttachmentAndCaptureResult()
private static List initParameters(URI endUrl, Integer redirectsNumber)
{
ExpectedRedirect expectedRedirect = new ExpectedRedirect();
- expectedRedirect.setStartUrl(RedirectValidationStepsTests.URL_WITH_REDIRECT_RESPONSE);
+ expectedRedirect.setStartUrl(URL_WITH_REDIRECT_RESPONSE);
expectedRedirect.setEndUrl(endUrl);
expectedRedirect.setRedirectsNumber(redirectsNumber);
return Collections.singletonList(expectedRedirect);
@@ -240,8 +240,7 @@ private static List initParameters(URI endUrl, Integer redirec
private static void verifyStartEndActualUrlSet(RedirectValidationState result, URI end, URI actual)
{
- assertEquals(RedirectValidationStepsTests.URL_WITH_REDIRECT_RESPONSE,
- result.getExpectedRedirect().getStartUrl());
+ assertEquals(URL_WITH_REDIRECT_RESPONSE, result.getExpectedRedirect().getStartUrl());
assertEquals(end, result.getExpectedRedirect().getEndUrl());
assertEquals(actual, result.getActualEndUrl());
}
diff --git a/vividus-plugin-rest-api/src/test/java/org/vividus/model/RequestPartTypeTests.java b/vividus-plugin-rest-api/src/test/java/org/vividus/http/steps/RequestPartTypeTests.java
similarity index 69%
rename from vividus-plugin-rest-api/src/test/java/org/vividus/model/RequestPartTypeTests.java
rename to vividus-plugin-rest-api/src/test/java/org/vividus/http/steps/RequestPartTypeTests.java
index ee736f595f..b2b663daa8 100644
--- a/vividus-plugin-rest-api/src/test/java/org/vividus/model/RequestPartTypeTests.java
+++ b/vividus-plugin-rest-api/src/test/java/org/vividus/http/steps/RequestPartTypeTests.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2023 the original author or authors.
+ * Copyright 2019-2024 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package org.vividus.model;
+package org.vividus.http.steps;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertThrows;
@@ -28,6 +28,7 @@
import org.apache.hc.client5.http.entity.mime.StringBody;
import org.apache.hc.core5.http.ContentType;
import org.junit.jupiter.api.Test;
+import org.vividus.http.steps.HttpRequestSteps.RequestPartType;
class RequestPartTypeTests
{
@@ -37,15 +38,15 @@ class RequestPartTypeTests
@Test
void shouldCreateStringPart() throws IOException
{
- String value = "stringValue";
- StringBody part = (StringBody) RequestPartType.STRING.createPart(value, CONTENT_TYPE);
+ var value = "stringValue";
+ var part = (StringBody) RequestPartType.STRING.createPart(value, CONTENT_TYPE);
assertRequestPart(part, value, null);
}
@Test
void shouldNotCreateStringPartWithFileName()
{
- IllegalArgumentException exception = assertThrows(IllegalArgumentException.class,
+ var exception = assertThrows(IllegalArgumentException.class,
() -> RequestPartType.STRING.createPart(null, CONTENT_TYPE, "string-filename"));
assertEquals("'fileName' parameter is not allowed for STRING request part type", exception.getMessage());
}
@@ -53,33 +54,32 @@ void shouldNotCreateStringPartWithFileName()
@Test
void shouldCreateFilePartWithDefaultFileName() throws IOException
{
- String fileName = "requestBody.txt";
- ByteArrayBody part = (ByteArrayBody) RequestPartType.FILE.createPart("/" + fileName, CONTENT_TYPE);
+ var fileName = "requestBody.txt";
+ var part = (ByteArrayBody) RequestPartType.FILE.createPart("/" + fileName, CONTENT_TYPE);
assertRequestPart(part, FILE_CONTENT, fileName);
}
@Test
void shouldCreateFilePartWithCustomFileName() throws IOException
{
- String fileName = "file.txt";
- ByteArrayBody part = (ByteArrayBody) RequestPartType.FILE.createPart("/requestBody.txt", CONTENT_TYPE,
- fileName);
+ var fileName = "file.txt";
+ var part = (ByteArrayBody) RequestPartType.FILE.createPart("/requestBody.txt", CONTENT_TYPE, fileName);
assertRequestPart(part, FILE_CONTENT, fileName);
}
@Test
void shouldCreateBinaryPart() throws IOException
{
- String data = "data";
- String fileName = "binary.txt";
- ByteArrayBody part = (ByteArrayBody) RequestPartType.BINARY.createPart(data, CONTENT_TYPE, fileName);
+ var data = "data";
+ var fileName = "binary.txt";
+ var part = (ByteArrayBody) RequestPartType.BINARY.createPart(data, CONTENT_TYPE, fileName);
assertRequestPart(part, data, fileName);
}
@Test
void shouldNotCreateBinaryPartWithoutFileName()
{
- IllegalArgumentException exception = assertThrows(IllegalArgumentException.class,
+ var exception = assertThrows(IllegalArgumentException.class,
() -> RequestPartType.BINARY.createPart(null, CONTENT_TYPE));
assertEquals("'fileName' parameter is required for BINARY request part type", exception.getMessage());
}
@@ -87,9 +87,11 @@ void shouldNotCreateBinaryPartWithoutFileName()
private void assertRequestPart(AbstractContentBody part, String data, String fileName) throws IOException
{
assertEquals(CONTENT_TYPE, part.getContentType());
- ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
- part.writeTo(byteArrayOutputStream);
- assertEquals(data, byteArrayOutputStream.toString(StandardCharsets.UTF_8));
+ try (var byteArrayOutputStream = new ByteArrayOutputStream())
+ {
+ part.writeTo(byteArrayOutputStream);
+ assertEquals(data, byteArrayOutputStream.toString(StandardCharsets.UTF_8));
+ }
assertEquals(fileName, part.getFilename());
}
}
diff --git a/vividus-plugin-rest-api/src/test/java/org/vividus/http/validation/ResourceValidatorTests.java b/vividus-plugin-rest-api/src/test/java/org/vividus/http/validation/ResourceValidatorTests.java
index 92c7d1b255..4774219bf6 100644
--- a/vividus-plugin-rest-api/src/test/java/org/vividus/http/validation/ResourceValidatorTests.java
+++ b/vividus-plugin-rest-api/src/test/java/org/vividus/http/validation/ResourceValidatorTests.java
@@ -39,8 +39,6 @@
import org.mockito.junit.jupiter.MockitoExtension;
import org.vividus.http.client.HttpResponse;
import org.vividus.http.client.IHttpClient;
-import org.vividus.http.validation.model.CheckStatus;
-import org.vividus.http.validation.model.ResourceValidation;
import org.vividus.softassert.ISoftAssert;
@ExtendWith(MockitoExtension.class)
diff --git a/vividus-plugin-rest-api/src/test/java/org/vividus/steps/ssl/SslStepsTests.java b/vividus-plugin-rest-api/src/test/java/org/vividus/ssl/steps/SslStepsTests.java
similarity index 96%
rename from vividus-plugin-rest-api/src/test/java/org/vividus/steps/ssl/SslStepsTests.java
rename to vividus-plugin-rest-api/src/test/java/org/vividus/ssl/steps/SslStepsTests.java
index e335b2eeb3..a7975312c1 100644
--- a/vividus-plugin-rest-api/src/test/java/org/vividus/steps/ssl/SslStepsTests.java
+++ b/vividus-plugin-rest-api/src/test/java/org/vividus/ssl/steps/SslStepsTests.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2021 the original author or authors.
+ * Copyright 2019-2024 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package org.vividus.steps.ssl;
+package org.vividus.ssl.steps;
import static org.mockito.ArgumentMatchers.argThat;
import static org.mockito.ArgumentMatchers.eq;
diff --git a/vividus-plugin-rest-api/src/test/resources/org/vividus/steps/api/swf.swf b/vividus-plugin-rest-api/src/test/resources/org/vividus/http/steps/swf.swf
similarity index 100%
rename from vividus-plugin-rest-api/src/test/resources/org/vividus/steps/api/swf.swf
rename to vividus-plugin-rest-api/src/test/resources/org/vividus/http/steps/swf.swf
diff --git a/vividus-plugin-web-app-to-rest-api/src/main/java/org/vividus/http/ExpectedRedirect.java b/vividus-plugin-web-app-to-rest-api/src/main/java/org/vividus/http/ExpectedRedirect.java
deleted file mode 100644
index 4315a469b4..0000000000
--- a/vividus-plugin-web-app-to-rest-api/src/main/java/org/vividus/http/ExpectedRedirect.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * Copyright 2019-2023 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.vividus.http;
-
-import java.net.URI;
-
-import org.jbehave.core.annotations.AsParameters;
-
-@AsParameters
-public class ExpectedRedirect
-{
- private URI startUrl;
- private URI endUrl;
- private Integer redirectsNumber;
-
- public URI getStartUrl()
- {
- return startUrl;
- }
-
- public void setStartUrl(URI startUrl)
- {
- this.startUrl = startUrl;
- }
-
- public URI getEndUrl()
- {
- return endUrl;
- }
-
- public void setEndUrl(URI endUrl)
- {
- this.endUrl = endUrl;
- }
-
- public Integer getRedirectsNumber()
- {
- return redirectsNumber;
- }
-
- public void setRedirectsNumber(Integer redirectsNumber)
- {
- this.redirectsNumber = redirectsNumber;
- }
-}
diff --git a/vividus-plugin-web-app-to-rest-api/src/main/java/org/vividus/http/RedirectValidationState.java b/vividus-plugin-web-app-to-rest-api/src/main/java/org/vividus/http/RedirectValidationState.java
deleted file mode 100644
index e817d8b179..0000000000
--- a/vividus-plugin-web-app-to-rest-api/src/main/java/org/vividus/http/RedirectValidationState.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
- * Copyright 2019-2023 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.vividus.http;
-
-import java.net.URI;
-import java.util.List;
-
-public class RedirectValidationState
-{
- private final ExpectedRedirect expectedRedirect;
-
- private URI actualEndUrl;
- private int actualRedirectsNumber = -1;
- private List redirects;
-
- private String resultMessage = "Passed";
- private boolean passed = true;
-
- public RedirectValidationState(ExpectedRedirect expectedRedirect)
- {
- this.expectedRedirect = expectedRedirect;
- }
-
- public void fail(String resultMessage)
- {
- this.resultMessage = "Fail: " + resultMessage;
- passed = false;
- }
-
- public void pass(String resultMessage)
- {
- this.resultMessage = "Passed: " + resultMessage;
- }
-
- public ExpectedRedirect getExpectedRedirect()
- {
- return expectedRedirect;
- }
-
- public URI getActualEndUrl()
- {
- return actualEndUrl;
- }
-
- public void setActualEndUrl(URI actualEndUrl)
- {
- this.actualEndUrl = actualEndUrl;
- }
-
- public boolean isPassed()
- {
- return passed;
- }
-
- public String getResultMessage()
- {
- return resultMessage;
- }
-
- public int getActualRedirectsNumber()
- {
- return actualRedirectsNumber;
- }
-
- public void setActualRedirectsNumber(int actualRedirectsNumber)
- {
- this.actualRedirectsNumber = actualRedirectsNumber;
- }
-
- public List getRedirects()
- {
- return redirects;
- }
-
- public void setRedirects(List redirects)
- {
- this.redirects = redirects;
- }
-}
diff --git a/vividus-plugin-web-app-to-rest-api/src/main/java/org/vividus/steps/integration/ResourceCheckSteps.java b/vividus-plugin-web-app-to-rest-api/src/main/java/org/vividus/steps/integration/ResourceCheckSteps.java
index b903d2bca5..7ffb9ef2c2 100644
--- a/vividus-plugin-web-app-to-rest-api/src/main/java/org/vividus/steps/integration/ResourceCheckSteps.java
+++ b/vividus-plugin-web-app-to-rest-api/src/main/java/org/vividus/steps/integration/ResourceCheckSteps.java
@@ -43,8 +43,8 @@
import org.vividus.http.HttpMethod;
import org.vividus.http.HttpRequestExecutor;
import org.vividus.http.HttpTestContext;
+import org.vividus.http.validation.CheckStatus;
import org.vividus.http.validation.ResourceValidator;
-import org.vividus.http.validation.model.CheckStatus;
import org.vividus.reporter.event.AttachmentPublisher;
import org.vividus.softassert.ISoftAssert;
import org.vividus.testcontext.ContextCopyingExecutor;
diff --git a/vividus-plugin-web-app-to-rest-api/src/main/java/org/vividus/validator/model/ResourceValidationError.java b/vividus-plugin-web-app-to-rest-api/src/main/java/org/vividus/validator/model/ResourceValidationError.java
index 557eba2873..06cba5ace6 100644
--- a/vividus-plugin-web-app-to-rest-api/src/main/java/org/vividus/validator/model/ResourceValidationError.java
+++ b/vividus-plugin-web-app-to-rest-api/src/main/java/org/vividus/validator/model/ResourceValidationError.java
@@ -18,7 +18,7 @@
import java.util.function.Consumer;
-import org.vividus.http.validation.model.CheckStatus;
+import org.vividus.http.validation.CheckStatus;
public enum ResourceValidationError
{
diff --git a/vividus-plugin-web-app-to-rest-api/src/main/java/org/vividus/validator/model/WebPageResourceValidation.java b/vividus-plugin-web-app-to-rest-api/src/main/java/org/vividus/validator/model/WebPageResourceValidation.java
index da1827bc5a..dbe6e59a07 100644
--- a/vividus-plugin-web-app-to-rest-api/src/main/java/org/vividus/validator/model/WebPageResourceValidation.java
+++ b/vividus-plugin-web-app-to-rest-api/src/main/java/org/vividus/validator/model/WebPageResourceValidation.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2023 the original author or authors.
+ * Copyright 2019-2024 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -20,7 +20,7 @@
import java.util.Comparator;
import org.apache.commons.lang3.tuple.Pair;
-import org.vividus.http.validation.model.AbstractResourceValidation;
+import org.vividus.http.validation.AbstractResourceValidation;
public class WebPageResourceValidation extends AbstractResourceValidation
{
diff --git a/vividus-plugin-web-app-to-rest-api/src/main/resources/properties/defaults/default.properties b/vividus-plugin-web-app-to-rest-api/src/main/resources/properties/defaults/default.properties
index 6d85801ea2..e81da17ceb 100644
--- a/vividus-plugin-web-app-to-rest-api/src/main/resources/properties/defaults/default.properties
+++ b/vividus-plugin-web-app-to-rest-api/src/main/resources/properties/defaults/default.properties
@@ -1,5 +1,3 @@
-http.redirects-provider.circular-redirects-allowed=false
-
sitemap.parser.site-url=
sitemap.parser.base-url=
sitemap.parser.follow-redirects=true
diff --git a/vividus-plugin-web-app-to-rest-api/src/main/resources/resources-validation-result.ftl b/vividus-plugin-web-app-to-rest-api/src/main/resources/resources-validation-result.ftl
index 0f07bbdce7..4afa3ec4c8 100644
--- a/vividus-plugin-web-app-to-rest-api/src/main/resources/resources-validation-result.ftl
+++ b/vividus-plugin-web-app-to-rest-api/src/main/resources/resources-validation-result.ftl
@@ -79,7 +79,7 @@
Status code: ${(result.statusCode.isPresent())?then(result.statusCode.getAsInt(),'N/A')}
- <#include "resources-response-body-fragment.ftl">
+ <#include "org/vividus/http/steps/attachment/resources-response-body-fragment.ftl">
|
<#assign pageURL = result.pageURL>
diff --git a/vividus-plugin-web-app-to-rest-api/src/main/resources/vividus-plugin/spring.xml b/vividus-plugin-web-app-to-rest-api/src/main/resources/vividus-plugin/spring.xml
index f676e61d4b..b6261ba701 100644
--- a/vividus-plugin-web-app-to-rest-api/src/main/resources/vividus-plugin/spring.xml
+++ b/vividus-plugin-web-app-to-rest-api/src/main/resources/vividus-plugin/spring.xml
@@ -19,28 +19,12 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -112,7 +96,6 @@
-
diff --git a/vividus-plugin-web-app-to-rest-api/src/test/java/org/vividus/steps/integration/ResourceCheckStepsTests.java b/vividus-plugin-web-app-to-rest-api/src/test/java/org/vividus/steps/integration/ResourceCheckStepsTests.java
index 4bd9bca1cd..201fd66854 100644
--- a/vividus-plugin-web-app-to-rest-api/src/test/java/org/vividus/steps/integration/ResourceCheckStepsTests.java
+++ b/vividus-plugin-web-app-to-rest-api/src/test/java/org/vividus/steps/integration/ResourceCheckStepsTests.java
@@ -63,8 +63,8 @@
import org.vividus.http.HttpRequestExecutor;
import org.vividus.http.HttpTestContext;
import org.vividus.http.client.HttpResponse;
+import org.vividus.http.validation.CheckStatus;
import org.vividus.http.validation.ResourceValidator;
-import org.vividus.http.validation.model.CheckStatus;
import org.vividus.reporter.event.AttachmentPublisher;
import org.vividus.softassert.FailableRunnable;
import org.vividus.softassert.ISoftAssert;
diff --git a/vividus-tests/src/main/resources/story/integration/RedirectValidationSteps.story b/vividus-tests/src/main/resources/story/integration/HTTP Redirects.story
similarity index 94%
rename from vividus-tests/src/main/resources/story/integration/RedirectValidationSteps.story
rename to vividus-tests/src/main/resources/story/integration/HTTP Redirects.story
index 7aabca6137..59d9d91ae5 100644
--- a/vividus-tests/src/main/resources/story/integration/RedirectValidationSteps.story
+++ b/vividus-tests/src/main/resources/story/integration/HTTP Redirects.story
@@ -1,7 +1,7 @@
Description: Integration tests for RedirectValidationSteps class
Meta:
- @epic vividus-plugin-rest-to-web-api
+ @epic vividus-plugin-rest-api
Scenario: Step verification "Then I validate HTTP redirects: $expectedRedirects" with redirects number
Then I validate HTTP redirects:
|