From 72053087528680d389f3b4284685f849ccc7a98d Mon Sep 17 00:00:00 2001 From: Ansar Daku Date: Thu, 10 Mar 2022 13:18:37 +0600 Subject: [PATCH 1/9] [458] PoC for multithread issue --- .../services/AlphaVantageFinanceService.java | 2 +- .../jdi/services/AuthorizationPostman.java | 16 +- .../jdi/services/CurrencyRatesService.java | 4 +- .../com/epam/jdi/services/DuckDuckGo.java | 2 +- .../com/epam/jdi/services/GQLService.java | 2 +- .../com/epam/jdi/services/GoogleSearch.java | 3 +- .../com/epam/jdi/services/JettyService.java | 216 +++++++++--------- .../epam/jdi/services/JettyServiceHttps.java | 12 +- .../com/epam/jdi/services/PostmanAuth.java | 12 +- .../com/epam/jdi/services/QuotesService.java | 2 +- .../com/epam/jdi/services/RestService.java | 2 +- .../epam/jdi/services/RetryingService.java | 10 +- .../com/epam/jdi/services/ServiceExample.java | 5 +- .../services/ServiceNoDomainAnnotation.java | 1 - .../com/epam/jdi/services/TrelloService.java | 60 ++--- .../epam/jdi/soap/DneOnlineCalculator.java | 8 +- .../java/com/epam/jdi/soap/GeoServices.java | 4 +- .../com/epam/jdi/soap/HerongYangService.java | 10 +- .../jdi/soap/NumberConversionService.java | 8 +- .../java/com/epam/jdi/soap/YandexSpeller.java | 4 +- .../httptests/examples/DomainSwitchTest.java | 36 +-- .../GoogleSearchGetChangingDomainTests.java | 49 ++-- .../jdi/httptests/examples/ServiceTests.java | 25 +- .../custom/AdvancedValidationTests.java | 18 +- .../examples/custom/DataMethodTests.java | 17 +- .../custom/ErrorMessageTrelloTests.java | 18 +- .../examples/custom/JSONPostTests.java | 49 ++-- .../custom/PreconditionParallelTests.java | 33 +-- .../examples/custom/PreconditionTests.java | 24 +- .../examples/custom/ResponseTests.java | 52 ++--- .../customsettings/AuthenticationTests.java | 26 +-- .../examples/customsettings/ConfigITests.java | 24 +- .../CustomAuthenticationTests.java | 11 +- .../customsettings/ErrorHandlerTests.java | 11 +- .../customsettings/HttpClientConfigTest.java | 9 +- .../customsettings/LoggingCustomizeTests.java | 5 +- .../customsettings/PostmanAuthTests.java | 47 ++-- .../examples/customsettings/ProxyTests.java | 9 +- .../SslAnnotationAndRequestDataTests.java | 19 +- .../examples/customsettings/SslTests.java | 8 +- .../SslWithCertificateTests.java | 15 +- .../DuckToGoRedeclareDomainToGoogleTest.java | 8 +- .../ObjectMappingForServiceTests.java | 19 +- .../ObjectMappingForWholeProjectTests.java | 11 +- .../examples/entities/TrelloTests.java | 41 ++-- .../AlphaVantageFinanceQueryParamsTest.java | 16 +- .../requestparams/ContentTypeTests.java | 86 +++---- .../examples/requestparams/CookiesTests.java | 75 +++--- ...atesServiceWithQueryAndPathParamsTest.java | 22 +- .../examples/requestparams/DeleteTest.java | 17 +- .../GoogleSearchWithParamsTest.java | 11 +- .../examples/requestparams/HeaderTests.java | 50 ++-- .../requestparams/MultiPartUploadTests.java | 14 +- .../examples/requestparams/NegativeTests.java | 11 +- .../examples/requestparams/ParamTests.java | 38 +-- .../requestparams/PathParamTests.java | 56 ++--- ...viceStaticAndInstanceRestMethodsTests.java | 32 ++- .../examples/requestparams/RedirectTests.java | 13 +- .../examples/requestsretry/RetryTest.java | 20 +- .../examples/rest/SimpleGQLTest.java | 8 +- .../httptests/examples/rest/SimpleTest.java | 8 +- .../soap/DneOnlineCalculatorTests.java | 19 +- .../examples/soap/GeoServicesTests.java | 15 +- .../examples/soap/HerongYangServiceTests.java | 20 +- .../soap/NumberConversionServiceTest.java | 21 +- .../examples/soap/YandexSpellerSOAPTests.java | 18 +- .../performance/PerformanceTests.java | 16 +- .../httptests/support/TwoServicesInit.java | 17 -- .../epam/jdi/httptests/support/WithJetty.java | 6 + .../support/WithJettyWebSockets.java | 1 + 70 files changed, 718 insertions(+), 859 deletions(-) delete mode 100644 jdi-dark-tests/src/test/java/com/epam/jdi/httptests/support/TwoServicesInit.java diff --git a/jdi-dark-tests/src/main/java/com/epam/jdi/services/AlphaVantageFinanceService.java b/jdi-dark-tests/src/main/java/com/epam/jdi/services/AlphaVantageFinanceService.java index 5555386c..91db6a01 100644 --- a/jdi-dark-tests/src/main/java/com/epam/jdi/services/AlphaVantageFinanceService.java +++ b/jdi-dark-tests/src/main/java/com/epam/jdi/services/AlphaVantageFinanceService.java @@ -6,5 +6,5 @@ @ServiceDomain("https://www.alphavantage.co/query") public class AlphaVantageFinanceService { - @GET public static RestMethod getQuotes; + @GET public RestMethod getQuotes; } diff --git a/jdi-dark-tests/src/main/java/com/epam/jdi/services/AuthorizationPostman.java b/jdi-dark-tests/src/main/java/com/epam/jdi/services/AuthorizationPostman.java index 2e510cf4..4c565bcf 100644 --- a/jdi-dark-tests/src/main/java/com/epam/jdi/services/AuthorizationPostman.java +++ b/jdi-dark-tests/src/main/java/com/epam/jdi/services/AuthorizationPostman.java @@ -15,33 +15,33 @@ public class AuthorizationPostman { @ContentType(JSON) @GET("basic-auth") - public static RestMethod postmanAuthBasic; + public RestMethod postmanAuthBasic; - public static RestResponse callPostmanServiceAuthBasic() { + public RestResponse callPostmanServiceAuthBasic() { return postmanAuthBasic.call(); } - public static RestResponse callPostmanAuthBasic(AuthenticationScheme authenticationScheme) { + public RestResponse callPostmanAuthBasic(AuthenticationScheme authenticationScheme) { return postmanAuthBasic.data(auth(authenticationScheme)).call(); } @ContentType(JSON) @GET("oauth1") - public static RestMethod postmanAuthCustom; + public RestMethod postmanAuthCustom; - public static RestResponse callPostmanServiceCustomAuth() { + public RestResponse callPostmanServiceCustomAuth() { return postmanAuthCustom.call(); } - public static RestResponse callPostmanCustomAuth(AuthenticationScheme authenticationScheme) { + public RestResponse callPostmanCustomAuth(AuthenticationScheme authenticationScheme) { return postmanAuthCustom.data(auth(authenticationScheme)).call(); } @ContentType(JSON) @GET("digest-auth") - public static RestMethod postmanAuthDigest; + public RestMethod postmanAuthDigest; - public static RestResponse callPostmanDigestAuth(AuthenticationScheme authenticationScheme) { + public RestResponse callPostmanDigestAuth(AuthenticationScheme authenticationScheme) { return postmanAuthBasic.data(auth(authenticationScheme)).call(); } } diff --git a/jdi-dark-tests/src/main/java/com/epam/jdi/services/CurrencyRatesService.java b/jdi-dark-tests/src/main/java/com/epam/jdi/services/CurrencyRatesService.java index a70509ed..444d5ad8 100644 --- a/jdi-dark-tests/src/main/java/com/epam/jdi/services/CurrencyRatesService.java +++ b/jdi-dark-tests/src/main/java/com/epam/jdi/services/CurrencyRatesService.java @@ -9,8 +9,8 @@ public class CurrencyRatesService { @GET("/latest") - public static RestMethod latest; + public RestMethod latest; @GET("/{date}") - public static RestMethod historical; + public RestMethod historical; } diff --git a/jdi-dark-tests/src/main/java/com/epam/jdi/services/DuckDuckGo.java b/jdi-dark-tests/src/main/java/com/epam/jdi/services/DuckDuckGo.java index b5a2fd1e..004197e4 100644 --- a/jdi-dark-tests/src/main/java/com/epam/jdi/services/DuckDuckGo.java +++ b/jdi-dark-tests/src/main/java/com/epam/jdi/services/DuckDuckGo.java @@ -7,5 +7,5 @@ @ServiceDomain("https://duckduckgo.com/") public class DuckDuckGo { @GET - public static RestMethod simpleGet; + public RestMethod simpleGet; } \ No newline at end of file diff --git a/jdi-dark-tests/src/main/java/com/epam/jdi/services/GQLService.java b/jdi-dark-tests/src/main/java/com/epam/jdi/services/GQLService.java index 2369cf5b..d4d4bdc8 100644 --- a/jdi-dark-tests/src/main/java/com/epam/jdi/services/GQLService.java +++ b/jdi-dark-tests/src/main/java/com/epam/jdi/services/GQLService.java @@ -9,6 +9,6 @@ public class GQLService { @POST("/simple/v1/cjrqzet3c0fc30162tgt8wzf4/") @ContentType(io.restassured.http.ContentType.JSON) - public static RestMethod simple; + public RestMethod simple; } \ No newline at end of file diff --git a/jdi-dark-tests/src/main/java/com/epam/jdi/services/GoogleSearch.java b/jdi-dark-tests/src/main/java/com/epam/jdi/services/GoogleSearch.java index 90dcd6d5..206afdc4 100644 --- a/jdi-dark-tests/src/main/java/com/epam/jdi/services/GoogleSearch.java +++ b/jdi-dark-tests/src/main/java/com/epam/jdi/services/GoogleSearch.java @@ -8,7 +8,8 @@ public class GoogleSearch { @GET(value = "search") - public static RestMethod search; + public RestMethod search; + @GET public RestMethod searchInstanceMethod; diff --git a/jdi-dark-tests/src/main/java/com/epam/jdi/services/JettyService.java b/jdi-dark-tests/src/main/java/com/epam/jdi/services/JettyService.java index 11c71c5f..17062a82 100644 --- a/jdi-dark-tests/src/main/java/com/epam/jdi/services/JettyService.java +++ b/jdi-dark-tests/src/main/java/com/epam/jdi/services/JettyService.java @@ -14,7 +14,11 @@ import java.util.List; import java.util.Map; -import static com.epam.http.requests.RequestDataFactory.*; +import static com.epam.http.requests.RequestDataFactory.cookies; +import static com.epam.http.requests.RequestDataFactory.formParams; +import static com.epam.http.requests.RequestDataFactory.headers; +import static com.epam.http.requests.RequestDataFactory.pathParams; +import static com.epam.http.requests.RequestDataFactory.queryParams; import static io.restassured.http.ContentType.JSON; import static io.restassured.http.ContentType.TEXT; import static io.restassured.http.ContentType.URLENC; @@ -23,140 +27,140 @@ public class JettyService { @GET("/multiCookie") - public static RestMethod getMultiCookie; + public RestMethod getMultiCookie; @GET("/multiCookieRequest") - public static RestMethod getMultiCookieRequest; + public RestMethod getMultiCookieRequest; @GET("/setCookies") - public static RestMethod setCookies; + public RestMethod setCookies; @GET("/cookie_with_no_value") - public static RestMethod getCookieWithNoValue; + public RestMethod getCookieWithNoValue; @GET("/response_cookie_with_no_value") - public static RestMethod getResponseCookieWithNoValue; + public RestMethod getResponseCookieWithNoValue; @GET("/cookie") - public static RestMethod getCookie; + public RestMethod getCookie; - public static RestResponse getMultipleCookieSpecifiedUsingMap(Map cookieMap, String addCookieName, String addCookieValue) { - return JettyService.getCookie.call(cookies().addAll(cookieMap).cookieUpdater().add(addCookieName, addCookieValue)); + public RestResponse getMultipleCookieSpecifiedUsingMap(Map cookieMap, String addCookieName, String addCookieValue) { + return getCookie.call(cookies().addAll(cookieMap).cookieUpdater().add(addCookieName, addCookieValue)); } - public static RestResponse getSpecifiedCookiePairs(String namePair1, String valuePair1, String namePair2, String valuePair2) { + public RestResponse getSpecifiedCookiePairs(String namePair1, String valuePair1, String namePair2, String valuePair2) { return getCookie.call(cookies().addAll(new Object[][]{{namePair1, valuePair1}, {namePair2, valuePair2}})); } @GET("/cookie") @Cookie(name = "username", value = "John") @Cookie(name = "token", value = "1234") - public static RestMethod getCookieWithCookies; + public RestMethod getCookieWithCookies; @PUT("/cookie") - public static RestMethod putCookie; + public RestMethod putCookie; @POST("/reflect") - public static RestMethod postReflect; + public RestMethod postReflect; - public static RestResponse postReflectWithBody(Object body) { + public RestResponse postReflectWithBody(Object body) { return postReflect.call(rd -> rd.setBody(body)); } - public static RestResponse postEmptyCookie(String name) { + public RestResponse postEmptyCookie(String name) { return postReflect.call(cookies().add(name)); } - public static RestResponse postSpecifiedCookie(String name, String value) { + public RestResponse postSpecifiedCookie(String name, String value) { return postReflect.call(cookies().add(name, value)); } @GET("/html_with_cookie") - public static RestMethod getHtmlWithCookie; + public RestMethod getHtmlWithCookie; @GET("/setCommonIdCookies") - public static RestMethod getCommonIdCookies; + public RestMethod getCommonIdCookies; @GET("/header") - public static RestMethod getHeader; + public RestMethod getHeader; @GET("/multiValueHeader") - public static RestMethod getMultiValueHeader; + public RestMethod getMultiValueHeader; @GET("/multiHeaderReflect") - public static RestMethod getMultiHeaderReflect; + public RestMethod getMultiHeaderReflect; - public static RestResponse getWithMultipleHeaders( + public RestResponse getWithMultipleHeaders( io.restassured.http.Header... headerObjects) { return getMultiHeaderReflect.call(headers().addAll(headerObjects)); } - public static RestResponse getWithMultipleHeaders( + public RestResponse getWithMultipleHeaders( Object[][] headers) { return getMultiHeaderReflect.call(headers().addAll(headers)); } - public static RestResponse getWithSingleHeader( + public RestResponse getWithSingleHeader( String name, String value, String... additionalValues) { return getMultiHeaderReflect.call(headers().add(name, value).headerUpdater().add(name, additionalValues)); } @DELETE("/cookie") - public static RestMethod deleteCookie; + public RestMethod deleteCookie; @GET("/greet") - public static RestDataMethod getGreetingItselfObject; + public RestDataMethod getGreetingItselfObject; @GET("/greet") - public static RestMethod getGreet; + public RestMethod getGreet; - public static RestResponse getGreetWithMapOfQueryParams(Map queryParamsMap) { + public RestResponse getGreetWithMapOfQueryParams(Map queryParamsMap) { return getGreet.call(rd -> rd.queryParams.addAll(queryParamsMap)); } @DELETE("/greet") - public static RestMethod deleteGreet; + public RestMethod deleteGreet; @DELETE("/body") - public static RestMethod deleteBody; + public RestMethod deleteBody; @POST("/greetXML") @ContentType(URLENC) - public static RestMethod postGreetXml; + public RestMethod postGreetXml; @ContentType(JSON) @POST("/jsonBody") - public static RestMethod jsonBodyPost; + public RestMethod jsonBodyPost; - public static RestResponse jsonBodyPost(String body) { + public RestResponse jsonBodyPost(String body) { return jsonBodyPost.call(rd -> rd.setBody(body)); } @POST("/secured/hello") - public static RestMethod unauthorizedPost; + public RestMethod unauthorizedPost; @POST("/cookie") - public static RestMethod cookiePost; + public RestMethod cookiePost; - public static RestResponse cookiePost(Map cookiesMap) { + public RestResponse cookiePost(Map cookiesMap) { return cookiePost.call(cookies().addAll(cookiesMap)); } @POST("/param-reflect") - public static RestMethod paramUrlPost; + public RestMethod paramUrlPost; @ContentType(TEXT) @POST("/body") - public static RestMethod bodyPost; + public RestMethod bodyPost; - public static RestResponse bodyPost(Object body) { + public RestResponse bodyPost(Object body) { return postReflect.call(rd -> rd.setBody(body)); } @POST("/greet") - public static RestMethod greetPost; + public RestMethod greetPost; - public static RestResponse greetPostWithContentTypeAndMapOfFormParams( + public RestResponse greetPostWithContentTypeAndMapOfFormParams( String contentType, Map formParamsMap) { return greetPost.call(rd -> { rd.setContentType(contentType); @@ -164,114 +168,114 @@ public static RestResponse greetPostWithContentTypeAndMapOfFormParams( }); } - public static RestResponse greetPostWithStringOfQueryParams(String queryParams) { + public RestResponse greetPostWithStringOfQueryParams(String queryParams) { return greetPost.queryParams(queryParams).call(); } - public static RestResponse greetPost(Object[][] queryParams) { + public RestResponse greetPost(Object[][] queryParams) { return greetPost.call(queryParams().addAll(queryParams)); } @POST("/notexist") - public static RestMethod notFoundedURIPost; + public RestMethod notFoundedURIPost; @POST("/header") @Header(name = "MyHeader", value = "Something") - public static RestMethod headerPost; + public RestMethod headerPost; @GET("/hello") - public static RestMethod getHello; + public RestMethod getHello; @GET("/secured/hello") - public static RestDataMethod getSecuredHelloObject; + public RestDataMethod getSecuredHelloObject; @GET("/secured/hello") - public static RestMethod getSecuredHello; + public RestMethod getSecuredHello; @QueryParameter(name = "firstName", value = "John") @QueryParameter(name = "lastName", value = "Doe") @GET("/greetXML") - public static RestMethod getGreetXml; + public RestMethod getGreetXml; @GET("/mimeTypeWithPlusJson") - public static RestMethod getMimeType; + public RestMethod getMimeType; @GET("/shopping") - public static RestMethod getShopping; + public RestMethod getShopping; @GET("/products") - public static RestMethod getProducts; + public RestMethod getProducts; - public static List getProducts() { + public List getProducts() { return Arrays.asList(getProducts.callAsData(Product[].class)); } @GET("/products") - public static RestDataMethod> getProductsAsList; + public RestDataMethod> getProductsAsList; @GET("/products") - public static RestDataMethod getProductsAsArray; + public RestDataMethod getProductsAsArray; @GET("/jsonStore") - public static RestMethod getJsonStore; + public RestMethod getJsonStore; @GET("/contentTypeAsBody") - public static RestMethod getContentTypeAsBody; + public RestMethod getContentTypeAsBody; @POST("/return204WithContentType") @ContentType(JSON) - public static RestMethod postReturn204WithContentType; + public RestMethod postReturn204WithContentType; @GET("/headersWithValues") - public static RestMethod getHeadersWithValues; + public RestMethod getHeadersWithValues; @GET("/lotto") - public static RestMethod getLotto; + public RestMethod getLotto; @GET("/noValueParam") - public static RestMethod getNoValueParam; + public RestMethod getNoValueParam; - public static RestResponse getNoValueParamWithKeyValueQueryParam(String paramName, String paramValue) { + public RestResponse getNoValueParamWithKeyValueQueryParam(String paramName, String paramValue) { return getNoValueParam.call(rd -> rd.queryParams.add(paramName, paramValue)); } - public static RestResponse getNoValueParamWithStringQueryParams(String queryParam) { + public RestResponse getNoValueParamWithStringQueryParams(String queryParam) { return getNoValueParam.queryParams(queryParam).call(); } @PUT("/noValueParam") - public static RestMethod putNoValueParam; + public RestMethod putNoValueParam; - public static RestResponse putNoValueParamWithKeyValueFormParam( + public RestResponse putNoValueParamWithKeyValueFormParam( String formParamKey, String formParamValue) { return putNoValueParam.call(formParams().add(formParamKey, formParamValue)); } @POST("/noValueParam") - public static RestMethod postNoValueParam; + public RestMethod postNoValueParam; - public static RestResponse postNoValueParamWithKeyValueFormParam( + public RestResponse postNoValueParamWithKeyValueFormParam( String formParamKey, String formParamValue) { return postNoValueParam.call(formParams().add(formParamKey, formParamValue)); } - public static RestResponse postNoValueParamWithMapOfFormParams(Map formParamsMap) { + public RestResponse postNoValueParamWithMapOfFormParams(Map formParamsMap) { return postNoValueParam.call(formParams().addAll(formParamsMap)); } @POST("/noValueParam") @FormParameter(name = "some1", value = "one") - public static RestMethod postNoValueParamWithPreDefinedFormParam; + public RestMethod postNoValueParamWithPreDefinedFormParam; - public static RestResponse postNoValueParamWithPreDefinedFormParamAndNewKeyValueParam( + public RestResponse postNoValueParamWithPreDefinedFormParamAndNewKeyValueParam( String formParamKey, String formParamValue) { return postNoValueParamWithPreDefinedFormParam.call(formParams().add(formParamKey, formParamValue)); } @POST("/charEncoding") - public static RestMethod postCharEncoding; + public RestMethod postCharEncoding; - public static RestResponse postCharEncodingWithContentTypeAndKeyValueFormParam( + public RestResponse postCharEncodingWithContentTypeAndKeyValueFormParam( String contentType, String formParamKey, String formParamValue) { return postCharEncoding.call(rd -> { rd.setContentType(contentType); @@ -281,73 +285,73 @@ public static RestResponse postCharEncodingWithContentTypeAndKeyValueFormParam( @POST("/reflect") @ContentType(JSON) - public static RestMethod postObject; + public RestMethod postObject; @GET("/redirect") @Header(name = "Redirect_test_header", value = "Redirect_test_header_value") - public static RestMethod getRedirect; + public RestMethod getRedirect; @GET("/{firstName}/{lastName}") - public static RestDataMethod getUserObject; + public RestDataMethod getUserObject; @GET("/{firstName}/{lastName}") - public static RestMethod getUser; + public RestMethod getUser; - public static RestResponse getUserPathParamsSetByArray(Object[][] array) { + public RestResponse getUserPathParamsSetByArray(Object[][] array) { return getUser.call(pathParams().addAll(array)); } - public static RestResponse getUserPathParamsSetByMap(Map params) { + public RestResponse getUserPathParamsSetByMap(Map params) { return getUser.call(pathParams().addAll(params)); } @GET("/{firstName}/{firstName}") - public static RestMethod getUserSameParameters; + public RestMethod getUserSameParameters; - public static RestResponse getUserSameParametersSetByArray(Object[][] array) { + public RestResponse getUserSameParametersSetByArray(Object[][] array) { return getUserSameParameters .call(pathParams().addAll(array)); } @GET("/{firstName}/{middleName}/{lastName}") - public static RestMethod getUserWithLastName; + public RestMethod getUserWithLastName; @URL("http://www.google.se") @GET("/search?q={query}&hl=en") - public static RestMethod searchGoogle; + public RestMethod searchGoogle; @GET("/{channelName}/item-import/rss/import?source={url}") - public static RestMethod getMixedParam; + public RestMethod getMixedParam; @GET("/{path}.json") - public static RestMethod getParamBeforePath; + public RestMethod getParamBeforePath; @GET("/something.{format}") - public static RestMethod getParamAfterPath; + public RestMethod getParamAfterPath; @GET("/matrix;{abcde}={value}") - public static RestMethod getMatrix; + public RestMethod getMatrix; @GET("/cookie_with_no_value") @Cookie(name = "some_cookie") - public static RestMethod getCookieWithNoValueWithCookies; + public RestMethod getCookieWithNoValueWithCookies; @GET("/multiCookieRequest") @Cookie(name = "key1", value = "value1", additionalValues = "value2") - public static RestMethod getMultiCookieWithCookies; + public RestMethod getMultiCookieWithCookies; @GET("/multiCookieRequest") @Cookie(name = "key1", value = "value1", additionalValues = "value2") @Cookie(name = "key2") @Cookie(name = "key3", value = "value3") @Cookie(name = "key4", value = "value4") - public static RestMethod getMultiCookieWithManyCookies; + public RestMethod getMultiCookieWithManyCookies; @POST("/multipart/file") @MultiPart(controlName = "file", fileName = "myFile") - public static RestMethod postMultiPartFile; + public RestMethod postMultiPartFile; - public static RestResponse postMultiPartFile(byte[] file, String fileName) { + public RestResponse postMultiPartFile(byte[] file, String fileName) { postMultiPartFile.multipart(file); postMultiPartFile.multipart(fileName); return postMultiPartFile.call(); @@ -355,18 +359,18 @@ public static RestResponse postMultiPartFile(byte[] file, String fileName) { @POST("/multipart/file") @MultiPart(filePath = "/src/test/resources/car-records.xsd") - public static RestMethod postMultipartFileCar; + public RestMethod postMultipartFileCar; @POST("/multipart/text") - public static RestMethod postMultiPartText; + public RestMethod postMultiPartText; @GET("/textHTML") - public static RestMethod getTextHtml; + public RestMethod getTextHtml; @POST("/multipart/multiple") - public static RestMethod postMultiPartMultiple; + public RestMethod postMultiPartMultiple; - public static RestResponse postMultiPartMultipleWithFormParamsAndMPBuilders(Map formParamsMap, + public RestResponse postMultiPartMultipleWithFormParamsAndMPBuilders(Map formParamsMap, MultiPartSpecBuilder... multiPartSpecBuilders) { return postMultiPartMultiple.call(rd -> { rd.formParams.addAll(formParamsMap); @@ -375,35 +379,35 @@ public static RestResponse postMultiPartMultipleWithFormParamsAndMPBuilders(Map< } @GET("/returnContentTypeAsBody") - public static RestMethod getReturnContentTypeAsBody; + public RestMethod getReturnContentTypeAsBody; @POST("/textUriList") - public static RestMethod postTextUriList; + public RestMethod postTextUriList; @PUT("/reflect") - public static RestMethod putReflect; + public RestMethod putReflect; @POST("/contentTypeAsBody") - public static RestMethod postContentTypeAsBody; + public RestMethod postContentTypeAsBody; @GET("/reflect") - public static RestMethod getReflect; + public RestMethod getReflect; @POST("/returnContentTypeAsBody") - public static RestMethod postReturnContentTypeAsBody; + public RestMethod postReturnContentTypeAsBody; @POST("/jsonBodyAcceptHeader") - public static RestMethod postJsonBodyAcceptHeader; + public RestMethod postJsonBodyAcceptHeader; - public static RestResponse postJsonBodyAcceptHeader(String headerName, String headerValue, String body) { + public RestResponse postJsonBodyAcceptHeader(String headerName, String headerValue, String body) { return postJsonBodyAcceptHeader.call(headers().add(headerName, headerValue).setBody(body)); } @GET("/greetJSON") @Proxy(host = "127.0.0.1", port = 8888, scheme = "http") - public static RestMethod getGreenJSONWithProxyParams; + public RestMethod getGreenJSONWithProxyParams; @GET("/greetJSON") - public static RestMethod getGreenJSON; + public RestMethod getGreenJSON; } diff --git a/jdi-dark-tests/src/main/java/com/epam/jdi/services/JettyServiceHttps.java b/jdi-dark-tests/src/main/java/com/epam/jdi/services/JettyServiceHttps.java index 306a14ff..b21e0d37 100644 --- a/jdi-dark-tests/src/main/java/com/epam/jdi/services/JettyServiceHttps.java +++ b/jdi-dark-tests/src/main/java/com/epam/jdi/services/JettyServiceHttps.java @@ -15,23 +15,23 @@ public class JettyServiceHttps { @GET("/hello") - public static RestMethod getHello; + public RestMethod getHello; @GET("/secured/hello") - public static RestMethod getSecuredHello; + public RestMethod getSecuredHello; @GET("/greet") - public static RestMethod getGreet; + public RestMethod getGreet; @GET("/jsonStore") @TrustStore(pathToJks = "src/test/resources/truststore_mjvmobile.jks", password = "test4321") - public static RestMethod getJsonStore; + public RestMethod getJsonStore; @GET("/products") @TrustStore(pathToJks = "src/test/resources/jetty_localhost_client.jks", password = "test1234") - public static RestMethod getProducts; + public RestMethod getProducts; - public static List getProducts() { + public List getProducts() { return Arrays.asList(getProducts.callAsData(Product[].class)); } diff --git a/jdi-dark-tests/src/main/java/com/epam/jdi/services/PostmanAuth.java b/jdi-dark-tests/src/main/java/com/epam/jdi/services/PostmanAuth.java index 7cc7ff4c..b057c116 100644 --- a/jdi-dark-tests/src/main/java/com/epam/jdi/services/PostmanAuth.java +++ b/jdi-dark-tests/src/main/java/com/epam/jdi/services/PostmanAuth.java @@ -11,24 +11,24 @@ public class PostmanAuth { @ContentType(JSON) @GET("basic-auth") @Header(name = "Authorization", value = "Basic cG9zdG1hbjpwYXNzd29yZA==") - public static RestMethod authBase; + public RestMethod authBase; @ContentType(JSON) @GET("basic-auth") - public static RestMethod auth2; + public RestMethod auth2; @ContentType(JSON) @GET("basic-auth") - public static RestMethod authBaseForm; + public RestMethod authBaseForm; @ContentType(JSON) @GET("digest-auth") - public static RestMethod authDigest; + public RestMethod authDigest; @ContentType(JSON) @GET("auth/hawk") - public static RestMethod authHawk; + public RestMethod authHawk; @ContentType(JSON) @GET("oauth1") - public static RestMethod oauth; + public RestMethod oauth; } diff --git a/jdi-dark-tests/src/main/java/com/epam/jdi/services/QuotesService.java b/jdi-dark-tests/src/main/java/com/epam/jdi/services/QuotesService.java index 3729931c..51a8ce21 100644 --- a/jdi-dark-tests/src/main/java/com/epam/jdi/services/QuotesService.java +++ b/jdi-dark-tests/src/main/java/com/epam/jdi/services/QuotesService.java @@ -12,7 +12,7 @@ public class QuotesService { public static final String DETAILED_PARAM = "detailed"; @GET("/qod") - public static RestMethod quoteOfTheDay; + public RestMethod quoteOfTheDay; @GET("/qod/categories") public RestMethod quoteOfTheDayCategories; diff --git a/jdi-dark-tests/src/main/java/com/epam/jdi/services/RestService.java b/jdi-dark-tests/src/main/java/com/epam/jdi/services/RestService.java index cc01d5e8..e4a6b699 100644 --- a/jdi-dark-tests/src/main/java/com/epam/jdi/services/RestService.java +++ b/jdi-dark-tests/src/main/java/com/epam/jdi/services/RestService.java @@ -14,7 +14,7 @@ public class RestService { @GET(value = "status") - public static RestMethod getStatus; + public RestMethod getStatus; @POST(value = "actuator/shutdown") @ContentType(JSON) diff --git a/jdi-dark-tests/src/main/java/com/epam/jdi/services/RetryingService.java b/jdi-dark-tests/src/main/java/com/epam/jdi/services/RetryingService.java index 0459d389..01b30c5d 100644 --- a/jdi-dark-tests/src/main/java/com/epam/jdi/services/RetryingService.java +++ b/jdi-dark-tests/src/main/java/com/epam/jdi/services/RetryingService.java @@ -10,21 +10,21 @@ public class RetryingService { @GET(value = "502") - public static RestMethod get502; + public RestMethod get502; @GET(value = "503") @RetryOnFailure(numberOfRetryAttempts = 2, delay = 1, unit = TimeUnit.SECONDS) - public static RestMethod get503; + public RestMethod get503; @GET(value = "451") @RetryOnFailure(numberOfRetryAttempts = 6, errorCodes = 451, unit = TimeUnit.NANOSECONDS) - public static RestMethod get451; + public RestMethod get451; @GET(value = "502") @IgnoreRetry - public static RestMethod ignoreRetrying; + public RestMethod ignoreRetrying; @GET(value = "502") @RetryOnFailure(errorCodes = 503) - public static RestMethod ignoreUnspecifiedStatus; + public RestMethod ignoreUnspecifiedStatus; } diff --git a/jdi-dark-tests/src/main/java/com/epam/jdi/services/ServiceExample.java b/jdi-dark-tests/src/main/java/com/epam/jdi/services/ServiceExample.java index a45391a1..f9842dc0 100644 --- a/jdi-dark-tests/src/main/java/com/epam/jdi/services/ServiceExample.java +++ b/jdi-dark-tests/src/main/java/com/epam/jdi/services/ServiceExample.java @@ -12,17 +12,18 @@ */ @ServiceDomain("https://httpbin.org/") public class ServiceExample { + @ContentType(JSON) @GET("/get") @Header(name = "Name", value = "Roman") @Header(name = "Id", value = "Test") - public static RestMethod getInfo; + public RestMethod getInfo; @ContentType(JSON) @GET("/get") @Header(name = "Name", value = "Roman") @Header(name = "Id", value = "Test") public RestMethod info; - public static Info getInfo() { + public Info getInfo() { return getInfo.callAsData(Info.class); } diff --git a/jdi-dark-tests/src/main/java/com/epam/jdi/services/ServiceNoDomainAnnotation.java b/jdi-dark-tests/src/main/java/com/epam/jdi/services/ServiceNoDomainAnnotation.java index 7d9f6a08..3fd16206 100644 --- a/jdi-dark-tests/src/main/java/com/epam/jdi/services/ServiceNoDomainAnnotation.java +++ b/jdi-dark-tests/src/main/java/com/epam/jdi/services/ServiceNoDomainAnnotation.java @@ -6,6 +6,5 @@ public class ServiceNoDomainAnnotation { @GET public RestMethod get; - @GET public static RestMethod getStatic; } diff --git a/jdi-dark-tests/src/main/java/com/epam/jdi/services/TrelloService.java b/jdi-dark-tests/src/main/java/com/epam/jdi/services/TrelloService.java index 58831bfe..57ae9e0b 100644 --- a/jdi-dark-tests/src/main/java/com/epam/jdi/services/TrelloService.java +++ b/jdi-dark-tests/src/main/java/com/epam/jdi/services/TrelloService.java @@ -4,7 +4,11 @@ import com.epam.http.requests.RestDataMethod; import com.epam.http.requests.RestMethod; import com.epam.http.response.RestResponse; -import com.epam.jdi.dto.*; +import com.epam.jdi.dto.Board; +import com.epam.jdi.dto.Card; +import com.epam.jdi.dto.Organization; +import com.epam.jdi.dto.TrelloList; + import static java.util.Arrays.asList; import java.util.List; @@ -20,97 +24,97 @@ public class TrelloService { @ContentType(JSON) @GET(BOARDS) - public static RestMethod boardsGet; + public RestMethod boardsGet; @ContentType(JSON) @POST(BOARDS) - public static RestDataMethod boardsPost; + public RestDataMethod boardsPost; - public static synchronized Board createBoard(Board board) { + public synchronized Board createBoard(Board board) { return boardsPost.postAsData(board); } @ContentType(JSON) @GET("/boards/{board_id}") - public static RestMethod getBoardById; + public RestMethod getBoardById; @ContentType(JSON) @GET("/boards/{board_id}") public RestMethod boardId; - public static Board getBoard(String boardId) { + public Board getBoard(String boardId) { return getBoardById.call(pathParams().add("board_id", boardId)).getRaResponse().as(Board.class); } @ContentType(JSON) @GET("/boards/{board_id}/cards/{short_card_id}") - public static RestMethod getBoardCardById; + public RestMethod getBoardCardById; @ContentType(JSON) @GET("/members/{user_name}/boards") - public static RestMethod getAllMemberBoards; + public RestMethod getAllMemberBoards; @ContentType(JSON) @GET("/members") - public static RestMethod membersGet; + public RestMethod membersGet; @GET("/members/me") - public static RestMethod membersMeGet; + public RestMethod membersMeGet; @ContentType(JSON) @DELETE("/cards") - public static RestMethod deleteACardFromBoard; + public RestMethod deleteACardFromBoard; @ContentType(JSON) @POST("/cards") - public static RestMethod addNewCardToBoard; + public RestMethod addNewCardToBoard; - public static Card addNewCardToBoard(Card card) { + public Card addNewCardToBoard(Card card) { return addNewCardToBoard.body(card).callAsData(Card.class); } @ContentType(JSON) @GET("/cards/{id}/board") - public static RestMethod getCardBoard; + public RestMethod getCardBoard; - public static Board getCardBoard(String cardId) { + public Board getCardBoard(String cardId) { return getCardBoard.call(pathParams().add("id", cardId)).getRaResponse().as(Board.class); } @ContentType(JSON) @GET("/boards/{board_id}/cards") - public static RestMethod getBoardCardsList; + public RestMethod getBoardCardsList; @ContentType(JSON) @POST("/lists") - public static RestMethod createList; + public RestMethod createList; - public static synchronized TrelloList createList(TrelloList list) { + public synchronized TrelloList createList(TrelloList list) { return createList.post(list, TrelloList.class); } @ContentType(JSON) @POST("/cards/{card_id}/actions/comments") - public static RestMethod postNewCommentToCard; + public RestMethod postNewCommentToCard; @QueryParameter(name = "test", value = "test") @ContentType(JSON) @GET("/cards/{card_id}") - public static RestMethod getCardByUniqueId; + public RestMethod getCardByUniqueId; @ContentType(JSON) @POST("/organizations") - public static RestMethod createOrganization; + public RestMethod createOrganization; - public static Organization createOrganization(Organization organization) { + public Organization createOrganization(Organization organization) { return createOrganization.post(organization, Organization.class); } @ContentType(JSON) @GET("/organizations/{id}/boards") - public static RestMethod getOrganizationBoards; + public RestMethod getOrganizationBoards; - public static List getOrganizationBoards(String orgId) { + public List getOrganizationBoards(String orgId) { return asList(getOrganizationBoards .call(pathParams().add("id", orgId)) .getRaResponse() @@ -119,16 +123,16 @@ public static List getOrganizationBoards(String orgId) { @ContentType(JSON) @DELETE("/boards/{board_id}") - public static RestMethod deleteBoard; + public RestMethod deleteBoard; @ContentType(JSON) @DELETE("/organizations/{org_id}") - public static RestMethod deleteOrg; + public RestMethod deleteOrg; - public static RestResponse deleteBoard(String boardId) { + public RestResponse deleteBoard(String boardId) { return deleteBoard.call(pathParams().add("board_id", boardId)); } - public static RestResponse deleteOrg(String orgId) { + public RestResponse deleteOrg(String orgId) { return deleteOrg.call(pathParams().add("org_id", orgId)); } } diff --git a/jdi-dark-tests/src/main/java/com/epam/jdi/soap/DneOnlineCalculator.java b/jdi-dark-tests/src/main/java/com/epam/jdi/soap/DneOnlineCalculator.java index 8b0d1ac7..35a98cda 100644 --- a/jdi-dark-tests/src/main/java/com/epam/jdi/soap/DneOnlineCalculator.java +++ b/jdi-dark-tests/src/main/java/com/epam/jdi/soap/DneOnlineCalculator.java @@ -10,19 +10,19 @@ public class DneOnlineCalculator { @POST @SOAPAction("http://tempuri.org/Add") - public static SoapMethod add; + public SoapMethod add; @POST @SOAPAction("http://tempuri.org/Divide") - public static SoapMethod divide; + public SoapMethod divide; @POST @SOAPAction("http://tempuri.org/Multiply") @SOAP12 - public static SoapMethod multiply; + public SoapMethod multiply; @POST @SOAPAction("http://tempuri.org/Subtract") @SOAP12 - public static SoapMethod subtract; + public SoapMethod subtract; } diff --git a/jdi-dark-tests/src/main/java/com/epam/jdi/soap/GeoServices.java b/jdi-dark-tests/src/main/java/com/epam/jdi/soap/GeoServices.java index f1f6e98d..11a44f47 100644 --- a/jdi-dark-tests/src/main/java/com/epam/jdi/soap/GeoServices.java +++ b/jdi-dark-tests/src/main/java/com/epam/jdi/soap/GeoServices.java @@ -11,10 +11,10 @@ public class GeoServices { @POST @SOAPAction("https://geoservices.tamu.edu/GeocodeAddressNonParsed") - public static SoapMethod geocodeAddressNonParsed; + public SoapMethod geocodeAddressNonParsed; @POST @SOAP12 - public static SoapMethod geocodeAddressNonParsed12; + public SoapMethod geocodeAddressNonParsed12; } diff --git a/jdi-dark-tests/src/main/java/com/epam/jdi/soap/HerongYangService.java b/jdi-dark-tests/src/main/java/com/epam/jdi/soap/HerongYangService.java index bb93be31..6a76149d 100644 --- a/jdi-dark-tests/src/main/java/com/epam/jdi/soap/HerongYangService.java +++ b/jdi-dark-tests/src/main/java/com/epam/jdi/soap/HerongYangService.java @@ -12,28 +12,28 @@ public class HerongYangService { @POST @URL("http://www.herongyang.com/Service/Hello_SOAP_11.php") - public static SoapMethod hello; + public SoapMethod hello; @POST @URL("http://www.herongyang.com/Service/Registration.php") @SOAPNamespace("http://www.herongyang.com/Service/") - public static SoapMethod registration; + public SoapMethod registration; @POST @URL("http://www.herongyang.com/Service/RefillOrder.php") @SOAPNamespace("http://www.herongyang.com/Service/") - public static SoapMethod refillOrder; + public SoapMethod refillOrder; @POST @SOAP12 @URL("http://www.herongyang.com/Service/Registration12.php") @SOAPNamespace("http://www.herongyang.com/Service/") - public static SoapMethod registration12; + public SoapMethod registration12; @POST @SOAP12 @URL("http://www.herongyang.com/Service/RefillOrder12.php") @SOAPNamespace("http://www.herongyang.com/Service/") - public static SoapMethod refillOrder12; + public SoapMethod refillOrder12; } diff --git a/jdi-dark-tests/src/main/java/com/epam/jdi/soap/NumberConversionService.java b/jdi-dark-tests/src/main/java/com/epam/jdi/soap/NumberConversionService.java index 083224b2..90b490dc 100644 --- a/jdi-dark-tests/src/main/java/com/epam/jdi/soap/NumberConversionService.java +++ b/jdi-dark-tests/src/main/java/com/epam/jdi/soap/NumberConversionService.java @@ -15,18 +15,18 @@ public class NumberConversionService { @POST - public static SoapMethod numberToWords; + public SoapMethod numberToWords; @POST - public static SoapMethod numberToDollars; + public SoapMethod numberToDollars; @POST @SOAP12 - public static SoapMethod numberToWords12; + public SoapMethod numberToWords12; @POST @SOAP12 - public static SoapMethod numberToDollars12; + public SoapMethod numberToDollars12; } diff --git a/jdi-dark-tests/src/main/java/com/epam/jdi/soap/YandexSpeller.java b/jdi-dark-tests/src/main/java/com/epam/jdi/soap/YandexSpeller.java index 007f4bbb..b6734bff 100644 --- a/jdi-dark-tests/src/main/java/com/epam/jdi/soap/YandexSpeller.java +++ b/jdi-dark-tests/src/main/java/com/epam/jdi/soap/YandexSpeller.java @@ -12,9 +12,9 @@ public class YandexSpeller { @POST - public static SoapMethod checkText; + public SoapMethod checkText; @POST - public static SoapMethod checkTexts; + public SoapMethod checkTexts; } diff --git a/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/DomainSwitchTest.java b/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/DomainSwitchTest.java index 52e8f3e8..cc3379a8 100644 --- a/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/DomainSwitchTest.java +++ b/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/DomainSwitchTest.java @@ -3,9 +3,7 @@ import static com.epam.http.requests.ServiceInit.init; import static org.hamcrest.Matchers.containsString; -import com.epam.http.requests.ServiceSettings; import com.epam.http.response.RestResponse; -import com.epam.jdi.httptests.support.TwoServicesInit; import com.epam.jdi.services.QuotesService; import com.epam.jdi.services.ServiceNoDomainAnnotation; import org.testng.annotations.Test; @@ -13,29 +11,32 @@ /** * Created by oksana_cherniavskaia on 02.09.2020. */ -public class DomainSwitchTest extends TwoServicesInit { +public class DomainSwitchTest { + @Test - public static void testSearchWithInstanceFieldChangingDomain() { - final RestResponse responseYahoo = yahoo.get.call(); + public void testSearchWithInstanceFieldChangingDomain() { + final RestResponse responseYahoo = getYahoo().get.call(); responseYahoo.isOk().body(containsString("yahoo.com")); - final RestResponse responseGoogle = google.get.call(); + final RestResponse responseGoogle = getGoogle().get.call(); responseGoogle.isOk().body(containsString("google.com")); } - @Test + @Test(enabled = false) //this test was aimed to check static fields. need to refactor after PoC public static void testSearchWithStaticFieldChangingDomain() { // static field method field will change globally. Rewrite - final RestResponse responseYahoo = yahoo.getStatic.call(); - responseYahoo.isOk().body(containsString("google.com")); + //final RestResponse responseYahoo = yahoo.getStatic.call(); + //responseYahoo.isOk().body(containsString("google.com")); //The same as ServiceNoDomain.getStatic.call(); - final RestResponse responseGoogle = google.getStatic.call(); - responseGoogle.isOk().body(containsString("google.com")); + //final RestResponse responseGoogle = google.getStatic.call(); + //responseGoogle.isOk().body(containsString("google.com")); } @Test - public static void testSearchChangingDomainAndOtherServiceCall() { + public void testSearchChangingDomainAndOtherServiceCall() { + ServiceNoDomainAnnotation yahoo = getYahoo(); + final RestResponse responseYahoo = yahoo.get.call(); responseYahoo.isOk().body(containsString("yahoo.com")); @@ -43,8 +44,7 @@ public static void testSearchChangingDomainAndOtherServiceCall() { final RestResponse quotesServiceResp = quotesService.quoteOfTheDayCategories.call(); quotesServiceResp.isOk(); - final ServiceNoDomainAnnotation googleSearch = - init(ServiceNoDomainAnnotation.class, "https://google.com"); + final ServiceNoDomainAnnotation googleSearch = getGoogle(); final RestResponse yahooResponse = yahoo.get.call(); yahooResponse.assertThat().body(containsString("yahoo.com")); @@ -53,4 +53,12 @@ public static void testSearchChangingDomainAndOtherServiceCall() { responseGoogle.isOk(); responseGoogle.assertThat().body(containsString("google.com")); } + + private ServiceNoDomainAnnotation getYahoo() { + return init(ServiceNoDomainAnnotation.class, "https://yahoo.com"); + } + + private ServiceNoDomainAnnotation getGoogle() { + return init(ServiceNoDomainAnnotation.class, "https://google.com"); + } } diff --git a/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/GoogleSearchGetChangingDomainTests.java b/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/GoogleSearchGetChangingDomainTests.java index dfbbf3f3..a2c62522 100644 --- a/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/GoogleSearchGetChangingDomainTests.java +++ b/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/GoogleSearchGetChangingDomainTests.java @@ -12,44 +12,43 @@ public class GoogleSearchGetChangingDomainTests { @Test - public static void testSearchWithInstanceFieldChangingDomain() { - final GoogleSearch yahoo = init(GoogleSearch.class,"https://yahoo.com"); - final GoogleSearch google = init(GoogleSearch.class, "https://google.com"); + public void testSearchWithInstanceFieldChangingDomain() { + GoogleSearch yahoo = init(GoogleSearch.class,"https://yahoo.com"); + GoogleSearch google = init(GoogleSearch.class, "https://google.com"); - final RestResponse responseYahoo = yahoo.searchInstanceMethod.call(); - responseYahoo.isOk().body(containsString("yahoo.com")); + RestResponse response = yahoo.searchInstanceMethod.call(); + response.isOk().body(containsString("yahoo.com")); - final RestResponse responseGoogle = google.searchInstanceMethod.call(); - responseGoogle.isOk().body(containsString("google.com")); + response = google.searchInstanceMethod.call(); + response.isOk().body(containsString("google.com")); } - @Test + @Test (enabled = false) // test have incorrect steps logic and not understandable validations logic, need to refactor public static void testSearchWithStaticFieldChangingDomain() { // static field method field will change globally. Rewrite - final RestResponse responseYahoo = GoogleSearch.search.call(); - responseYahoo.isOk().body(containsString("google.com")); + //final RestResponse responseYahoo = GoogleSearch.search.call(); + //responseYahoo.isOk().body(containsString("google.com")); - final RestResponse responseGoogle = GoogleSearch.search.call(); - responseGoogle.isOk().body(containsString("google.com")); + //final RestResponse responseGoogle = GoogleSearch.search.call(); + //responseGoogle.isOk().body(containsString("google.com")); } @Test - public static void testSearchChangingDomainAndOtherServiceCall() { - - final GoogleSearch yahoo = init(GoogleSearch.class, "https://yahoo.com"); - final RestResponse responseYahoo = yahoo.searchInstanceMethod.call(); - responseYahoo.isOk().body(containsString("yahoo.com")); + public void testSearchChangingDomainAndOtherServiceCall() { + GoogleSearch yahoo = init(GoogleSearch.class, "https://yahoo.com"); + RestResponse response = yahoo.searchInstanceMethod.call(); + response.isOk().body(containsString("yahoo.com")); - final QuotesService quotesService = init(QuotesService.class); - final RestResponse quotesServiceResp = quotesService.quoteOfTheDayCategories.call(); - quotesServiceResp.isOk(); + QuotesService quotesService = init(QuotesService.class); + response = quotesService.quoteOfTheDayCategories.call(); + response.isOk(); - final GoogleSearch googleSearch = init(GoogleSearch.class, "https://google.com"); + GoogleSearch googleSearch = init(GoogleSearch.class, "https://google.com"); - final RestResponse yahooResponse = yahoo.searchInstanceMethod.call(); - yahooResponse.assertThat().body(containsString("yahoo.com")); + response = yahoo.searchInstanceMethod.call(); + response.assertThat().body(containsString("yahoo.com")); - final RestResponse responseGoogle = googleSearch.searchInstanceMethod.call(); - responseGoogle.isOk().body(containsString("google.com")); + response = googleSearch.searchInstanceMethod.call(); + response.isOk().body(containsString("google.com")); } } diff --git a/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/ServiceTests.java b/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/ServiceTests.java index 576fda1a..5e5225a9 100644 --- a/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/ServiceTests.java +++ b/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/ServiceTests.java @@ -13,7 +13,6 @@ import static com.epam.http.requests.RequestDataFactory.cookies; import static com.epam.http.requests.RequestDataFactory.requestData; import static com.epam.http.requests.ServiceInit.init; -import static com.epam.jdi.services.ServiceExample.getInfo; import static io.restassured.RestAssured.given; import static org.hamcrest.core.IsEqual.equalTo; import static org.testng.Assert.assertEquals; @@ -24,18 +23,16 @@ public class ServiceTests { private RequestSpecification requestSpecification; - private ServiceExample service; @BeforeClass public void before() { requestSpecification = given().filter(new AllureRestAssured()); requestSpecification.auth().basic("user", "password"); - service = init(ServiceExample.class, ServiceSettings.builder().requestSpecification(requestSpecification).build()); } @Test public void simpleRestTest() { - RestResponse resp = ServiceExample.getInfo.call(); + RestResponse resp = getService().getInfo.call(); resp.isOk(). body("url", equalTo("https://httpbin.org/get")). body("headers.Host", equalTo("httpbin.org")). @@ -63,7 +60,7 @@ public void noServiceObjectTest() { @Test public void entityTest() { - Info e = getInfo(); + Info e = getService().getInfo(); assertEquals(e.url, "https://httpbin.org/get"); assertEquals(e.headers.Host, "httpbin.org"); assertEquals(e.headers.Id, "Test"); @@ -72,14 +69,14 @@ public void entityTest() { @Test public void statusTest() { - RestResponse resp = service.status.pathParams("503").call(); + RestResponse resp = getService().status.pathParams("503").call(); assertEquals(resp.getStatus().code, 503); resp.isEmpty(); } @Test public void statusTestWithQueryInPath() { - RestResponse resp = service.statusWithQuery.pathParams("503", "some").call(); + RestResponse resp = getService().statusWithQuery.pathParams("503", "some").call(); assertEquals(resp.getStatus().code, 503); resp.isEmpty(); } @@ -87,7 +84,7 @@ public void statusTestWithQueryInPath() { @Test public void staticServiceInitTest() { init(ServiceExample.class); - RestResponse resp = ServiceExample.getInfo.call(); + RestResponse resp = getService().getInfo.call(); resp.isOk().assertThat(). body("url", equalTo("https://httpbin.org/get")). body("headers.Host", equalTo("httpbin.org")); @@ -95,7 +92,7 @@ public void staticServiceInitTest() { @Test public void serviceInitTest() { - RestResponse resp = service.postMethod.call(); + RestResponse resp = getService().postMethod.call(); resp.isOk().assertThat(). body("url", equalTo("https://httpbin.org/post")). body("headers.Host", equalTo("httpbin.org")); @@ -103,14 +100,14 @@ public void serviceInitTest() { @Test public void htmlBodyParseTest() { - RestResponse resp = service.getHTMLMethod.call(); + RestResponse resp = getService().getHTMLMethod.call(); resp.isOk(); assertEquals(resp.getFromHtml("html.body.h1"), "Herman Melville - Moby-Dick"); } @Test public void cookiesTest() { - RestResponse response = service.getCookies.call(cookies().add("additionalCookie", "test")); + RestResponse response = getService().getCookies.call(cookies().add("additionalCookie", "test")); response.isOk() .body("cookies.additionalCookie", equalTo("test")) .body("cookies.session_id", equalTo("1234")) @@ -119,10 +116,14 @@ public void cookiesTest() { @Test public void getWithRaRequestSpecification() { - service.getWithAuth.call( + getService().getWithAuth.call( given().auth().basic("user", "password") ).assertThat() .body("authenticated", equalTo(true)) .body("user", equalTo("user")); } + + private ServiceExample getService() { + return init(ServiceExample.class, ServiceSettings.builder().requestSpecification(requestSpecification).build()); + } } diff --git a/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/custom/AdvancedValidationTests.java b/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/custom/AdvancedValidationTests.java index 5f3680be..fe5786d6 100644 --- a/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/custom/AdvancedValidationTests.java +++ b/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/custom/AdvancedValidationTests.java @@ -1,11 +1,8 @@ package com.epam.jdi.httptests.examples.custom; -import com.epam.jdi.services.JettyService; import com.epam.jdi.httptests.support.WithJetty; -import org.testng.annotations.BeforeTest; import org.testng.annotations.Test; -import static com.epam.http.requests.ServiceInit.init; import static org.hamcrest.Matchers.*; /** @@ -14,26 +11,21 @@ */ public class AdvancedValidationTests extends WithJetty { - @BeforeTest - public void before() { - init(JettyService.class); - } - @Test public void groceriesContainsChocolateAndCoffee() { - JettyService.getShopping.call().isOk().assertThat() + getJettyService().getShopping.call().isOk().assertThat() .body("shopping.category.find { it.@type == 'groceries' }", hasItems("Chocolate", "Coffee")); } @Test public void groceriesContainsChocolateAndCoffeeUsingDoubleStarNotation() { - JettyService.getShopping.call().isOk().assertThat() + getJettyService().getShopping.call().isOk().assertThat() .body("**.find { it.@type == 'groceries' }", hasItems("Chocolate", "Coffee")); } @Test public void advancedJsonValidation() { - JettyService.getJsonStore.call().isOk().assertThat() + getJettyService().getJsonStore.call().isOk().assertThat() .statusCode(allOf(greaterThanOrEqualTo(200), lessThanOrEqualTo(300))). rootPath("store.book"). body("findAll { book -> book.price < 10 }.title", hasItems("Sayings of the Century", "Moby Dick")). @@ -42,7 +34,7 @@ public void advancedJsonValidation() { @Test public void advancedJsonValidation2() { - JettyService.getJsonStore.call().isOk().assertThat() + getJettyService().getJsonStore.call().isOk().assertThat() .statusCode(allOf(greaterThanOrEqualTo(200), lessThanOrEqualTo(300))). rootPath("store.book"). body("findAll { book -> book.price < 10 }.title", hasItems("Sayings of the Century", "Moby Dick")). @@ -55,7 +47,7 @@ public void advancedJsonValidation2() { @Test public void products() { - JettyService.getProducts.call().isOk().assertThat() + getJettyService().getProducts.call().isOk().assertThat() .body("price.sum()", is(38.0d)) .body("dimensions.width.min()", is(1.0f)) .body("name.collect { it.length() }.max()", is(16)) diff --git a/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/custom/DataMethodTests.java b/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/custom/DataMethodTests.java index 98981dbb..0282f9c3 100644 --- a/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/custom/DataMethodTests.java +++ b/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/custom/DataMethodTests.java @@ -4,34 +4,23 @@ import com.epam.jdi.dto.Hello; import com.epam.jdi.dto.User; import com.epam.jdi.httptests.support.WithJetty; -import com.epam.jdi.services.JettyService; import io.restassured.authentication.BasicAuthScheme; -import org.testng.annotations.BeforeClass; import org.testng.annotations.Test; import static com.epam.http.requests.RequestDataFactory.auth; -import static com.epam.http.requests.ServiceInit.init; -import static com.epam.jdi.services.JettyService.getGreetingItselfObject; -import static com.epam.jdi.services.JettyService.getUserObject; -import static com.epam.jdi.services.JettyService.getSecuredHelloObject; import static org.testng.Assert.assertEquals; public class DataMethodTests extends WithJetty { - @BeforeClass - public void before() { - init(JettyService.class); - } - @Test public void queryParamsReturnsGreetingObject() { - GreetingItself greetingItself = getGreetingItselfObject.queryParams("firstName=Davy&lastName=Jones").callAsData(); + GreetingItself greetingItself = getJettyService().getGreetingItselfObject.queryParams("firstName=Davy&lastName=Jones").callAsData(); assertEquals(greetingItself.greeting, "Greetings Davy Jones", "Greeting is not as expected"); } @Test public void pathParamsReturnsUserObject() { - User user = getUserObject.pathParams("Davy", "Jones").callAsData(); + User user = getJettyService().getUserObject.pathParams("Davy", "Jones").callAsData(); assertEquals(user.fullName, "Davy Jones", "The fullName is not as expected"); } @@ -40,7 +29,7 @@ public void basicAuthReturnsHelloObject() { BasicAuthScheme basic = new BasicAuthScheme(); basic.setUserName("jetty"); basic.setPassword("jetty"); - Hello hello = getSecuredHelloObject.data(auth(basic)).callAsData(); + Hello hello = getJettyService().getSecuredHelloObject.data(auth(basic)).callAsData(); assertEquals(hello.hello, "Hello Secured Scalatra"); } } diff --git a/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/custom/ErrorMessageTrelloTests.java b/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/custom/ErrorMessageTrelloTests.java index 6f869bc2..2985a51b 100644 --- a/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/custom/ErrorMessageTrelloTests.java +++ b/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/custom/ErrorMessageTrelloTests.java @@ -8,7 +8,6 @@ import static com.epam.http.requests.RequestDataFactory.pathParams; import static com.epam.http.requests.RequestDataFactory.queryParams; import static com.epam.http.requests.ServiceInit.init; -import static com.epam.jdi.services.TrelloService.*; import static org.testng.Assert.assertEquals; import static org.testng.Assert.assertTrue; @@ -24,15 +23,10 @@ public class ErrorMessageTrelloTests { public static final int NOT_FOUND_CODE = 404; public static final int ERROR_CODE = 400; - @BeforeMethod - public void initService() { - init(TrelloService.class); - } - @Test(expectedExceptions = RuntimeException.class, expectedExceptionsMessageRegExp = ".*Bad raResponse:.*") public void getBoardByNotExistsId() { - RestResponse response = getBoardById.call(pathParams().add("board_id", NON_EXISTENT_BOARD_ID)); + RestResponse response = getTrelloService().getBoardById.call(pathParams().add("board_id", NON_EXISTENT_BOARD_ID)); response.hasErrors() .statusCode(NOT_FOUND_CODE); assertEquals(response.getBody(), "The requested resource was not found."); @@ -42,7 +36,7 @@ public void getBoardByNotExistsId() { @Test(expectedExceptions = RuntimeException.class, expectedExceptionsMessageRegExp = ".*Bad raResponse:.*") public void getBoardByInvalidId() { - RestResponse response = getBoardById.call(pathParams().add("board_id", INVALID_BOARD_ID)); + RestResponse response = getTrelloService().getBoardById.call(pathParams().add("board_id", INVALID_BOARD_ID)); response.hasErrors() .statusCode(ERROR_CODE); assertEquals(response.getBody(), "invalid id"); @@ -53,7 +47,7 @@ public void getBoardByInvalidId() { expectedExceptionsMessageRegExp = ".*Bad raResponse:.*") public void postInvalidCommentToCard() { String invalidComment = ""; - RestResponse response = postNewCommentToCard + RestResponse response = getTrelloService().postNewCommentToCard .call(pathParams().add("card_id", CARD_UNIQUE_ID) .queryParamsUpdater().add("text", invalidComment)); response.hasErrors() @@ -65,11 +59,15 @@ public void postInvalidCommentToCard() { @Test(expectedExceptions = RuntimeException.class, expectedExceptionsMessageRegExp = ".*Bad raResponse:.*") public void deleteNotExistsCardFromBoard() { - RestResponse response = deleteACardFromBoard + RestResponse response = getTrelloService().deleteACardFromBoard .call(queryParams().add("card_id", NON_EXISTENT_CARD_ID)); response.hasErrors() .statusCode(NOT_FOUND_CODE); assertTrue(response.getBody().contains("Cannot DELETE")); response.isEmpty(); } + + private TrelloService getTrelloService() { + return init(TrelloService.class); + } } diff --git a/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/custom/JSONPostTests.java b/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/custom/JSONPostTests.java index 3be7e785..d4cca9e5 100644 --- a/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/custom/JSONPostTests.java +++ b/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/custom/JSONPostTests.java @@ -1,11 +1,9 @@ package com.epam.jdi.httptests.examples.custom; import com.epam.http.response.RestResponse; -import com.epam.jdi.services.JettyService; import com.epam.jdi.httptests.support.WithJetty; import io.restassured.http.ContentType; import io.restassured.path.json.JsonPath; -import org.testng.annotations.BeforeClass; import org.testng.annotations.Test; import java.util.HashMap; @@ -13,25 +11,18 @@ import static com.epam.http.requests.RequestDataFactory.formParams; import static com.epam.http.requests.RequestDataFactory.queryParams; -import static com.epam.http.requests.ServiceInit.init; -import static com.epam.jdi.services.JettyService.headerPost; -import static com.epam.jdi.services.JettyService.notFoundedURIPost; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.containsString; import static org.hamcrest.Matchers.equalTo; import static org.hamcrest.Matchers.greaterThanOrEqualTo; public class JSONPostTests extends WithJetty { - @BeforeClass - public void initService() { - init(JettyService.class); - } @Test public void simpleJSONAndHamcrestMatcherJDI() { Object[][] queryPramsArray = new Object[][]{{"firstName", "John"}, {"lastName", "Doe"}}; - JettyService.greetPost(queryPramsArray) + getJettyService().greetPost(queryPramsArray) .isOk() .body("greeting", equalTo("Greetings John Doe")); } @@ -39,14 +30,14 @@ public void simpleJSONAndHamcrestMatcherJDI() { @Test public void queryParamsAcceptsIntArgumentsJDI() { Object[][] queryParamsArray = new Object[][]{{"firstName", 1234}, {"lastName", 5678}}; - JettyService.greetPost(queryParamsArray) + getJettyService().greetPost(queryParamsArray) .isOk() .body("greeting", equalTo("Greetings 1234 5678")); } @Test public void formParamsAcceptsIntArgumentsJDI() { - RestResponse response = JettyService.greetPost + RestResponse response = getJettyService().greetPost .call(formParams() .addAll(new Object[][]{{"firstName", 1234}, {"lastName", 5678}})); response.isOk().body("greeting", equalTo("Greetings 1234 5678")); @@ -55,7 +46,7 @@ public void formParamsAcceptsIntArgumentsJDI() { @Test public void bodyWithSingleHamcrestMatching() { Object[][] queryPramsArray = new Object[][]{{"firstName", 1234}, {"lastName", 5678}}; - JettyService.greetPost(queryPramsArray) + getJettyService().greetPost(queryPramsArray) .isOk() .body(containsString("greeting")); } @@ -63,7 +54,7 @@ public void bodyWithSingleHamcrestMatching() { @Test public void bodyHamcrestMatcherWithoutKey() { Object[][] queryPramsArray = {{"firstName", "John"}, {"lastName", "Doe"}}; - JettyService.greetPost(queryPramsArray) + getJettyService().greetPost(queryPramsArray) .isOk() .body(equalTo("{\"greeting\":\"Greetings John Doe\"}")); } @@ -74,7 +65,7 @@ public void requestContentType() { queryParamsMap.put("firstName", "John"); queryParamsMap.put("lastName", "Doe"); - JettyService.greetPostWithContentTypeAndMapOfFormParams(ContentType.URLENC.toString(), queryParamsMap) + getJettyService().greetPostWithContentTypeAndMapOfFormParams(ContentType.URLENC.toString(), queryParamsMap) .isOk() .contentType(ContentType.JSON) .body("greeting", equalTo("Greetings John Doe")); @@ -82,7 +73,7 @@ public void requestContentType() { @Test public void responseAllowsSpecifyingJsonBodyForPost() { - JettyService.postJsonBodyAcceptHeader("accept", "application/json" + getJettyService().postJsonBodyAcceptHeader("accept", "application/json" , "{ \"message\" : \"hello world\"}") .isOk() .contentType(ContentType.JSON) @@ -92,19 +83,19 @@ public void responseAllowsSpecifyingJsonBodyForPost() { @Test public void uriNotFoundTWhenPost() { - RestResponse response = notFoundedURIPost.call(); + RestResponse response = getJettyService().notFoundedURIPost.call(); response.assertThat().statusCode(greaterThanOrEqualTo(400)); } @Test public void requestAllowsSpecifyingHeaders() { - RestResponse response = headerPost.call(); + RestResponse response = getJettyService().headerPost.call(); response.isOk().body(containsString("MyHeader")); } @Test public void requestAllowsSpecifyingJsonBodyForPost() { - JettyService.jsonBodyPost("{ \"message\" : \"hello world\"}") + getJettyService().jsonBodyPost("{ \"message\" : \"hello world\"}") .isOk() .body(equalTo("hello world")); } @@ -112,14 +103,14 @@ public void requestAllowsSpecifyingJsonBodyForPost() { @Test public void supportsReturningPostBody() { Object[][] queryPramsArray = {{"firstName", "John"}, {"lastName", "Doe"}}; - RestResponse response = JettyService.greetPost(queryPramsArray); + RestResponse response = getJettyService().greetPost(queryPramsArray); final JsonPath jsonPath = new JsonPath(response.getBody()); assertThat(jsonPath.getString("greeting"), equalTo("Greetings John Doe")); } @Test public void bodyWithSingleHamcrestMatchingUsingQueryParams() { - JettyService.greetPostWithStringOfQueryParams("firstName=John&lastName=Doe") + getJettyService().greetPostWithStringOfQueryParams("firstName=John&lastName=Doe") .isOk() .assertThat() .body(containsString("greeting")); @@ -130,56 +121,56 @@ public void requestAllowsSpecifyingCookie() { HashMap cookiesMap = new HashMap<>(); cookiesMap.put("username", "John"); cookiesMap.put("token", "1234"); - JettyService.cookiePost(cookiesMap) + getJettyService().cookiePost(cookiesMap) .isOk() .body(equalTo("username, token")); } @Test public void queryParametersInPostAreUrlEncoded() { - JettyService.paramUrlPost.call(queryParams().add("first", "http://myurl.com")) + getJettyService().paramUrlPost.call(queryParams().add("first", "http://myurl.com")) .isOk() .body("first", equalTo("http://myurl.com")); } @Test public void requestAllowsSpecifyingStringBodyForPostJDI() { - JettyService.bodyPost("some body") + getJettyService().bodyPost("some body") .isOk() .body(equalTo("some body")); } @Test public void requestAllowsSpecifyingIntForPost() { - JettyService.postReflectWithBody(2) + getJettyService().postReflectWithBody(2) .isOk() .body(equalTo("2")); } @Test public void requestAllowsSpecifyingFloatForPost() { - JettyService.postReflectWithBody(2f) + getJettyService().postReflectWithBody(2f) .isOk() .body(equalTo("2.0")); } @Test public void requestAllowsSpecifyingDoubleForPost() { - JettyService.postReflectWithBody(2d) + getJettyService().postReflectWithBody(2d) .isOk() .body(equalTo("2.0")); } @Test public void requestAllowsSpecifyingShortForPost() { - JettyService.postReflectWithBody((short) 2) + getJettyService().postReflectWithBody((short) 2) .isOk() .body(equalTo("2")); } @Test public void requestAllowsSpecifyingBooleanForPost() { - JettyService.postReflectWithBody(true) + getJettyService().postReflectWithBody(true) .isOk() .body(equalTo("true")); } diff --git a/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/custom/PreconditionParallelTests.java b/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/custom/PreconditionParallelTests.java index 5bace5eb..4afadd83 100644 --- a/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/custom/PreconditionParallelTests.java +++ b/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/custom/PreconditionParallelTests.java @@ -24,8 +24,6 @@ import static com.epam.jdi.httptests.utils.TrelloDataGenerator.generateOrganization; import static com.epam.jdi.httptests.utils.TrelloDataGenerator.generateList; import static com.epam.jdi.httptests.utils.TrelloDataGenerator.generateCard; -import static com.epam.jdi.services.TrelloService.createOrganization; -import static com.epam.jdi.services.TrelloService.deleteOrg; import static org.hamcrest.core.IsEqual.equalTo; import static org.testng.Assert.assertEquals; @@ -35,19 +33,15 @@ public class PreconditionParallelTests { public static final String TRELLO_API = "https://api.trello.com/1"; private final ArrayList createdBoardsId = new ArrayList<>(); public static final String CSV_DATA_FILE = "src/test/resources/testWithPreconditions.csv"; - public static TrelloService trello; - public static ServiceExample httpbin; private static String newOrgId; @BeforeClass public void initService() throws IOException { new FileWriter(CSV_DATA_FILE, false).close(); - trello = init(TrelloService.class, ServiceSettings.builder().domain(TRELLO_API).build()); - httpbin = init(ServiceExample.class, ServiceSettings.builder().domain("https://httpbin.org/").build()); // create Organization as we will get a error during Board creation in case of zero organizations Organization org = generateOrganization(); - Organization newOrg = createOrganization(org); + Organization newOrg = getTrelloService().createOrganization(org); newOrgId = newOrg.id; } @@ -62,23 +56,25 @@ public static Object[][] createNewBoards() { @Test(dataProvider = "createNewBoards", threadPoolSize = 1, skipFailedInvocations = true, retryAnalyzer = RetryAnalyzer.class) public void createCardInBoard(Board board) throws IOException { + TrelloService trello = getTrelloService(); + //Create board - Board createdBoard = TrelloService.createBoard(board); + Board createdBoard = trello.createBoard(board); logger.info("Created board with id = %s, name = '%s'", createdBoard.id, createdBoard.name); - Board gotBoard = TrelloService.getBoard(createdBoard.id); + Board gotBoard = trello.getBoard(createdBoard.id); createdBoardsId.add(createdBoard.id); assertEquals(gotBoard.name, createdBoard.name, "Name of created board is incorrect"); //Create list TrelloList tList = generateList(createdBoard); - TrelloList createdList = TrelloService.createList(tList); + TrelloList createdList = trello.createList(tList); //Create Card Card card = generateCard(createdBoard, createdList); - Card createdCard = TrelloService.addNewCardToBoard(card); + Card createdCard = trello.addNewCardToBoard(card); //Check that card was added - Board cardBoard = TrelloService.getCardBoard(createdCard.id); + Board cardBoard = trello.getCardBoard(createdCard.id); assertEquals(cardBoard.name, board.name, "Card wasn't added to board"); writeToCSV(cardBoard); @@ -99,6 +95,9 @@ public static Object[] dataProviderFromCSV() throws IOException { @Test(dataProvider = "dataProviderFromCSV", threadPoolSize = 3) public void getBoardTestWithRequestData(String boardId, String expectedName, String expectedShortUrl, String expectedUrl) { + TrelloService trello = init(TrelloService.class, ServiceSettings.builder().domain(TRELLO_API).build()); + ServiceExample httpbin = init(ServiceExample.class, ServiceSettings.builder().domain("https://httpbin.org/").build()); + logger.info("Get info about board id = %s", boardId); trello.boardId.call(pathParams().add("board_id", boardId)) .isOk().assertThat().body("name", equalTo(expectedName)) @@ -123,9 +122,15 @@ private synchronized void writeToCSV(Board board) throws IOException { @AfterClass public void clearBoards() { - createdBoardsId.forEach(TrelloService::deleteBoard); + TrelloService trello = getTrelloService(); + + createdBoardsId.forEach(trello::deleteBoard); if (newOrgId != null) { - deleteOrg(newOrgId); + trello.deleteOrg(newOrgId); } } + + private TrelloService getTrelloService() { + return init(TrelloService.class); + } } diff --git a/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/custom/PreconditionTests.java b/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/custom/PreconditionTests.java index 20e1da9a..52eaa4fc 100644 --- a/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/custom/PreconditionTests.java +++ b/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/custom/PreconditionTests.java @@ -17,14 +17,11 @@ import static com.epam.http.requests.RequestDataFactory.body; import static com.epam.http.requests.ServiceInit.init; import static com.epam.jdi.httptests.utils.TrelloDataGenerator.generateOrganization; -import static com.epam.jdi.services.TrelloService.deleteOrg; -import static com.epam.jdi.services.TrelloService.createOrganization; -import static com.epam.jdi.services.TrelloService.boardsPost; -import static com.epam.jdi.services.TrelloService.getBoardById; import static java.lang.String.format; import static org.hamcrest.core.IsEqual.equalTo; public class PreconditionTests { + public static final String CSV_DATA_FILE = "src/test/resources/testWithPreconditions.csv"; private ArrayList createdBoardsId = new ArrayList(); private static String newOrgId; @@ -53,18 +50,17 @@ public static Object[] dataProviderFromCSV() throws IOException { @BeforeClass public void initService() throws IOException { - init(TrelloService.class); new FileWriter(CSV_DATA_FILE, false).close(); // create Organization as we will get a error during Board creation in case of zero organizations Organization org = generateOrganization(); - Organization newOrg = createOrganization(org); + Organization newOrg = getTrelloService().createOrganization(org); newOrgId = newOrg.id; } @Test(dataProvider = "createNewBoards") public void createNewBoardTest(String boardName) throws IOException { - RestResponse response = boardsPost.call(body(format("{\"name\": \"%s\"}", boardName))); + RestResponse response = getTrelloService().boardsPost.call(body(format("{\"name\": \"%s\"}", boardName))); response.isOk().body("name", equalTo(boardName)); Board board = response.getRaResponse().as(Board.class); writeToCSV(board); @@ -72,7 +68,7 @@ public void createNewBoardTest(String boardName) throws IOException { @Test(dataProvider = "dataProviderFromCSV") public void getBoardTestWithRequestData(String boardId, String expectedName, String expectedShortUrl, String expectedUrl) { - getBoardById.call(pathParams().add("board_id", boardId)) + getTrelloService().getBoardById.call(pathParams().add("board_id", boardId)) .isOk().assertThat().body("name", equalTo(expectedName)) .body("shortUrl", equalTo(expectedShortUrl)) .body("url", equalTo(expectedUrl)); @@ -80,7 +76,7 @@ public void getBoardTestWithRequestData(String boardId, String expectedName, Str @Test(dataProvider = "dataProviderFromCSV") public void getBoardTest(String boardId, String expectedName, String expectedShortUrl, String expectedUrl) { - Board gotBoard = TrelloService.getBoard(boardId); + Board gotBoard = getTrelloService().getBoard(boardId); Assert.assertEquals(gotBoard.name, expectedName, "Actual Board Name doesn't correspond expected"); Assert.assertEquals(gotBoard.shortUrl, expectedShortUrl, "Actual Board ShortUrl doesn't correspond expected"); Assert.assertEquals(gotBoard.url, expectedUrl, "Actual Board URL doesn't correspond expected"); @@ -96,10 +92,16 @@ private void writeToCSV(Board board) throws IOException { @AfterClass public void clearBoards() { - createdBoardsId.forEach(TrelloService::deleteBoard); + TrelloService trello = getTrelloService(); + + createdBoardsId.forEach(trello::deleteBoard); if (newOrgId != null) { - deleteOrg(newOrgId); + trello.deleteOrg(newOrgId); } } + + private TrelloService getTrelloService() { + return init(TrelloService.class); + } } diff --git a/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/custom/ResponseTests.java b/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/custom/ResponseTests.java index e6676999..9caa6978 100644 --- a/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/custom/ResponseTests.java +++ b/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/custom/ResponseTests.java @@ -7,7 +7,6 @@ import io.restassured.config.RestAssuredConfig; import io.restassured.path.json.config.JsonPathConfig; import io.restassured.specification.RequestSpecification; -import org.testng.annotations.BeforeTest; import org.testng.annotations.Test; import java.math.BigDecimal; @@ -16,8 +15,6 @@ import static com.epam.http.requests.RequestDataFactory.cookies; import static com.epam.http.requests.RequestDataFactory.body; -import static com.epam.http.requests.ServiceInit.init; -import static com.epam.jdi.services.JettyService.getJsonStore; import static io.restassured.config.JsonConfig.jsonConfig; import static io.restassured.path.xml.XmlPath.CompatibilityMode.HTML; import static org.hamcrest.MatcherAssert.assertThat; @@ -29,14 +26,9 @@ public class ResponseTests extends WithJetty { - @BeforeTest - public void before() { - init(JettyService.class); - } - @Test public void getCanReturnResponseDataAsString() { - RestResponse response = JettyService.getHello.call(); + RestResponse response = getJettyService().getHello.call(); final String responseInfo = response.toString(); assertThat(responseInfo, containsString("Response status: 200 OK (OK)")); assertThat(responseInfo, containsString("Response body: {\"hello\":\"Hello Scalatra\"}")); @@ -47,7 +39,7 @@ public void getSecuredHello() { BasicAuthScheme authScheme = new BasicAuthScheme(); authScheme.setUserName("jetty"); authScheme.setPassword("jetty"); - RestResponse response = JettyService.getSecuredHello.auth(authScheme).call(); + RestResponse response = getJettyService().getSecuredHello.auth(authScheme).call(); final String responseInfo = response.toString(); assertThat(responseInfo, containsString("Response status: 200 OK (OK)")); assertThat(responseInfo, containsString("Response body: {\"hello\":\"Hello Secured Scalatra\"}")); @@ -55,7 +47,7 @@ public void getSecuredHello() { @Test public void getCanReturnBodyAsString() { - RestResponse response = JettyService.getHello.call(); + RestResponse response = getJettyService().getHello.call(); String body = response.getBody(); assertThat(body, containsString("{\"hello\":\"Hello Scalatra\"}")); assertThat(response.getBody(), containsString("{\"hello\":\"Hello Scalatra\"}")); @@ -63,7 +55,7 @@ public void getCanReturnBodyAsString() { @Test public void whenParamsSpecifiedCanReturnBodyAsString() { - RestResponse response = JettyService.postGreetXml.call(body("firstName=John&lastName=Doe&")); + RestResponse response = getJettyService().postGreetXml.call(body("firstName=John&lastName=Doe&")); final String body = response.getBody(); assertEquals("John\n" + " Doe\n" + @@ -73,13 +65,13 @@ public void whenParamsSpecifiedCanReturnBodyAsString() { @Test public void whenNoExpectationsDefinedThenGetCanReturnAStringAsByteArray() { final byte[] expected = "{\"hello\":\"Hello Scalatra\"}".getBytes(); - final byte[] actual = JettyService.getHello.call().getRaResponse().asByteArray(); + final byte[] actual = getJettyService().getHello.call().getRaResponse().asByteArray(); assertArrayEquals(expected, actual); } @Test public void postCanReturnBodyAsString() { - final String body = JettyService.postGreetXml.call(body("firstName=John&lastName=Doe")).getBody(); + final String body = getJettyService().postGreetXml.call(body("firstName=John&lastName=Doe")).getBody(); assertEquals("John\n" + " Doe\n" + " ", body); @@ -90,13 +82,13 @@ public void putCanReturnBodyAsString() { Map cookies = new HashMap<>(); cookies.put("username", "John"); cookies.put("token", "1234"); - final String body = JettyService.putCookie.call(cookies().addAll(cookies)).getBody(); + final String body = getJettyService().putCookie.call(cookies().addAll(cookies)).getBody(); assertEquals("username, token", body); } @Test public void deleteCanReturnBodyAsString() { - final String body = JettyService.deleteGreet.call(rd -> { + final String body = getJettyService().deleteGreet.call(rd -> { rd.queryParams.add("firstName", "John"); rd.queryParams.add("lastName", "Doe"); }).getBody(); @@ -105,7 +97,7 @@ public void deleteCanReturnBodyAsString() { @Test public void responseSupportsGettingCookies() { - RestResponse response = JettyService.setCookies.call(); + RestResponse response = getJettyService().setCookies.call(); assertEquals(3, response.cookies().size()); assertEquals("value1", response.cookie("key1")); assertEquals("value2", response.cookie("key2")); @@ -113,7 +105,7 @@ public void responseSupportsGettingCookies() { @Test public void responseSupportsGettingHeaders() { - RestResponse response = JettyService.setCookies.call(); + RestResponse response = getJettyService().setCookies.call(); assertEquals(8, response.headers().size()); assertEquals("text/plain;charset=utf-8", response.header("Content-Type")); final String server = response.header("Server"); @@ -122,67 +114,69 @@ public void responseSupportsGettingHeaders() { @Test public void responseSupportsGettingStatusCode() { - RestResponse response = JettyService.getHello.call(); + RestResponse response = getJettyService().getHello.call(); assertThat(response.getStatus().code, equalTo(200)); assertThat(response.getBody(), equalTo("{\"hello\":\"Hello Scalatra\"}")); } @Test public void responseSupportsGettingStatusLine() { - RestResponse response = JettyService.getHello.call(); + RestResponse response = getJettyService().getHello.call(); assertThat(response.getRaResponse().statusLine(), equalTo("HTTP/1.1 200 OK")); assertThat(response.getRaResponse().getStatusLine(), equalTo("HTTP/1.1 200 OK")); } @Test public void responseSupportsIsOkVerification() { - RestResponse response = JettyService.getHello.call(); + RestResponse response = getJettyService().getHello.call(); response.isOk(); } @Test public void usingJsonPathViewFromTheResponse() { - final String hello = JettyService.getHello.call().getRaResponse().jsonPath().getString("hello"); + final String hello = getJettyService().getHello.call().getRaResponse().jsonPath().getString("hello"); assertThat(hello, equalTo("Hello Scalatra")); } @Test public void usingXmlPathViewFromTheResponse() { - final String firstName = JettyService.postGreetXml.call(body("firstName=John&lastName=Doe")).getRaResponse().xmlPath().getString("greeting.firstName"); + final String firstName = getJettyService().postGreetXml.call(body("firstName=John&lastName=Doe")).getRaResponse().xmlPath().getString("greeting.firstName"); assertThat(firstName, equalTo("John")); } @Test public void usingXmlPathWithHtmlCompatibilityModeFromTheResponse() { - String title = JettyService.getTextHtml.call().getRaResponse().xmlPath(HTML).getString("html.head.title"); + String title = getJettyService().getTextHtml.call().getRaResponse().xmlPath(HTML).getString("html.head.title"); assertThat(title, equalTo("my title")); } @Test public void usingHtmlPathToParseHtmlFromTheResponse() { - String title = JettyService.getTextHtml.call().getRaResponse().htmlPath().getString("html.head.title"); + String title = getJettyService().getTextHtml.call().getRaResponse().htmlPath().getString("html.head.title"); assertThat(title, equalTo("my title")); } @Test public void usingPathWithContentTypeJsonFromTheResponse() { - String hello = JettyService.getHello.call().getRaResponse().andReturn().path("hello"); + String hello = getJettyService().getHello.call().getRaResponse().andReturn().path("hello"); assertThat(hello, equalTo("Hello Scalatra")); } @Test public void usingPathWithContentTypeXmlFromTheResponse() { - String firstName = JettyService.postGreetXml.call(body("firstName=John&lastName=Doe")).getRaResponse().path("greeting.firstName"); + String firstName = getJettyService().postGreetXml.call(body("firstName=John&lastName=Doe")).getRaResponse().path("greeting.firstName"); assertThat(firstName, equalTo("John")); } @Test public void jsonPathReturnedByResponseUsesConfigurationFromRestAssured() { - RequestSpecification rs = getJsonStore.getInitSpec(). + JettyService jetty = getJettyService(); + + RequestSpecification rs = jetty.getJsonStore.getInitSpec(). config(RestAssuredConfig.newConfig().with(). jsonConfig(jsonConfig().numberReturnType(JsonPathConfig.NumberReturnType.BIG_DECIMAL))); - RestResponse response = getJsonStore.call(rs); + RestResponse response = jetty.getJsonStore.call(rs); assertThat(response.getRaResponse().jsonPath().get("store.book.price.min()"), is(new BigDecimal("8.95"))); assertThat(response.getRaResponse().jsonPath().get("store.book.price.max()"), is(new BigDecimal("22.99"))); } diff --git a/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/customsettings/AuthenticationTests.java b/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/customsettings/AuthenticationTests.java index 5277e4d9..a640aa37 100644 --- a/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/customsettings/AuthenticationTests.java +++ b/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/customsettings/AuthenticationTests.java @@ -1,15 +1,12 @@ package com.epam.jdi.httptests.examples.customsettings; -import com.epam.http.requests.ServiceSettings; import com.epam.http.response.RestResponse; import com.epam.jdi.services.AuthorizationPostman; import io.restassured.authentication.BasicAuthScheme; import org.apache.http.HttpStatus; -import org.testng.annotations.BeforeClass; import org.testng.annotations.Test; import static com.epam.http.requests.ServiceInit.init; -import static com.epam.jdi.services.AuthorizationPostman.*; import static com.epam.jdi.httptests.utils.Defaults.defaultOauthScheme; import static org.hamcrest.core.IsEqual.equalTo; import static org.testng.AssertJUnit.assertEquals; @@ -21,20 +18,12 @@ public class AuthenticationTests { * This scheme should be passed to Service Settings to affect the whole service. */ - @BeforeClass - public void before() { - BasicAuthScheme authScheme = new BasicAuthScheme(); - authScheme.setUserName("postman"); - authScheme.setPassword("password"); - init(AuthorizationPostman.class, authScheme); - } - /** * This test represents basic authorization using service settings. */ @Test public void authBaseTest() { - RestResponse resp = callPostmanServiceAuthBasic(); + RestResponse resp = getAuthorizationPostman().callPostmanServiceAuthBasic(); resp.isOk().assertThat().body("authenticated", equalTo(true)); assertEquals(resp.getStatus().code, HttpStatus.SC_OK); } @@ -49,7 +38,7 @@ public void authBaseTestOverrideCredentialsWithCustomAuthScheme() { BasicAuthScheme basic = new BasicAuthScheme(); basic.setUserName("wrongName"); basic.setPassword("wrongPassword"); - RestResponse resp = callPostmanAuthBasic(basic); + RestResponse resp = getAuthorizationPostman().callPostmanAuthBasic(basic); assertEquals(resp.getStatus().code, HttpStatus.SC_UNAUTHORIZED); } @@ -58,7 +47,7 @@ public void authBaseTestOverrideCredentialsWithCustomAuthScheme() { */ @Test public void authDigestTest() { - RestResponse resp = callPostmanServiceAuthBasic(); + RestResponse resp = getAuthorizationPostman().callPostmanServiceAuthBasic(); resp.isOk().assertThat().body("authenticated", equalTo(true)); assertEquals(resp.getStatus().code, HttpStatus.SC_OK); } @@ -69,11 +58,18 @@ public void authDigestTest() { @Test public void authCustomAuthSchemeTest() { - RestResponse resp = callPostmanCustomAuth(defaultOauthScheme()); + RestResponse resp = getAuthorizationPostman().callPostmanCustomAuth(defaultOauthScheme()); resp.isOk().assertThat(). body("status", equalTo("pass")); assertEquals(resp.getStatus().code, HttpStatus.SC_OK); } + + private AuthorizationPostman getAuthorizationPostman() { + BasicAuthScheme authScheme = new BasicAuthScheme(); + authScheme.setUserName("postman"); + authScheme.setPassword("password"); + return init(AuthorizationPostman.class, authScheme); + } } diff --git a/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/customsettings/ConfigITests.java b/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/customsettings/ConfigITests.java index 882a1e5b..2fed4299 100644 --- a/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/customsettings/ConfigITests.java +++ b/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/customsettings/ConfigITests.java @@ -10,29 +10,23 @@ import io.restassured.http.ContentType; import io.restassured.path.json.config.JsonPathConfig; import io.restassured.specification.RequestSpecification; -import org.testng.annotations.BeforeTest; import org.testng.annotations.Test; import java.math.BigDecimal; -import static com.epam.http.requests.ServiceInit.init; -import static com.epam.jdi.services.JettyService.*; import static org.hamcrest.Matchers.equalTo; import static org.hamcrest.Matchers.is; public class ConfigITests extends WithJetty { - @BeforeTest - public void before() { - init(JettyService.class); - } - @Test public void configCanBeSetPerRequest() { - RequestSpecification rs = getRedirect.getInitSpec() + JettyService jetty = getJettyService(); + + RequestSpecification rs = jetty.getRedirect.getInitSpec() .config(RestAssuredConfig.newConfig() .redirect(RedirectConfig.redirectConfig().followRedirects(false))).param("url", "/hello"); - RestResponse response = getRedirect.call(rs); + RestResponse response = jetty.getRedirect.call(rs); response.assertThat() .statusCode(302) .and() @@ -41,13 +35,15 @@ public void configCanBeSetPerRequest() { @Test public void supportsSpecifyingDefaultContentCharset() { + JettyService jetty = getJettyService(); + String body = "Something {\\\\+$%???"; - RequestSpecification rs = postReflect.getInitSpec() + RequestSpecification rs = jetty.postReflect.getInitSpec() .config(RestAssuredConfig.newConfig() .encoderConfig(EncoderConfig.encoderConfig() .defaultContentCharset("US-ASCII"))); - postReflect.getData().setContentType(ContentType.TEXT); - RestResponse resp = postReflect.call(rs.body(body)); + jetty.postReflect.getData().setContentType(ContentType.TEXT); + RestResponse resp = jetty.postReflect.call(rs.body(body)); resp.isOk().assertThat() .header("Content-Type", is("text/plain; charset=US-ASCII")) .body(equalTo(body)); @@ -55,7 +51,7 @@ public void supportsSpecifyingDefaultContentCharset() { @Test public void supportsConfiguringJsonConfigProperties() { - RestResponse resp = getJsonStore.call(RestAssuredConfig.newConfig(). + RestResponse resp = getJettyService().getJsonStore.call(RestAssuredConfig.newConfig(). jsonConfig(JsonConfig.jsonConfig(). numberReturnType(JsonPathConfig.NumberReturnType.BIG_DECIMAL))); resp.isOk() diff --git a/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/customsettings/CustomAuthenticationTests.java b/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/customsettings/CustomAuthenticationTests.java index 7dfa0b5f..ffedbc7e 100644 --- a/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/customsettings/CustomAuthenticationTests.java +++ b/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/customsettings/CustomAuthenticationTests.java @@ -2,11 +2,9 @@ import com.epam.http.requests.ServiceSettings; import com.epam.jdi.services.AuthorizationPostman; -import org.testng.annotations.BeforeClass; import org.testng.annotations.Test; import com.epam.http.response.RestResponse; import org.apache.http.HttpStatus; -import static com.epam.jdi.services.AuthorizationPostman.callPostmanServiceCustomAuth; import static com.epam.jdi.httptests.utils.Defaults.defaultOauthScheme; import static org.hamcrest.core.IsEqual.equalTo; import static org.testng.AssertJUnit.assertEquals; @@ -18,14 +16,11 @@ */ public class CustomAuthenticationTests { - @BeforeClass - public void before() { - init(AuthorizationPostman.class, ServiceSettings.builder().authenticationScheme(defaultOauthScheme()).build()); - } - @Test public void authCustomAuthSchemeTest() { - RestResponse resp = callPostmanServiceCustomAuth(); + RestResponse resp = init(AuthorizationPostman.class, + ServiceSettings.builder().authenticationScheme(defaultOauthScheme()).build()) + .callPostmanServiceCustomAuth(); resp.isOk().assertThat(). body("status", equalTo("pass")); assertEquals(resp.getStatus().code, HttpStatus.SC_OK); diff --git a/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/customsettings/ErrorHandlerTests.java b/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/customsettings/ErrorHandlerTests.java index 0a6d9669..c18bb018 100644 --- a/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/customsettings/ErrorHandlerTests.java +++ b/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/customsettings/ErrorHandlerTests.java @@ -12,7 +12,6 @@ import static com.epam.http.requests.ServiceInit.init; import static com.epam.http.response.ResponseStatusType.CLIENT_ERROR; -import static com.epam.jdi.services.TrelloService.createOrganization; import static com.epam.jdi.httptests.utils.TrelloDataGenerator.generateOrganization; public class ErrorHandlerTests { @@ -36,11 +35,6 @@ public void handleError(RestResponse restResponse) { serviceSettings = ServiceSettings.builder().errorHandler(errorHandler).build(); } - @BeforeClass(dependsOnMethods = {"initServiceSettings"}) - public void initService() { - init(TrelloService.class, serviceSettings); - } - @Test(expectedExceptions = {AssertionError.class}) public void assignBoardToOrganization() { //Create organization @@ -48,7 +42,10 @@ public void assignBoardToOrganization() { o.name = null; o.displayName = null; }); //this endpoint causes 400 error - createOrganization(organization); + getTrelloService().createOrganization(organization); } + private TrelloService getTrelloService() { + return init(TrelloService.class, serviceSettings); + } } diff --git a/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/customsettings/HttpClientConfigTest.java b/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/customsettings/HttpClientConfigTest.java index 6c84d74c..c81ce7a1 100644 --- a/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/customsettings/HttpClientConfigTest.java +++ b/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/customsettings/HttpClientConfigTest.java @@ -9,7 +9,6 @@ import io.restassured.config.RestAssuredConfig; import org.apache.http.Header; import org.apache.http.message.BasicHeader; -import org.testng.annotations.BeforeTest; import org.testng.annotations.Test; import java.util.ArrayList; @@ -17,7 +16,6 @@ import static com.epam.http.requests.RequestDataFactory.queryParams; import static com.epam.http.requests.ServiceInit.init; -import static com.epam.jdi.services.JettyService.getRedirect; import static io.restassured.RestAssured.requestSpecification; import static org.apache.http.client.params.ClientPNames.DEFAULT_HEADERS; import static org.hamcrest.Matchers.equalTo; @@ -29,10 +27,6 @@ public class HttpClientConfigTest extends WithJetty { - @BeforeTest - public void before() { init(JettyService.class, ServiceSettings.builder().requestSpecification(requestSpecification).build()); - } - @Test public void followsRedirectsWhileKeepingHeadersSpecifiedIfRestAssuredConfig() { final List
httpClientHeaders = new ArrayList
(); @@ -40,7 +34,8 @@ public void followsRedirectsWhileKeepingHeadersSpecifiedIfRestAssuredConfig() { httpClientHeaders.add(new BasicHeader("header2", "value2")); RestAssured.config = RestAssuredConfig.newConfig().httpClient(HttpClientConfig .httpClientConfig().setParam(DEFAULT_HEADERS, httpClientHeaders)); - RestResponse response = getRedirect.call(queryParams().add("url", "multiHeaderReflect")); + RestResponse response = init(JettyService.class, ServiceSettings.builder().requestSpecification(requestSpecification).build()) + .getRedirect.call(queryParams().add("url", "multiHeaderReflect")); response.isOk(); response.assertThat().header("header1", equalTo("value1")) .header("header2", equalTo("value2")); diff --git a/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/customsettings/LoggingCustomizeTests.java b/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/customsettings/LoggingCustomizeTests.java index eaf3e9e3..cf9d6ab8 100644 --- a/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/customsettings/LoggingCustomizeTests.java +++ b/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/customsettings/LoggingCustomizeTests.java @@ -4,7 +4,6 @@ import com.epam.http.requests.RequestData; import com.epam.http.requests.RestMethod; import com.epam.http.response.RestResponse; -import com.epam.jdi.services.JettyService; import com.epam.jdi.httptests.support.WithJetty; import com.jdiai.tools.map.MultiMap; import org.testng.annotations.AfterClass; @@ -19,7 +18,6 @@ import static com.epam.http.logger.AllureLogger.startStep; import static com.epam.http.requests.RestMethod.LOG_REQUEST; import static com.epam.http.requests.RestMethod.resetLogRequest; -import static com.epam.http.requests.ServiceInit.init; import static com.epam.http.response.RestResponse.LOG_RESPONSE; import static com.epam.http.response.RestResponse.resetLogResponse; import static org.hamcrest.Matchers.equalTo; @@ -28,7 +26,6 @@ public class LoggingCustomizeTests extends WithJetty { @BeforeClass public void initService() { - init(JettyService.class); LOG_REQUEST = this::logRequest; LOG_RESPONSE = this::logResponse; } @@ -58,7 +55,7 @@ public void getGreeting() { Map queryParamsMap = new HashMap<>(); queryParamsMap.put("firstName", "Ivan"); queryParamsMap.put("lastName", "Ivanov"); - JettyService.getGreetWithMapOfQueryParams(queryParamsMap) + getJettyService().getGreetWithMapOfQueryParams(queryParamsMap) .isOk() .assertThat() .body("greeting", equalTo("Greetings Ivan Ivanov")); diff --git a/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/customsettings/PostmanAuthTests.java b/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/customsettings/PostmanAuthTests.java index 1e782905..fe9cdccc 100644 --- a/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/customsettings/PostmanAuthTests.java +++ b/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/customsettings/PostmanAuthTests.java @@ -18,25 +18,15 @@ import static com.epam.http.requests.RequestDataFactory.headers; import static com.epam.http.requests.ServiceInit.init; -import static com.epam.jdi.services.PostmanAuth.authBase; -import static com.epam.jdi.services.PostmanAuth.authBaseForm; -import static com.epam.jdi.services.PostmanAuth.authDigest; -import static com.epam.jdi.services.PostmanAuth.authHawk; -import static com.epam.jdi.services.PostmanAuth.oauth; import static com.wealdtech.hawk.Hawk.calculateMAC; import static org.hamcrest.core.IsEqual.equalTo; import static org.testng.AssertJUnit.assertEquals; public class PostmanAuthTests { - @BeforeClass - public void before() { - init(PostmanAuth.class); - } - @Test public void authBaseTest() { - RestResponse resp = authBase.call(); + RestResponse resp = getPostmanAuth().authBase.call(); resp.isOk().assertThat(). body("authenticated", equalTo(true)); assertEquals(resp.getStatus().code, HttpStatus.SC_OK); @@ -44,34 +34,40 @@ public void authBaseTest() { @Test public void authPutCredentialsInFormTest() { - RequestSpecification resp2 = authBaseForm + PostmanAuth postman = getPostmanAuth(); + + RequestSpecification resp2 = postman.authBaseForm .getInitSpec() .auth() .basic("postman", "password"); - RestResponse resp = authBaseForm.call(resp2); + RestResponse resp = postman.authBaseForm.call(resp2); resp.isOk().assertThat(). body("authenticated", equalTo(true)); assertEquals(resp.getStatus().code, HttpStatus.SC_OK); } @Test public void entityTest() { - PostmanInfo info = authBase.callAsData(PostmanInfo.class); + PostmanInfo info = getPostmanAuth().authBase.callAsData(PostmanInfo.class); assertEquals(info.authenticated, "true"); } @Test public void authBaseFailTest() { - RequestSpecification spec = authBaseForm.getInitSpec().header("Authorization", "Basic cG9zdG1hbjpwYXNzd29yBB=="); - RestResponse resp = authBaseForm.call(spec); + PostmanAuth postmanAuth = getPostmanAuth(); + + RequestSpecification spec = postmanAuth.authBaseForm.getInitSpec().header("Authorization", "Basic cG9zdG1hbjpwYXNzd29yBB=="); + RestResponse resp = postmanAuth.authBaseForm.call(spec); resp.assertThat() .statusCode(HttpStatus.SC_UNAUTHORIZED); } @Test public void authDigestTest() { - RequestSpecification rs = authDigest.getInitSpec() + PostmanAuth postmanAuth = getPostmanAuth(); + + RequestSpecification rs = postmanAuth.authDigest.getInitSpec() .auth().digest("postman", "password"); - RestResponse resp = authDigest.call(rs); + RestResponse resp = postmanAuth.authDigest.call(rs); resp.isOk().assertThat(). body("authenticated", equalTo(true)); resp.assertThat() @@ -80,7 +76,7 @@ public void authDigestTest() { @Test public void authDigestFailTest() { - RestResponse resp = authDigest.call(headers().addAll(new Object[][]{ + RestResponse resp = getPostmanAuth().authDigest.call(headers().addAll(new Object[][]{ {"Authorization", "Digest username=\"postman\", realm=\"Users\", nonce=\"ni1LiL0O37PRRhofWdCLmwFsnEtH1lew\", uri=\"/digest-auth\", response=\"254679099562cf07df9b6f5d8d15db45\", opaque=\"\""} })); resp.assertThat() @@ -97,7 +93,7 @@ public void authHawkTest() throws URISyntaxException { Timestamp timestamp = new Timestamp(System.currentTimeMillis()); long ts = timestamp.getTime() / 1000; String mac = calculateMAC(hawkCredentials, Hawk.AuthType.HEADER, ts, uri, "x9Feni", "GET", null, null, null, null); - RestResponse resp = authHawk.call(headers().addAll(new Object[][]{ + RestResponse resp = getPostmanAuth().authHawk.call(headers().addAll(new Object[][]{ {"Authorization", "Hawk id=\"dh37fgj492je\", ts=\"" + ts + "\", nonce=\"x9Feni\", mac=\"" + mac + "\""} })); resp.isOk().assertThat() @@ -114,7 +110,7 @@ public void authHawkTimeFailTest() throws URISyntaxException { HawkCredentials hawkCredentials = hc.key(key).keyId(id).algorithm(HawkCredentials.Algorithm.SHA256).build(); long ts = 1234567890; String mac = calculateMAC(hawkCredentials, Hawk.AuthType.HEADER, ts, uri, "x9Feni", "GET", null, null, null, null); - RestResponse resp = authHawk.call(headers().addAll(new Object[][]{ + RestResponse resp = getPostmanAuth().authHawk.call(headers().addAll(new Object[][]{ {"Authorization", "Hawk id=\"dh37fgj492je\", ts=\"" + ts + "\", nonce=\"x9Feni\", mac=\"" + mac + "\""} })); resp.assertThat() @@ -133,7 +129,7 @@ public void authHawkFailTest() { body.put("error", "Unauthorized"); body.put("message", "Bad mac"); body.put("attributes", attr); - RestResponse resp = authHawk.call(headers().addAll(new Object[][]{ + RestResponse resp = getPostmanAuth().authHawk.call(headers().addAll(new Object[][]{ {"Authorization", "Hawk id=\"dh37fgj492je\", ts=\"ts\", nonce=\"x9Feni\", mac=\"mac\""} })); resp.assertThat() @@ -145,7 +141,7 @@ public void authHawkFailTest() { public void oauthTest() { String key = "RKCGzna7bv9YD57c"; String nonce = "R6MyHe5WCRx"; - RestResponse resp = oauth.call(headers().addAll(new Object[][]{ + RestResponse resp = getPostmanAuth().oauth.call(headers().addAll(new Object[][]{ {"Authorization", "OAuth oauth_consumer_key=\"" + key + "\", oauth_signature_method=\"HMAC-SHA1\", oauth_timestamp=\"1580379117\", oauth_nonce=\"" + nonce + "\", oauth_version=\"1.0\", oauth_signature=\"hzZRrfQkn4ux9qSbmDJFPKj3P8w%3D\""} })); resp.isOk().assertThat() @@ -158,7 +154,7 @@ public void oauthTest() { public void oauthFailTest() { String key = "RKCGzna7bv9YD57"; String nonce = "R6MyHe5WCRx"; - RestResponse resp = oauth.call(headers().addAll(new Object[][]{ + RestResponse resp = getPostmanAuth().oauth.call(headers().addAll(new Object[][]{ {"Authorization", "OAuth oauth_consumer_key=\"" + key + "\", oauth_signature_method=\"HMAC-SHA1\", oauth_timestamp=\"1580379117\", oauth_nonce=\"" + nonce + "\", oauth_version=\"1.0\", oauth_signature=\"hzZRrfQkn4ux9qSbmDJFPKj3P8w%3D\""} })); resp.assertThat() @@ -168,4 +164,7 @@ public void oauthFailTest() { .body("base_uri", equalTo("https://postman-echo.com/oauth1")); } + private PostmanAuth getPostmanAuth() { + return init(PostmanAuth.class); + } } diff --git a/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/customsettings/ProxyTests.java b/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/customsettings/ProxyTests.java index 33bacf28..710935c1 100644 --- a/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/customsettings/ProxyTests.java +++ b/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/customsettings/ProxyTests.java @@ -1,6 +1,5 @@ package com.epam.jdi.httptests.examples.customsettings; -import com.epam.jdi.services.JettyService; import com.epam.jdi.httptests.support.WithJetty; import io.restassured.specification.ProxySpecification; import org.apache.commons.io.FileUtils; @@ -14,7 +13,6 @@ import java.util.HashMap; import java.util.Map; -import static com.epam.http.requests.ServiceInit.init; import static org.hamcrest.Matchers.equalTo; public class ProxyTests extends WithJetty { @@ -24,7 +22,6 @@ public class ProxyTests extends WithJetty { @BeforeClass public void before() { proxyServer = DefaultHttpProxyServer.bootstrap().withPort(8888).withAllowLocalOnly(true).start(); - init(JettyService.class); } @AfterClass @@ -40,7 +37,7 @@ public void usingProxyWithSetProxySpecification() { final Map params = new HashMap<>(); params.put("firstName", "John"); params.put("lastName", "Doe"); - JettyService.getGreenJSON.call(rd -> { + getJettyService().getGreenJSON.call(rd -> { rd.setProxySpec("http", "localhost", 8888); rd.queryParams.addAll(params); }).isOk().assertThat(). @@ -53,7 +50,7 @@ public void usingProxyAnnotationOnServiceLayer() { final Map params = new HashMap<>(); params.put("firstName", "John"); params.put("lastName", "Doe"); - JettyService.getGreenJSONWithProxyParams.call(rd -> rd.queryParams.addAll(params)) + getJettyService().getGreenJSONWithProxyParams.call(rd -> rd.queryParams.addAll(params)) .isOk().assertThat(). body("greeting.firstName", equalTo("John")). body("greeting.lastName", equalTo("Doe")); @@ -64,7 +61,7 @@ public void usingProxySpecification() { final Map params = new HashMap<>(); params.put("firstName", "John"); params.put("lastName", "Doe"); - JettyService.getGreenJSON.call(rd -> { + getJettyService().getGreenJSON.call(rd -> { rd.queryParams.addAll(params); rd.proxySpec = ProxySpecification.host("localhost"); }).isOk().assertThat(). diff --git a/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/customsettings/SslAnnotationAndRequestDataTests.java b/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/customsettings/SslAnnotationAndRequestDataTests.java index e682001c..19367783 100644 --- a/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/customsettings/SslAnnotationAndRequestDataTests.java +++ b/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/customsettings/SslAnnotationAndRequestDataTests.java @@ -2,13 +2,9 @@ import com.epam.jdi.services.JettyServiceHttps; import com.epam.jdi.httptests.support.WithJetty; -import org.testng.annotations.BeforeClass; import org.testng.annotations.Test; import static com.epam.http.requests.ServiceInit.init; -import static com.epam.jdi.services.JettyServiceHttps.getHello; -import static com.epam.jdi.services.JettyServiceHttps.getJsonStore; -import static com.epam.jdi.services.JettyServiceHttps.getProducts; import static org.hamcrest.Matchers.allOf; import static org.hamcrest.Matchers.equalTo; import static org.hamcrest.Matchers.greaterThanOrEqualTo; @@ -18,20 +14,15 @@ public class SslAnnotationAndRequestDataTests extends WithJetty { - @BeforeClass - public void before() { - init(JettyServiceHttps.class); - } - @Test public void givenTrustStoreUsingRequestDataAllowsToUseSSL() throws Exception { - getHello.call(rd -> {rd.setTrustStore("src/test/resources/jetty_localhost_client.jks", "test1234");}) + getJettyServiceHttps().getHello.call(rd -> {rd.setTrustStore("src/test/resources/jetty_localhost_client.jks", "test1234");}) .isOk().body("hello", equalTo("Hello Scalatra")); } @Test public void overwriteUsingRequestDataTrustStoreGivenWithAnnotation() { - getJsonStore.call(rd -> {rd.setTrustStore("src/test/resources/jetty_localhost_client.jks", "test1234");}) + getJettyServiceHttps().getJsonStore.call(rd -> {rd.setTrustStore("src/test/resources/jetty_localhost_client.jks", "test1234");}) .isOk().assertThat() .statusCode(allOf(greaterThanOrEqualTo(200), lessThanOrEqualTo(300))). rootPath("store.book"). @@ -41,10 +32,14 @@ public void overwriteUsingRequestDataTrustStoreGivenWithAnnotation() { @Test public void givenTrustStoreUsingAnnotation() { - getProducts.call().isOk().assertThat() + getJettyServiceHttps().getProducts.call().isOk().assertThat() .body("price.sum()", is(38.0d)) .body("dimensions.width.min()", is(1.0f)) .body("name.collect { it.length() }.max()", is(16)) .body("dimensions.multiply(2).height.sum()", is(21.0)); } + + public JettyServiceHttps getJettyServiceHttps() { + return init(JettyServiceHttps.class); + } } \ No newline at end of file diff --git a/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/customsettings/SslTests.java b/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/customsettings/SslTests.java index 2b141427..a5e7041d 100644 --- a/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/customsettings/SslTests.java +++ b/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/customsettings/SslTests.java @@ -1,20 +1,14 @@ package com.epam.jdi.httptests.examples.customsettings; import com.epam.jdi.services.DuckDuckGo; -import org.testng.annotations.BeforeTest; import org.testng.annotations.Test; import static com.epam.http.requests.ServiceInit.init; public class SslTests { - @BeforeTest - public void before() { - init(DuckDuckGo.class); - } - @Test public void canMakeRequestToSitesWithValidSslCert() { - DuckDuckGo.simpleGet.call().isOk(); + init(DuckDuckGo.class).simpleGet.call().isOk(); } } \ No newline at end of file diff --git a/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/customsettings/SslWithCertificateTests.java b/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/customsettings/SslWithCertificateTests.java index 8ee2f3ba..665db1d7 100644 --- a/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/customsettings/SslWithCertificateTests.java +++ b/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/customsettings/SslWithCertificateTests.java @@ -9,31 +9,34 @@ import org.testng.annotations.Test; import static com.epam.http.requests.ServiceInit.init; -import static com.epam.jdi.services.JettyServiceHttps.getGreet; -import static com.epam.jdi.services.JettyServiceHttps.getHello; import static org.hamcrest.Matchers.equalTo; public class SslWithCertificateTests extends WithJetty { + private CertAuthScheme certificate; + @BeforeClass public void before() { - CertAuthScheme certificate = new CertAuthScheme(); + certificate = new CertAuthScheme(); certificate.setPathToTrustStore("src/test/resources/jetty_localhost_client.jks"); certificate.setTrustStorePassword("test1234"); certificate.setX509HostnameVerifier(CertificateAuthSettings.certAuthSettings().allowAllHostnames().getX509HostnameVerifier()); - init(JettyServiceHttps.class, ServiceSettings.builder().authenticationScheme(certificate).build()); } @Test public void givenKeystoreDefinedUsingGivenWhenSpecifyingJksKeyStoreFileWithCorrectPasswordAllowsToUseSSL() throws Exception { - getHello.call().isOk().body("hello", equalTo("Hello Scalatra")); + getJettyServiceHttps().getHello.call().isOk().body("hello", equalTo("Hello Scalatra")); } @Test public void whenLastParamInGetRequestEndsWithEqualItsTreatedAsANoValueParam() { - getGreet.call(d -> { + getJettyServiceHttps().getGreet.call(d -> { d.queryParams.add("firstName", "John"); d.queryParams.add("lastName", ""); }).isOk().assertThat().body("greeting", equalTo("Greetings John ")); } + + private JettyServiceHttps getJettyServiceHttps() { + return init(JettyServiceHttps.class, ServiceSettings.builder().authenticationScheme(certificate).build()); + } } \ No newline at end of file diff --git a/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/entities/DuckToGoRedeclareDomainToGoogleTest.java b/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/entities/DuckToGoRedeclareDomainToGoogleTest.java index 2295ca0d..0726f401 100644 --- a/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/entities/DuckToGoRedeclareDomainToGoogleTest.java +++ b/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/entities/DuckToGoRedeclareDomainToGoogleTest.java @@ -10,9 +10,7 @@ public class DuckToGoRedeclareDomainToGoogleTest { @Test public void callGetWithRedeclaredDomainWithSimpleString() { - init(DuckDuckGo.class, "https://google.com/"); - - final RestResponse call = DuckDuckGo.simpleGet.call(); + RestResponse call = init(DuckDuckGo.class, "https://google.com/").simpleGet.call(); call.isOk(); call.validate((it-> { final String body = it.getBody(); @@ -22,9 +20,7 @@ public void callGetWithRedeclaredDomainWithSimpleString() { @Test public void callGetWithRedeclaredDomainWithSimpleStringWithTemplate() { - init(DuckDuckGo.class, "${google}"); - - final RestResponse call = DuckDuckGo.simpleGet.call(); + RestResponse call = init(DuckDuckGo.class, "${google}").simpleGet.call(); call.isOk(); call.validate((it-> { final String body = it.getBody(); diff --git a/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/entities/ObjectMappingForServiceTests.java b/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/entities/ObjectMappingForServiceTests.java index ebb91ab7..967119df 100644 --- a/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/entities/ObjectMappingForServiceTests.java +++ b/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/entities/ObjectMappingForServiceTests.java @@ -21,37 +21,38 @@ public class ObjectMappingForServiceTests extends WithJetty { + private ObjectMapper objectMapper; + @BeforeClass public void before() { - ObjectMapper objectMapper = new Jackson2Mapper((type, s) -> { + objectMapper = new Jackson2Mapper((type, s) -> { com.fasterxml.jackson.databind.ObjectMapper objectMapper1 = new com.fasterxml.jackson.databind.ObjectMapper(); objectMapper1.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); return objectMapper1; }); - init(JettyService.class, ServiceSettings.builder().objectMapper(objectMapper).build()); } @Test public void contentTypesEndingWithPlusForJsonObjectMapping() { - Message messageObject = JettyService.getMimeType.callAsData(Message.class); + Message messageObject = getJettyService().getMimeType.callAsData(Message.class); assertThat(messageObject.getMessage(), equalTo("It works")); } @Test public void mapResponseToObjectJson() { - Product[] products = JettyService.getProducts.callAsData(Product[].class); + Product[] products = getJettyService().getProducts.callAsData(Product[].class); Assert.assertEquals(products.length, 2, "Number of products is incorrect"); } @Test public void mapResponseToObjectAsList() { - List products = JettyService.getProductsAsList.callAsData(); + List products = getJettyService().getProductsAsList.callAsData(); Assert.assertEquals(products.get(1).name, "A blue mouse", "Name of product is incorrect"); } @Test public void mapResponseToObjectAsArray() { - Product[] products = JettyService.getProductsAsArray.callAsData(); + Product[] products = getJettyService().getProductsAsArray.callAsData(); Assert.assertEquals(products[1].name, "A blue mouse", "Name of product is incorrect"); } @@ -59,7 +60,11 @@ public void mapResponseToObjectAsArray() { public void sendObjectToRequest() { final Hello object = new Hello(); object.hello = "Hello world"; - Hello response = JettyService.postObject.post(object, Hello.class); + Hello response = getJettyService().postObject.post(object, Hello.class); Assert.assertEquals(response.hello, "Hello world", "Response is incorrect"); } + + protected JettyService getJettyService() { + return init(JettyService.class, ServiceSettings.builder().objectMapper(objectMapper).build()); + } } \ No newline at end of file diff --git a/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/entities/ObjectMappingForWholeProjectTests.java b/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/entities/ObjectMappingForWholeProjectTests.java index b83a429e..c228c802 100644 --- a/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/entities/ObjectMappingForWholeProjectTests.java +++ b/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/entities/ObjectMappingForWholeProjectTests.java @@ -5,7 +5,6 @@ import com.epam.jdi.dto.Message; import com.epam.jdi.dto.Product; import com.epam.jdi.httptests.support.WithJetty; -import com.epam.jdi.services.JettyService; import com.fasterxml.jackson.databind.DeserializationFeature; import com.fasterxml.jackson.databind.ObjectMapper; import io.restassured.RestAssured; @@ -19,7 +18,6 @@ import java.lang.reflect.Type; -import static com.epam.http.requests.ServiceInit.init; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.equalTo; @@ -37,25 +35,24 @@ public ObjectMapper create(Type type, String s) { } } )); - init(JettyService.class); } @Test(priority = 0) public void mapResponseToObjectXml() { - Greeting greetingObject = JettyService.getGreetXml.callAsData(Greeting.class); + Greeting greetingObject = getJettyService().getGreetXml.callAsData(Greeting.class); assertThat(greetingObject.firstName, equalTo("John")); assertThat(greetingObject.lastName, equalTo("Doe")); } @Test public void contentTypesEndingWithPlusForJsonObjectMapping() { - Message messageObject = JettyService.getMimeType.callAsData(Message.class); + Message messageObject = getJettyService().getMimeType.callAsData(Message.class); assertThat(messageObject.getMessage(), equalTo("It works")); } @Test public void mapResponseToObjectJson() { - Product[] products = JettyService.getProducts.callAsData(Product[].class); + Product[] products = getJettyService().getProducts.callAsData(Product[].class); Assert.assertEquals(products.length, 2, "Number of products is incorrect"); } @@ -64,7 +61,7 @@ public void sendObjectToRequest() { final Hello object = new Hello(); object.hello = "Hello world"; new RequestSpecBuilder().build().body(object); - Hello response = JettyService.postObject.post(object, Hello.class); + Hello response = getJettyService().postObject.post(object, Hello.class); Assert.assertEquals(response.hello, "Hello world", "Response is incorrect"); } } \ No newline at end of file diff --git a/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/entities/TrelloTests.java b/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/entities/TrelloTests.java index 9419fef5..ddefa756 100644 --- a/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/entities/TrelloTests.java +++ b/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/entities/TrelloTests.java @@ -1,8 +1,13 @@ package com.epam.jdi.httptests.examples.entities; -import com.epam.jdi.dto.*; +import com.epam.jdi.dto.Board; +import com.epam.jdi.dto.Card; +import com.epam.jdi.dto.Organization; +import com.epam.jdi.dto.TrelloList; import com.epam.jdi.services.TrelloService; -import org.testng.annotations.*; +import org.testng.annotations.AfterClass; +import org.testng.annotations.BeforeClass; +import org.testng.annotations.Test; import java.util.List; @@ -11,7 +16,6 @@ import static com.epam.jdi.httptests.utils.TrelloDataGenerator.generateCard; import static com.epam.jdi.httptests.utils.TrelloDataGenerator.generateList; import static com.epam.jdi.httptests.utils.TrelloDataGenerator.generateOrganization; -import static com.epam.jdi.services.TrelloService.*; import static com.jdiai.tools.LinqUtils.map; import static org.testng.Assert.assertEquals; import static org.testng.Assert.assertTrue; @@ -21,53 +25,60 @@ public class TrelloTests { @BeforeClass public void initService() { - init(TrelloService.class); // Create organization to use. // It's impossible to create a board in case of no organizations exists Organization organization = generateOrganization(); - Organization createOrg = createOrganization(organization); + Organization createOrg = getTrelloService().createOrganization(organization); createdOrgId = createOrg.id; } @Test public void createCardInBoard() { + TrelloService trello = getTrelloService(); //Create board Board board = generateBoard(); - Board createdBoard = createBoard(board); + Board createdBoard = trello.createBoard(board); createdBoardId = createdBoard.id; - Board gotBoard = getBoard(createdBoardId); + Board gotBoard = trello.getBoard(createdBoardId); assertEquals(gotBoard.name, createdBoard.name, "Name of created board is incorrect"); //Create list TrelloList tList = generateList(createdBoard); - TrelloList createdList = createList(tList); + TrelloList createdList =trello.createList(tList); //Create Card Card card = generateCard(createdBoard, createdList); - Card createdCard = addNewCardToBoard(card); + Card createdCard = trello.addNewCardToBoard(card); //Check that card was added - Board cardBoard = getCardBoard(createdCard.id); + Board cardBoard = trello.getCardBoard(createdCard.id); assertEquals(cardBoard.name, board.name, "Card wasn't added to board"); } @Test public void assignBoardToOrganization() { + TrelloService trello = getTrelloService(); //Create board Board board = generateBoard(); board.idOrganization = createdOrgId; - Board createdBoard = createBoard(board); + Board createdBoard = trello.createBoard(board); createdBoardId2 = createdBoard.id; //Check that organization contains created board - List boards = getOrganizationBoards(createdOrgId); + List boards = trello.getOrganizationBoards(createdOrgId); assertTrue(map(boards, b -> b.name).contains(board.name), "Board wasn't added to organization"); } @AfterClass public void clearBoards() { - deleteBoard(createdBoardId); - deleteBoard(createdBoardId2); - deleteOrg(createdOrgId); + TrelloService trello = getTrelloService(); + + trello.deleteBoard(createdBoardId); + trello.deleteBoard(createdBoardId2); + trello.deleteOrg(createdOrgId); + } + + private TrelloService getTrelloService() { + return init(TrelloService.class); } } diff --git a/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/requestparams/AlphaVantageFinanceQueryParamsTest.java b/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/requestparams/AlphaVantageFinanceQueryParamsTest.java index 98959545..d714ea4b 100644 --- a/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/requestparams/AlphaVantageFinanceQueryParamsTest.java +++ b/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/requestparams/AlphaVantageFinanceQueryParamsTest.java @@ -8,7 +8,6 @@ import io.restassured.builder.RequestSpecBuilder; import java.util.HashMap; import java.util.Map; -import org.testng.annotations.BeforeTest; import org.testng.annotations.Test; /** Created by oksana_cherniavskaia on 27.08.2020. */ @@ -21,11 +20,6 @@ public class AlphaVantageFinanceQueryParamsTest { public static final String API_KEY_PARAM = "apikey"; public static final String API_KEY_PARAM_VALUE = "JSE55UV7F8PW7PYT"; - @BeforeTest - public void before() { - init(AlphaVantageFinanceService.class); - } - @Test public void callGetLatestQuotesSymbolParamWithMap() { @@ -35,7 +29,7 @@ public void callGetLatestQuotesSymbolParamWithMap() { parametersMap.put(SYMBOL_PARAM, SYMBOL_PARAM_VALUE); parametersMap.put(API_KEY_PARAM, API_KEY_PARAM_VALUE); - final RestResponse call = AlphaVantageFinanceService.getQuotes.call( + final RestResponse call = getAlphaVantageFinanceService().getQuotes.call( queryParams() .addAll( new Object[][]{ @@ -60,7 +54,7 @@ public void callGetLatestQuotesSymbolParamWithCustomSpec() { RequestSpecBuilder requestSpecBuilder = new RequestSpecBuilder(); requestSpecBuilder.addQueryParams(parametersMap); - final RestResponse call2 = AlphaVantageFinanceService.getQuotes.call(requestSpecBuilder.build()); + final RestResponse call2 = getAlphaVantageFinanceService().getQuotes.call(requestSpecBuilder.build()); call2.isOk(); } @@ -68,7 +62,7 @@ public void callGetLatestQuotesSymbolParamWithCustomSpec() { @Test public void callGetLatestQuotesSymbolParamWith2DArray() { - final RestResponse call = AlphaVantageFinanceService.getQuotes.call( + final RestResponse call = getAlphaVantageFinanceService().getQuotes.call( queryParams() .addAll( new Object[][]{ @@ -79,4 +73,8 @@ public void callGetLatestQuotesSymbolParamWith2DArray() { call.isOk(); } + public AlphaVantageFinanceService getAlphaVantageFinanceService() { + return init(AlphaVantageFinanceService.class); + } + } diff --git a/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/requestparams/ContentTypeTests.java b/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/requestparams/ContentTypeTests.java index 99ce3981..d4e47848 100644 --- a/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/requestparams/ContentTypeTests.java +++ b/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/requestparams/ContentTypeTests.java @@ -15,16 +15,6 @@ import static com.epam.http.requests.RequestDataFactory.queryParams; import static com.epam.http.requests.ServiceInit.init; -import static com.epam.jdi.services.JettyService.getContentTypeAsBody; -import static com.epam.jdi.services.JettyService.getHeadersWithValues; -import static com.epam.jdi.services.JettyService.getHello; -import static com.epam.jdi.services.JettyService.getReflect; -import static com.epam.jdi.services.JettyService.getReturnContentTypeAsBody; -import static com.epam.jdi.services.JettyService.postContentTypeAsBody; -import static com.epam.jdi.services.JettyService.postReturn204WithContentType; -import static com.epam.jdi.services.JettyService.postReturnContentTypeAsBody; -import static com.epam.jdi.services.JettyService.postTextUriList; -import static com.epam.jdi.services.JettyService.putReflect; import static io.restassured.RestAssured.config; import static org.apache.commons.lang3.StringUtils.lowerCase; import static org.apache.commons.lang3.StringUtils.remove; @@ -40,25 +30,25 @@ public void before() { @Test(expectedExceptions = AssertionError.class, expectedExceptionsMessageRegExp = "1 expectation failed.\nExpected content-type \"something\" doesn't match actual content-type \"application/json;charset=utf-8\".\n") public void canValidateResponseContentType() throws Exception { - RestResponse response = getHello.call(); + RestResponse response = getJettyService().getHello.call(); response.assertThat().assertThat().contentType("something"); } @Test public void canValidateResponseContentTypeWithHamcrestMatcher() { - RestResponse response = getHello.call(); + RestResponse response = getJettyService().getHello.call(); response.isOk().assertThat().contentType("application/json;charset=utf-8"); } @Test public void validatesContentTypeEvenWhenItIsA204Response() { - postReturn204WithContentType.call() + getJettyService().postReturn204WithContentType.call() .assertThat().contentType(ContentType.JSON).and().assertThat().statusCode(204); } @Test public void contentTypeIsSentToTheServerWhenUsingAGetRequest() { - getContentTypeAsBody.call(rd -> { + getJettyService().getContentTypeAsBody.call(rd -> { rd.queryParams.add("foo", "bar"); rd.setContentType(ContentType.XML.withCharset("utf-8")); }).assertThat().body(equalTo(ContentType.XML.withCharset("utf-8"))); @@ -66,7 +56,7 @@ public void contentTypeIsSentToTheServerWhenUsingAGetRequest() { @Test public void noContentTypeIsSentByDefaultWhenUsingGetRequest() { - RestResponse response = getContentTypeAsBody + RestResponse response = getJettyService().getContentTypeAsBody .call(rd -> rd.queryParams.add("foo", "bar")); response.assertThat().body(equalTo("null")); @@ -74,7 +64,7 @@ public void noContentTypeIsSentByDefaultWhenUsingGetRequest() { @Test public void whenFormParamAreSuppliedWithGetRequestAndContentTypeIsExplicitlyDefinedThenContentTypeIsNotAutomaticallySetToFormEncoded() { - RestResponse response = getReturnContentTypeAsBody + RestResponse response = getJettyService().getReturnContentTypeAsBody .call(rd -> { rd.setContentType(ContentType.JSON.withCharset(config().getEncoderConfig().defaultCharsetForContentType(ContentType.JSON))); rd.queryParams.add("firstName", "John"); @@ -91,7 +81,7 @@ public void nonRegisteredContentTypeContainingPlusTextIsEncodedAsText() { "http://www.example.com/doorbells\n" + "tag:foo@example.com,2012-07-01:bright-copper-kettles\n" + "urn:isbn:0-061-99881-8"; - RestResponse response = postTextUriList + RestResponse response = getJettyService().postTextUriList .call(rd -> { rd.setContentType("application/uri-list+text"); rd.setBody(uriList); @@ -107,7 +97,7 @@ public void nonRegisteredContentTypeStartingWithTextSlashIsEncodedAsText() { "http://www.example.com/doorbells\n" + "tag:foo@example.com,2012-07-01:bright-copper-kettles\n" + "urn:isbn:0-061-99881-8"; - RestResponse response = postTextUriList + RestResponse response = getJettyService().postTextUriList .call(rd -> { rd.setContentType("text/uri-list"); rd.setBody(uriList); @@ -117,13 +107,13 @@ public void nonRegisteredContentTypeStartingWithTextSlashIsEncodedAsText() { @Test public void contentTypeIsTextPlainWithDefaultCharsetWhenNoContentTypeIsSpecifiedForPutRequests() { - RestResponse response = putReflect.call(queryParams().add("foo", "bar")); + RestResponse response = getJettyService().putReflect.call(queryParams().add("foo", "bar")); response.isOk().contentType(toJetty9(ContentType.TEXT.withCharset(config().getEncoderConfig().defaultContentCharset()))); } @Test public void contentTypeIsApplicationXWwwFormUrlencodedWithDefaultCharsetWhenNoContentTypeIsSpecifiedForPostRequests() { - RestResponse response = postContentTypeAsBody + RestResponse response = getJettyService().postContentTypeAsBody .call(rd -> rd.queryParams.add("foo", "bar")); response.assertThat().body(equalTo(ContentType.URLENC.withCharset(config().getEncoderConfig().defaultContentCharset()))); @@ -133,13 +123,13 @@ public void contentTypeIsApplicationXWwwFormUrlencodedWithDefaultCharsetWhenNoCo public void contentTypeValidationIsCaseInsensitive() { // Since we provide no content-type (null) Scalatra will return a default content-type which is the // same as specified in config().getEncoderConfig().defaultContentCharset() but with charset as lower case. - getReflect.call(rd -> rd.queryParams.add("foo", "bar")) + getJettyService().getReflect.call(rd -> rd.queryParams.add("foo", "bar")) .assertThat().contentType(toJetty9(ContentType.TEXT.withCharset(config().getEncoderConfig().defaultContentCharset()))); } @Test public void headerWithContentTypeEnumWorks() { - postReturnContentTypeAsBody + getJettyService().postReturnContentTypeAsBody .call(rd -> rd.headers = new Headers(new Header("Content-Type", ContentType.JSON.withCharset(config().getEncoderConfig().defaultCharsetForContentType(ContentType.JSON))))) @@ -148,29 +138,33 @@ public void headerWithContentTypeEnumWorks() { @Test public void appendsCharsetToNonStreamingContentTypeWhenContentTypeIsExplicitlyDefinedAndEncoderConfigIsConfiguredAccordingly() throws Exception { - RequestSpecification rs = postReturnContentTypeAsBody.getInitSpec() + JettyService jetty = getJettyService(); + + RequestSpecification rs = jetty.postReturnContentTypeAsBody.getInitSpec() .config(config().encoderConfig(EncoderConfig.encoderConfig().appendDefaultContentCharsetToContentTypeIfUndefined(true))); - RestResponse response = postReturnContentTypeAsBody.call(rs.body("something").contentType("application/vnd.com.example-v1+xml")); + RestResponse response = jetty.postReturnContentTypeAsBody.call(rs.body("something").contentType("application/vnd.com.example-v1+xml")); response.isOk().assertThat().body(equalTo("application/vnd.com.example-v1+xml; charset=ISO-8859-1")); } @Test public void customRegisteredEncodingOfContentTypeIsAppliedThroughEncoderConfig() { + JettyService jetty = getJettyService(); + String uriList = "http://www.example.com/raindrops-on-roses\n" + "ftp://www.example.com/sleighbells\n" + "http://www.example.com/crisp-apple-strudel\n" + "http://www.example.com/doorbells\n" + "tag:foo@example.com,2012-07-01:bright-copper-kettles\n" + "urn:isbn:0-061-99881-8"; - RequestSpecification rs = postTextUriList.getInitSpec() + RequestSpecification rs = jetty.postTextUriList.getInitSpec() .config(config().encoderConfig(EncoderConfig.encoderConfig().encodeContentTypeAs("my-text", ContentType.TEXT))); - postTextUriList.call(rs.body(uriList).contentType("my-text")) + jetty.postTextUriList.call(rs.body(uriList).contentType("my-text")) .isOk().assertThat().body("uris.size()", is(6)); } @Test public void doesntSendAContentTypeHeaderWhenThereIsNoBody() { - RestResponse response = getHeadersWithValues.call(); + RestResponse response = getJettyService().getHeadersWithValues.call(); response.isOk().body("containsKey('Content-Type')", is(false)); } @@ -180,33 +174,41 @@ private String toJetty9(String charset) { @Test public void encoderConfigCanSpecifyADefaultCharsetForASpecificContentTypeUsingEnum() { - RequestSpecification rs = postReturnContentTypeAsBody.getInitSpec() + JettyService jetty = getJettyService(); + + RequestSpecification rs = jetty.postReturnContentTypeAsBody.getInitSpec() .config(config().encoderConfig(EncoderConfig.encoderConfig().defaultCharsetForContentType(StandardCharsets.ISO_8859_1.toString(), ContentType.JSON))); - postReturnContentTypeAsBody.call(rs.contentType(ContentType.JSON)) + jetty.postReturnContentTypeAsBody.call(rs.contentType(ContentType.JSON)) .isOk().assertThat().body(equalTo(ContentType.JSON.withCharset(StandardCharsets.ISO_8859_1.toString()))); } @Test public void doesntAppendCharsetToNonStreamingContentTypeWhenContentTypeIsExplicitlyDefinedAndEncoderConfigIsConfiguredAccordingly() { - RequestSpecification rs = postReturnContentTypeAsBody.getInitSpec() + JettyService jetty = getJettyService(); + + RequestSpecification rs = jetty.postReturnContentTypeAsBody.getInitSpec() .config(config().encoderConfig(EncoderConfig.encoderConfig().appendDefaultContentCharsetToContentTypeIfUndefined(false))); - RestResponse response = postReturnContentTypeAsBody.call(rs.body("something").contentType("application/vnd.com.example-v1+json")); + RestResponse response = jetty.postReturnContentTypeAsBody.call(rs.body("something").contentType("application/vnd.com.example-v1+json")); response.isOk().assertThat().body(equalTo("application/vnd.com.example-v1+json")); } @Test public void doesntOverrideDefinedCharsetForNonStreamingContentTypeWhenContentTypeIsExplicitlyDefinedAndEncoderConfigIsConfiguredAccordingly() throws Exception { - RequestSpecification rs = postReturnContentTypeAsBody.getInitSpec() + JettyService jetty = getJettyService(); + + RequestSpecification rs = jetty.postReturnContentTypeAsBody.getInitSpec() .config(config().encoderConfig(EncoderConfig.encoderConfig().appendDefaultContentCharsetToContentTypeIfUndefined(true))); - postReturnContentTypeAsBody.call(rs.body("something").contentType("application/vnd.com.example-v1+json; charSet=UTF-16")) + jetty.postReturnContentTypeAsBody.call(rs.body("something").contentType("application/vnd.com.example-v1+json; charSet=UTF-16")) .isOk().assertThat().body(equalTo("application/vnd.com.example-v1+json; charSet=UTF-16")); } @Test public void encoderConfigCanSpecifyADefaultCharsetForASpecificContentTypeUsingString() { - RequestSpecification rs = postReturnContentTypeAsBody.getInitSpec() + JettyService jetty = getJettyService(); + + RequestSpecification rs = jetty.postReturnContentTypeAsBody.getInitSpec() .config(config().encoderConfig(EncoderConfig.encoderConfig().defaultCharsetForContentType(StandardCharsets.ISO_8859_1.toString(), "application/json"))); - postReturnContentTypeAsBody.call(rs.contentType(ContentType.JSON)) + jetty.postReturnContentTypeAsBody.call(rs.contentType(ContentType.JSON)) .isOk().assertThat().body(equalTo(ContentType.JSON.withCharset(StandardCharsets.ISO_8859_1.toString()))); } @@ -215,7 +217,7 @@ public void encoderConfigCanSpecifyADefaultCharsetForASpecificContentTypeUsingSt ".* know how to encode encode as a byte stream.\n\nPlease use EncoderConfig .*" + ".*to specify how to serialize data for this content-type.*") public void showsANiceErrorMessageWhenFailedToEncodeContent() throws Exception { - postTextUriList.call(rd -> { + getJettyService().postTextUriList.call(rd -> { rd.setContentType("my-text"); rd.setBody("encode"); }); @@ -223,17 +225,21 @@ public void showsANiceErrorMessageWhenFailedToEncodeContent() throws Exception { @Test public void contentTypeIsSentToTheServerWhenUsingAPostRequest() { - RequestSpecification rs = postContentTypeAsBody.getInitSpec() + JettyService jetty = getJettyService(); + + RequestSpecification rs = jetty.postContentTypeAsBody.getInitSpec() .config(config().encoderConfig(EncoderConfig.encoderConfig().appendDefaultContentCharsetToContentTypeIfUndefined(false))); - postContentTypeAsBody.call(rs.queryParam("foo", "bar").contentType(ContentType.XML)) + jetty.postContentTypeAsBody.call(rs.queryParam("foo", "bar").contentType(ContentType.XML)) .isOk().assertThat().body(equalTo(ContentType.XML.toString())); } @Test public void contentTypeIsSentToTheServerWhenUsingAPostRequest1() { - RequestSpecification rs = postContentTypeAsBody.getInitSpec() + JettyService jetty = getJettyService(); + + RequestSpecification rs = jetty.postContentTypeAsBody.getInitSpec() .config(config().encoderConfig(EncoderConfig.encoderConfig().appendDefaultContentCharsetToContentTypeIfUndefined(false))); - postContentTypeAsBody.call(rs.queryParam("foo", "bar").contentType(ContentType.XML)) + jetty.postContentTypeAsBody.call(rs.queryParam("foo", "bar").contentType(ContentType.XML)) .isOk().assertThat().body(equalTo(ContentType.XML.toString())); } } \ No newline at end of file diff --git a/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/requestparams/CookiesTests.java b/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/requestparams/CookiesTests.java index 63c500a1..9b2b7ded 100644 --- a/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/requestparams/CookiesTests.java +++ b/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/requestparams/CookiesTests.java @@ -31,14 +31,9 @@ public class CookiesTests extends WithJetty { - @BeforeClass - public void before() { - init(JettyService.class); - } - @Test public void multiValueCookieReturnsTheLastValueInMap() { - RestResponse response = JettyService.getMultiCookie.call(); + RestResponse response = getJettyService().getMultiCookie.call(); response.isOk(); final Map cookies = response.cookies(); assertThat(cookies, hasEntry("cookie1", "cookieValue2")); @@ -46,51 +41,51 @@ public void multiValueCookieReturnsTheLastValueInMap() { @Test public void detailedCookiesAllowsToGetMultiValues() { - final Cookies cookies = JettyService.getMultiCookie.call().getRaResponse().detailedCookies(); + final Cookies cookies = getJettyService().getMultiCookie.call().getRaResponse().detailedCookies(); assertThat(cookies.getValues("cookie1"), hasItems("cookieValue1", "cookieValue2")); } @Test public void multiValueCookieReturnsTheLastValueInDsl() { - RestResponse response = JettyService.getMultiCookie.call(); + RestResponse response = getJettyService().getMultiCookie.call(); assertThat(response.cookie("cookie1"), equalTo("cookieValue2")); } @Test public void canSpecifyMultiValueCookiesPassingSeveralValuesToTheCookieMethod() { - RestResponse response = JettyService.getMultiCookieRequest.call(cookies().add("key1", "value1", "value2")); + RestResponse response = getJettyService().getMultiCookieRequest.call(cookies().add("key1", "value1", "value2")); assertThat(response.getBody(), equalTo("[{\"key1\":\"value1\"},{\"key1\":\"value2\"}]")); } @Test public void canSpecifyMultiValueCookiesPassingSeveralValuesToTheServiceObject() { - RestResponse response = JettyService.getMultiCookieWithCookies.call(); + RestResponse response = getJettyService().getMultiCookieWithCookies.call(); assertThat(response.getBody(), equalTo("[{\"key1\":\"value1\"},{\"key1\":\"value2\"}]")); } @Test public void supportsCookieStringMatchingViaDsl() { - JettyService.setCookies.call().isOk().assertThat().cookie("key1", "value1"); + getJettyService().setCookies.call().isOk().assertThat().cookie("key1", "value1"); } @Test public void supportsMultipleCookieStatements() { - JettyService.setCookies.call().isOk().assertThat().cookie("key1", "value1").and().cookie("key2", "value2"); + getJettyService().setCookies.call().isOk().assertThat().cookie("key1", "value1").and().cookie("key2", "value2"); } @Test public void supportsMultipleCookiesShortVersionUsingPlainStrings() { - JettyService.setCookies.call().isOk().assertThat().cookies("key1", "value1", "key3", "value3"); + getJettyService().setCookies.call().isOk().assertThat().cookies("key1", "value1", "key3", "value3"); } @Test public void supportsMultipleCookiesShortVersionUsingHamcrestMatching() { - JettyService.setCookies.call().isOk().assertThat().cookies("key2", containsString("2"), "key3", equalTo("value3")); + getJettyService().setCookies.call().isOk().assertThat().cookies("key2", containsString("2"), "key3", equalTo("value3")); } @Test public void supportsMultipleCookiesShortVersionUsingMixOfHamcrestMatchingAndStringMatching() { - JettyService.setCookies.call().isOk().assertThat().cookies("key1", containsString("1"), "key2", "value2"); + getJettyService().setCookies.call().isOk().assertThat().cookies("key1", containsString("1"), "key2", "value2"); } @Test @@ -98,13 +93,13 @@ public void supportsMultipleCookiesVerificationUsingMap() { Map expectedCookies = new HashMap<>(); expectedCookies.put("key1", "value1"); expectedCookies.put("key2", "value2"); - JettyService.setCookies.call().isOk().assertThat().cookies(expectedCookies); + getJettyService().setCookies.call().isOk().assertThat().cookies(expectedCookies); } @Test public void canPassCookiesAsObjectsArray() { Object[][] cookiesArray = new Object[][]{{"key1", "value1"}, {"key2", "value2"}}; - RestResponse response = JettyService.getMultiCookieRequest.call(cookies().addAll(cookiesArray)); + RestResponse response = getJettyService().getMultiCookieRequest.call(cookies().addAll(cookiesArray)); assertThat(response.getBody(), equalTo("[{\"key1\":\"value1\"},{\"key2\":\"value2\"}]")); } @@ -113,7 +108,7 @@ public void supportsMultipleCookiesUsingMapWithHamcrestMatcher() { Map> expectedCookies = new HashMap<>(); expectedCookies.put("key1", containsString("1")); expectedCookies.put("key3", equalTo("value3")); - JettyService.setCookies.call().isOk().assertThat().cookies(expectedCookies); + getJettyService().setCookies.call().isOk().assertThat().cookies(expectedCookies); } @Test @@ -121,49 +116,51 @@ public void supportsMultipleCookiesUsingMapWithMixOfStringAndHamcrestMatcher() { Map expectedCookies = new HashMap<>(); expectedCookies.put("key1", containsString("1")); expectedCookies.put("key2", "value2"); - JettyService.setCookies.call().isOk().assertThat().cookies(expectedCookies); + getJettyService().setCookies.call().isOk().assertThat().cookies(expectedCookies); } @Test(expectedExceptions = AssertionError.class, expectedExceptionsMessageRegExp = ".*1 expectation failed.*") public void assertionErrorIsThrownWhenCookieDoesNotMatch() { - JettyService.setCookies.call().isOk().assertThat().cookie("key1", "value2"); - Cookie cookie = JettyService.setCookies.call().getRaResponse().getDetailedCookie("key1"); + JettyService jetty = getJettyService(); + + jetty.setCookies.call().isOk().assertThat().cookie("key1", "value2"); + Cookie cookie = jetty.setCookies.call().getRaResponse().getDetailedCookie("key1"); assertThat(cookie, notNullValue()); } @Test public void requestSpecificationAllowsSpecifyingCookieWithNoValue() { - RestResponse response = JettyService.getCookieWithNoValue.call(cookies().add("some_cookie")); + RestResponse response = getJettyService().getCookieWithNoValue.call(cookies().add("some_cookie")); assertThat(response.getBody(), equalTo("some_cookie")); } @Test public void serviceObjectAllowsSpecifyingCookieWithNoValue() { - RestResponse response = JettyService.getCookieWithNoValueWithCookies.call(); + RestResponse response = getJettyService().getCookieWithNoValueWithCookies.call(); assertThat(response.getBody(), equalTo("some_cookie")); } @Test public void responseSpecificationAllowsParsingCookieWithNoValue() { - Response response = JettyService.getResponseCookieWithNoValue.call().getRaResponse(); + Response response = getJettyService().getResponseCookieWithNoValue.call().getRaResponse(); assertThat("Cookie is empty", response.cookie("PLAY_FLASH").isEmpty()); } @Test public void requestSpecificationAllowsSpecifyingCookies() { - RestResponse response = JettyService.getSpecifiedCookiePairs("username", "name1Value", "token", "name2Value"); + RestResponse response = getJettyService().getSpecifiedCookiePairs("username", "name1Value", "token", "name2Value"); assertThat(response.getBody(), equalTo("username, token")); } @Test public void serviceObjectAllowsSpecifyingCookies() { - RestResponse response = JettyService.getCookieWithCookies.call(); + RestResponse response = getJettyService().getCookieWithCookies.call(); assertThat(response.getBody(), equalTo("username, token")); } @Test public void cookiesCombinedFromServiceObjectAndRequestData() { - RestResponse response = JettyService.getCookieWithCookies.call(cookies().add("userCookie1", "userValue1")); + RestResponse response = getJettyService().getCookieWithCookies.call(cookies().add("userCookie1", "userValue1")); assertThat(response.getBody(), equalTo("username, token, userCookie1")); } @@ -173,7 +170,7 @@ public void requestSpecificationAllowsSpecifyingCookieUsingMap() { cookies.put("username", "John"); cookies.put("token", "1234"); - RestResponse response = JettyService.getCookie.call(cookies().addAll(cookies)); + RestResponse response = getJettyService().getCookie.call(cookies().addAll(cookies)); assertThat(response.getBody(), equalTo("username, token")); } @@ -183,14 +180,14 @@ public void requestSpecificationAllowsSpecifyingMultipleCookies() { cookies.put("username", "John"); cookies.put("token", "1234"); - RestResponse response = JettyService.getMultipleCookieSpecifiedUsingMap(cookies, "key1", "value1"); + RestResponse response = getJettyService().getMultipleCookieSpecifiedUsingMap(cookies, "key1", "value1"); assertThat(response.getBody(), equalTo("username, token, key1")); } @Test public void canGetCookieDetails() { - final List cookies = JettyService.getMultiCookie.call().getRaResponse().getDetailedCookies().getList("cookie1"); + final List cookies = getJettyService().getMultiCookie.call().getRaResponse().getDetailedCookies().getList("cookie1"); assertThat(cookies.size(), is(2)); final Cookie firstCookie = cookies.get(0); @@ -208,13 +205,13 @@ public void canGetCookieDetails() { @Test public void cookiesParsingSupportsNoValueCookies() { - RestResponse response = JettyService.postEmptyCookie("no-value-cookie"); + RestResponse response = getJettyService().postEmptyCookie("no-value-cookie"); assertThat("Cookie is empty", response.cookie("no-value-cookie").isEmpty()); } @Test public void detailedCookieWorks() { - final Cookie detailedCookieJsessionId = JettyService.getHtmlWithCookie.call().getRaResponse().detailedCookie("JSESSIONID"); + final Cookie detailedCookieJsessionId = getJettyService().getHtmlWithCookie.call().getRaResponse().detailedCookie("JSESSIONID"); assertThat(detailedCookieJsessionId, notNullValue()); assertThat(detailedCookieJsessionId.getPath(), equalTo("/")); assertThat(detailedCookieJsessionId.getValue(), equalTo("B3134D534F40968A3805968207273EF5")); @@ -222,7 +219,7 @@ public void detailedCookieWorks() { @Test public void getDetailedCookieWorks() { - final Cookie detailedCookieJsessionId = JettyService.getHtmlWithCookie.call().getRaResponse().getDetailedCookie("JSESSIONID"); + final Cookie detailedCookieJsessionId = getJettyService().getHtmlWithCookie.call().getRaResponse().getDetailedCookie("JSESSIONID"); assertThat(detailedCookieJsessionId, notNullValue()); assertThat(detailedCookieJsessionId.getPath(), equalTo("/")); assertThat(detailedCookieJsessionId.getValue(), equalTo("B3134D534F40968A3805968207273EF5")); @@ -230,24 +227,24 @@ public void getDetailedCookieWorks() { @Test(expectedExceptions = AssertionError.class, expectedExceptionsMessageRegExp = ".*1 expectation failed.*") public void assertionErrorIsThrownWhenCookieIsNotFound() { - JettyService.setCookies.call().isOk().assertThat().cookie("Not-Defined", "something"); + getJettyService().setCookies.call().isOk().assertThat().cookie("Not-Defined", "something"); } @Test public void supportEqualCharacterInCookieValue() { - JettyService.postSpecifiedCookie("jsessionid", "9HTaCatOIaiO7ccHojDzuxwVoIU=").isOk() + getJettyService().postSpecifiedCookie("jsessionid", "9HTaCatOIaiO7ccHojDzuxwVoIU=").isOk() .assertThat().cookie("JSESSIONID", "9HTaCatOIaiO7ccHojDzuxwVoIU="); } @Test public void supportsMultipleCookiesWithSameKey() { - Map map = JettyService.getCommonIdCookies.call().cookies(); + Map map = getJettyService().getCommonIdCookies.call().cookies(); assertThat(map.get("key1"), equalTo("value3")); } @Test public void supportsMultipleCookiesWithDifferentAnnotation() { - RestResponse response = JettyService.getMultiCookieWithManyCookies.call(); + RestResponse response = getJettyService().getMultiCookieWithManyCookies.call(); assertThat(response.getBody(), equalTo("[{\"key1\":\"value1\"},{\"key1\":\"value2\"},{\"key2\":\"\"},{\"key3\":\"value3\"},{\"key4\":\"value4\"}]")); } @@ -255,8 +252,8 @@ public void supportsMultipleCookiesWithDifferentAnnotation() { public void supportsCookiesFromRequestSpecification() { RequestSpecification rs = given().filter(new AllureRestAssured()).cookie("SpecCookie1", "SpecCookieValue1"); init(JettyService.class, ServiceSettings.builder().requestSpecification(rs).build()); - RestResponse response = JettyService.getMultiCookieRequest.call(cookies().add("userCookie1", "userValue1")); + RestResponse response = init(JettyService.class, ServiceSettings.builder().requestSpecification(rs).build()) + .getMultiCookieRequest.call(cookies().add("userCookie1", "userValue1")); assertThat(response.getBody(), equalTo("[{\"SpecCookie1\":\"SpecCookieValue1\"},{\"userCookie1\":\"userValue1\"}]")); - init(JettyService.class, ServiceSettings.builder().requestSpecification(given().filter(new AllureRestAssured())).build()); } } diff --git a/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/requestparams/CurrencyRatesServiceWithQueryAndPathParamsTest.java b/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/requestparams/CurrencyRatesServiceWithQueryAndPathParamsTest.java index 77a50c56..b6a67342 100644 --- a/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/requestparams/CurrencyRatesServiceWithQueryAndPathParamsTest.java +++ b/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/requestparams/CurrencyRatesServiceWithQueryAndPathParamsTest.java @@ -20,24 +20,16 @@ public class CurrencyRatesServiceWithQueryAndPathParamsTest { public static final String BASE_PARAM = "base"; public static final String BASE_PARAM_VALUE = "USD"; - @BeforeTest - public void before() { - init(CurrencyRatesService.class); - } - @Test(enabled = false) public void callGetLatestQuotes() { - - final RestResponse call = CurrencyRatesService.latest.call(); + final RestResponse call = getCurrencyRatesService().latest.call(); call.isOk(); } @Test(enabled = false) public void callGetLatestQuotesSymbolsParam() { - - init(CurrencyRatesService.class); final RestResponse call = - CurrencyRatesService.latest.call( + getCurrencyRatesService().latest.call( queryParams() .addAll( new Object[][] { @@ -51,10 +43,8 @@ public void callGetLatestQuotesSymbolsParam() { @Test(enabled = false) public void callGetLatestQuotesSymbolsAndBaseParam() { - - init(CurrencyRatesService.class); final RestResponse call = - CurrencyRatesService.latest.call( + getCurrencyRatesService().latest.call( queryParams() .addAll( new Object[][] { @@ -80,8 +70,12 @@ public void callGetHistoricalQuotesSymbolsAndBaseParam() { final RequestSpecBuilder requestSpecBuilder = new RequestSpecBuilder(); requestSpecBuilder.addPathParams("date", "2010-01-12").addQueryParams(parametersMap); - final RestResponse call = CurrencyRatesService.historical.call(requestSpecBuilder.build()); + final RestResponse call = getCurrencyRatesService().historical.call(requestSpecBuilder.build()); call.isOk(); System.out.println(call.getBody()); } + + public CurrencyRatesService getCurrencyRatesService() { + return init(CurrencyRatesService.class); + } } diff --git a/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/requestparams/DeleteTest.java b/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/requestparams/DeleteTest.java index 6387e75a..c294dcdf 100644 --- a/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/requestparams/DeleteTest.java +++ b/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/requestparams/DeleteTest.java @@ -1,14 +1,10 @@ package com.epam.jdi.httptests.examples.requestparams; import com.epam.http.response.RestResponse; -import com.epam.jdi.services.JettyService; import com.epam.jdi.httptests.support.WithJetty; -import org.testng.annotations.BeforeTest; import org.testng.annotations.Test; import static com.epam.http.requests.RequestDataFactory.*; -import static com.epam.http.requests.ServiceInit.init; -import static com.epam.jdi.services.JettyService.*; import static org.hamcrest.Matchers.equalTo; import static org.hamcrest.Matchers.is; import static org.testng.Assert.assertEquals; @@ -28,14 +24,9 @@ public class DeleteTest extends WithJetty { private static final String TOKEN = "token"; private static final String TOKEN_VALUE = "1234"; - @BeforeTest - public void before() { - init(JettyService.class); - } - @Test public void requestSpecificationAllowsSpecifyingCookie() { - RestResponse response = deleteCookie.call(cookies().addAll(new Object[][]{ + RestResponse response = getJettyService().deleteCookie.call(cookies().addAll(new Object[][]{ {USERNAME, FIRST_NAME_VALUE}, {TOKEN, TOKEN_VALUE} })); @@ -44,7 +35,7 @@ public void requestSpecificationAllowsSpecifyingCookie() { @Test public void bodyHamcrestMatcherWithKey() { - deleteGreet.call(queryParams().addAll(new Object[][] { + getJettyService().deleteGreet.call(queryParams().addAll(new Object[][] { { FIRST_NAME, FIRST_NAME_VALUE }, { LAST_NAME, LAST_NAME_VALUE } })).isOk().assertThat().body("greeting", equalTo("Greetings John Doe")); @@ -52,7 +43,7 @@ public void bodyHamcrestMatcherWithKey() { @Test public void bodyHamcrestMatcherWithOutKey() { - deleteGreet.call(queryParams().addAll( + getJettyService().deleteGreet.call(queryParams().addAll( new Object[][]{{FIRST_NAME, FIRST_NAME_VALUE}, {LAST_NAME, LAST_NAME_VALUE} })).isOk().assertThat().body(equalTo("{\"greeting\":\"Greetings John Doe\"}")); @@ -60,7 +51,7 @@ public void bodyHamcrestMatcherWithOutKey() { @Test public void deleteSupportsStringBody() { - RestResponse response = deleteBody.call(body(TEST_BODY_VALUE)); + RestResponse response = getJettyService().deleteBody.call(body(TEST_BODY_VALUE)); response.assertThat().body(is(TEST_BODY_VALUE)); } } diff --git a/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/requestparams/GoogleSearchWithParamsTest.java b/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/requestparams/GoogleSearchWithParamsTest.java index 38b33db5..7ca62b79 100644 --- a/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/requestparams/GoogleSearchWithParamsTest.java +++ b/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/requestparams/GoogleSearchWithParamsTest.java @@ -18,16 +18,11 @@ public class GoogleSearchWithParamsTest { public static final String QUERY_VALUE = "apple"; @Test - public static void testSearchWithParams() { - init(GoogleSearch.class, ServiceSettings.builder().domain("https://google.com").build()); + public void testSearchWithParams() { + GoogleSearch google = init(GoogleSearch.class, ServiceSettings.builder().domain("https://google.com").build()); - final RestResponse call = GoogleSearch.search.call(queryParams().add(QUERY_PARAM, QUERY_VALUE)); + final RestResponse call = google.search.call(queryParams().add(QUERY_PARAM, QUERY_VALUE)); call.isOk(); call.validate((it) -> it.getBody().contains("Apple")); } - - @BeforeTest - public void before() { - init(GoogleSearch.class); - } } diff --git a/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/requestparams/HeaderTests.java b/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/requestparams/HeaderTests.java index 2f151c5a..7e66fd5b 100644 --- a/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/requestparams/HeaderTests.java +++ b/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/requestparams/HeaderTests.java @@ -1,21 +1,14 @@ package com.epam.jdi.httptests.examples.requestparams; import com.epam.http.response.RestResponse; -import com.epam.jdi.services.JettyService; import com.epam.jdi.httptests.support.WithJetty; import io.restassured.http.Header; import io.restassured.http.Headers; -import org.testng.annotations.BeforeTest; import org.testng.annotations.Test; import java.util.List; import static com.epam.http.requests.RequestDataFactory.headers; -import static com.epam.http.requests.ServiceInit.init; -import static com.epam.jdi.services.JettyService.getHello; -import static com.epam.jdi.services.JettyService.getLotto; -import static com.epam.jdi.services.JettyService.getMultiHeaderReflect; -import static com.epam.jdi.services.JettyService.getMultiValueHeader; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.containsString; import static org.hamcrest.Matchers.equalTo; @@ -26,11 +19,6 @@ public class HeaderTests extends WithJetty { - @BeforeTest - public void before() { - init(JettyService.class); - } - /** * Here are test examples for headers. * Below this test you can find examples without call of service object methods. @@ -38,7 +26,7 @@ public void before() { @Test public void requestDataAllowsSpecifyingHeader() { - RestResponse response = JettyService.getWithSingleHeader("MyHeader", "TestValue"); + RestResponse response = getJettyService().getWithSingleHeader("MyHeader", "TestValue"); response.isOk(); response.assertThat().header("MyHeader", equalTo("TestValue")); } @@ -47,7 +35,7 @@ public void requestDataAllowsSpecifyingHeader() { public void requestDataAllowsSpecifyingMultiValueHeaders() { Header header1 = new Header("MyHeader", "Something"); Header header2 = new Header("MyHeader", "SomethingElse"); - RestResponse response = JettyService.getWithMultipleHeaders(header1, header2); + RestResponse response = getJettyService().getWithMultipleHeaders(header1, header2); response.isOk(); assertThat(response.headers().getValues("MyHeader").size(), is(2)); assertThat(response.headers().getValues("MyHeader"), hasItems("Something", "SomethingElse")); @@ -55,7 +43,7 @@ public void requestDataAllowsSpecifyingMultiValueHeaders() { @Test public void requestDataAllowsSpecifyingMultipleHeadersAsObjectArray() { - RestResponse response = JettyService.getWithMultipleHeaders( + RestResponse response = getJettyService().getWithMultipleHeaders( new Object[][]{{"Header_01", "Value_01"}, {"Header_02", "Value_02"}, {"Header_03", "Value_03"}}); response.isOk(); @@ -66,7 +54,7 @@ public void requestDataAllowsSpecifyingMultipleHeadersAsObjectArray() { @Test public void requestDataAllowsSpecifyingMultipleValueHeaderWithServiceObjectMethod() { - RestResponse response = JettyService.getWithSingleHeader( + RestResponse response = getJettyService().getWithSingleHeader( "Header_Name", "Header_Value", "Header_Next_Value", "Header_Next_Next_Value"); response.isOk(); final List headerListString = response.headers().getValues("Header_Name"); @@ -79,7 +67,7 @@ public void requestDataAllowsSpecifyingMultipleHeaders() { Header header1 = new Header("MyHeader1", "MyValue1"); Header header2 = new Header("MyHeader2", "MyValue2"); Header header3 = new Header("MyHeader3", "MyValue3"); - RestResponse response = JettyService.getWithMultipleHeaders( + RestResponse response = getJettyService().getWithMultipleHeaders( header1, header2, header3); response.isOk(); response.assertThat().header("MyHeader1", equalTo("MyValue1")) @@ -96,14 +84,14 @@ public void requestDataAllowsSpecifyingMultipleHeaders() { @Test public void requestDataAllowsSpecifyingHeaderWithoutServiceObjectMethods() { - RestResponse response = getMultiHeaderReflect + RestResponse response = getJettyService().getMultiHeaderReflect .call(headers().add("MyHeader", "TestValue")); response.isOk().assertThat().header("MyHeader", equalTo("TestValue")); } @Test public void requestSpecificationAllowsSpecifyingMultiValueHeadersWithoutServiceObjectMethod() { - RestResponse response = getMultiHeaderReflect + RestResponse response = getJettyService().getMultiHeaderReflect .call(headers().addAll(new Object[][]{ {"MyHeader", "Something"}, {"MyHeader", "SomethingElse"}})); @@ -114,7 +102,7 @@ public void requestSpecificationAllowsSpecifyingMultiValueHeadersWithoutServiceO @Test public void requestDataAllowsSpecifyingMultipleHeadersAsObjectArrayWithoutServiceObjectMethod() { - RestResponse response = getMultiHeaderReflect + RestResponse response = getJettyService().getMultiHeaderReflect .call(headers().addAll(new Object[][]{ {"Header_01", "Value_01"}, {"Header_02", "Value_02"}, @@ -128,7 +116,7 @@ public void requestDataAllowsSpecifyingMultipleHeadersAsObjectArrayWithoutServic // TODO @Test public void requestDataAllowsSpecifyingMultipleValueHeaderWithoutServiceObjectMethod() { - RestResponse response = getMultiHeaderReflect + RestResponse response = getJettyService().getMultiHeaderReflect .call(headers().add("Header_Name", "Header_Value", "Header_Next_Value")); response.isOk(); final List headerListString = response.headers().getValues("Header_Name"); @@ -141,7 +129,7 @@ public void requestDataAllowsSpecifyingMultipleHeadersWithoutServiceObjectMethod Header header1 = new Header("MyHeader1", "MyValue1"); Header header2 = new Header("MyHeader2", "MyValue2"); Header header3 = new Header("MyHeader3", "MyValue3"); - RestResponse response = getMultiHeaderReflect.call(headers().addAll(header1, header2, header3)); + RestResponse response = getJettyService().getMultiHeaderReflect.call(headers().addAll(header1, header2, header3)); response.isOk(); response.assertThat().header("MyHeader1", equalTo("MyValue1")) .header("MyHeader2", equalTo("MyValue2")) @@ -155,7 +143,7 @@ public void requestDataAllowsSpecifyingMultipleHeadersWithoutServiceObjectMethod @Test public void allowsSupplyingMappingFunction() { - RestResponse response = getHello.call(); + RestResponse response = getJettyService().getHello.call(); response.isOk(); response.assertThat().header("Content-Length", Integer::parseInt, lessThanOrEqualTo(100)); } @@ -163,41 +151,41 @@ public void allowsSupplyingMappingFunction() { @Test(expectedExceptions = AssertionError.class, expectedExceptionsMessageRegExp = ".*Expected header .* was not a value greater than .* was .* Headers are:.*") public void headerExceptionCanFailWhenUsingMappingFunction() { - RestResponse response = getHello.call(); + RestResponse response = getJettyService().getHello.call(); response.isOk(); response.assertThat().header("Content-Length", Integer::parseInt, greaterThan(1000)); } @Test public void supportsHeaderStringMatching() { - RestResponse response = getLotto.call(); + RestResponse response = getJettyService().getLotto.call(); response.assertThat().header("Content-Type", "application/json;charset=utf-8"); } @Test public void multipleHeaderStatementsAreConcatenated() { - RestResponse response = getLotto.call(); + RestResponse response = getJettyService().getLotto.call(); response.assertThat().header("Content-Type", "application/json;charset=utf-8") .and().header("Content-Length", "160"); } @Test public void multipleHeadersShortVersionUsingPlainStrings() { - RestResponse response = getLotto.call(); + RestResponse response = getJettyService().getLotto.call(); response.assertThat().headers("Content-Type", "application/json;charset=utf-8", "Content-Length", "160"); } @Test public void multipleHeadersShortVersionUsingHamcrestMatching() { - RestResponse response = getLotto.call(); + RestResponse response = getJettyService().getLotto.call(); response.assertThat().headers("Content-Type", containsString("application/json"), "Content-Length", equalTo("160")); } @Test public void multipleHeadersShortVersionUsingMixOfHamcrestMatchingAndStringMatching() { - RestResponse response = getLotto.call(); + RestResponse response = getJettyService().getLotto.call(); response.assertThat().headers("Content-Type", containsString("application/json"), "Content-Length", "160"); } @@ -205,13 +193,13 @@ public void multipleHeadersShortVersionUsingMixOfHamcrestMatchingAndStringMatchi @Test(expectedExceptions = AssertionError.class, expectedExceptionsMessageRegExp = ".*Expected header .* was not .* was .* Headers are:.*") public void whenExpectedHeaderDoesntMatchAnAssertionThenAssertionErrorIsThrown() { - RestResponse response = getLotto.call(); + RestResponse response = getJettyService().getLotto.call(); response.assertThat().header("Content-Length", "161"); } @Test public void orderIsMaintainedForMultiValueHeaders() { - RestResponse response = getMultiValueHeader.call(); + RestResponse response = getJettyService().getMultiValueHeader.call(); response.isOk(); Headers headers = response.headers(); final List headerListString = headers.getValues("MultiHeader"); diff --git a/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/requestparams/MultiPartUploadTests.java b/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/requestparams/MultiPartUploadTests.java index eb7f78b7..0a4d2eb1 100644 --- a/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/requestparams/MultiPartUploadTests.java +++ b/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/requestparams/MultiPartUploadTests.java @@ -1,26 +1,18 @@ package com.epam.jdi.httptests.examples.requestparams; -import com.epam.jdi.services.JettyService; import com.epam.jdi.httptests.support.WithJetty; import io.restassured.builder.MultiPartSpecBuilder; import org.apache.commons.io.IOUtils; -import org.testng.annotations.BeforeTest; import org.testng.annotations.Test; -import static com.epam.http.requests.ServiceInit.init; import static org.hamcrest.Matchers.is; public class MultiPartUploadTests extends WithJetty { - @BeforeTest - public void before() { - init(JettyService.class); - } - @Test public void multiPartByteArrays() throws Exception { final byte[] bytes = IOUtils.toByteArray(getClass().getResourceAsStream("/car-records.xsd")); - JettyService.postMultiPartFile.multipart(bytes).call().assertThat() + getJettyService().postMultiPartFile.multipart(bytes).call().assertThat() .statusCode(200) .body(is(new String(bytes))); } @@ -28,14 +20,14 @@ public void multiPartByteArrays() throws Exception { @Test public void multiPartFilePredefined() throws Exception { final byte[] bytes = IOUtils.toByteArray(getClass().getResourceAsStream("/car-records.xsd")); - JettyService.postMultipartFileCar.call().assertThat() + getJettyService().postMultipartFileCar.call().assertThat() .statusCode(200) .body(is(new String(bytes))); } @Test public void multiPartMultipleStrings() { - JettyService.postMultiPartText.call(rd -> { + getJettyService().postMultiPartText.call(rd -> { rd.setMultiPart(new MultiPartSpecBuilder("Some text").controlName("text")); rd.setMultiPart(new MultiPartSpecBuilder("Some other text").controlName("text")); }).assertThat() diff --git a/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/requestparams/NegativeTests.java b/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/requestparams/NegativeTests.java index 54ffde4b..d309404d 100644 --- a/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/requestparams/NegativeTests.java +++ b/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/requestparams/NegativeTests.java @@ -2,28 +2,19 @@ import com.epam.http.response.RestResponse; -import com.epam.jdi.services.JettyService; import com.epam.jdi.httptests.support.WithJetty; -import org.testng.annotations.BeforeClass; import org.testng.annotations.Test; import static com.epam.http.requests.RequestDataFactory.cookies; -import static com.epam.http.requests.ServiceInit.init; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.*; public class NegativeTests extends WithJetty { - - @BeforeClass - public void before() { - init(JettyService.class); - } - @Test(enabled = false) // not an invalid char anymore public void brokenStringTest(){ - RestResponse response = JettyService.getMultiCookieRequest.call( + RestResponse response = getJettyService().getMultiCookieRequest.call( cookies().add("key`1", "value\1", "value2\n") ); assertThat(response.getStatus().code, equalTo(400)); diff --git a/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/requestparams/ParamTests.java b/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/requestparams/ParamTests.java index 818b0ba5..eccd4a53 100644 --- a/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/requestparams/ParamTests.java +++ b/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/requestparams/ParamTests.java @@ -13,8 +13,10 @@ import java.util.Map; import static com.epam.http.requests.ServiceInit.init; -import static com.epam.jdi.services.JettyService.greetPost; -import static org.hamcrest.Matchers.*; +import static org.hamcrest.Matchers.anyOf; +import static org.hamcrest.Matchers.containsString; +import static org.hamcrest.Matchers.equalTo; +import static org.hamcrest.Matchers.is; /** * This class is using for param cases for JettyService @@ -35,7 +37,7 @@ public void before() { @Test public void noValueParamWhenUsingQueryParamWithGetRequest() { - JettyService.getNoValueParamWithKeyValueQueryParam(PARAM_NAME, StringUtils.EMPTY) + getJettyService().getNoValueParamWithKeyValueQueryParam(PARAM_NAME, StringUtils.EMPTY) .isOk() .assertThat() .body(equalTo("Params: some=")); @@ -46,7 +48,7 @@ public void whenLastParamInGetRequestEndsWithEqualItsTreatedAsANoValueParam() { Map queryParamsMap = new HashMap<>(); queryParamsMap.put(FIRST_NAME, FIRST_NAME_VALUE); queryParamsMap.put(LAST_NAME, StringUtils.EMPTY); - JettyService.getGreet.call(rd -> rd.queryParams.addAll(queryParamsMap)) + getJettyService().getGreet.call(rd -> rd.queryParams.addAll(queryParamsMap)) .isOk() .assertThat() .body("greeting", equalTo("Greetings John ")); @@ -58,7 +60,7 @@ public void whenFirstParamInGetRequestEndsWithEqualItsTreatedAsANoValueParam() { queryParamsMap.put(FIRST_NAME, StringUtils.EMPTY); queryParamsMap.put(LAST_NAME, LAST_NAME_VALUE); - JettyService.getGreetWithMapOfQueryParams(queryParamsMap) + getJettyService().getGreetWithMapOfQueryParams(queryParamsMap) .isOk() .assertThat() .body("greeting", equalTo("Greetings Doe")); @@ -67,7 +69,7 @@ public void whenFirstParamInGetRequestEndsWithEqualItsTreatedAsANoValueParam() { @Test public void multipleNoValueQueryParamWhenUsingQueryParamInUrlForGetRequest() { // For some reason Scalatra returns the order different when running in Intellij and Maven - JettyService.getNoValueParamWithStringQueryParams("some&some1") + getJettyService().getNoValueParamWithStringQueryParams("some&some1") .isOk() .assertThat() .body(anyOf(is("Params: some=some1="), is("Params: some1=some="))); @@ -75,7 +77,7 @@ public void multipleNoValueQueryParamWhenUsingQueryParamInUrlForGetRequest() { @Test public void singleNoValueQueryParamWhenUsingQueryParamInUrlForGetRequest() { - JettyService.getNoValueParam.queryParams("some").call() + getJettyService().getNoValueParam.queryParams("some").call() .isOk() .assertThat() .body(is("Params: some=")); @@ -83,7 +85,7 @@ public void singleNoValueQueryParamWhenUsingQueryParamInUrlForGetRequest() { @Test public void mixingStartingNoValueQueryParamWhenUsingQueryParamInUrlForGetRequest() { - JettyService.getNoValueParamWithStringQueryParams("some1&some2=one") + getJettyService().getNoValueParamWithStringQueryParams("some1&some2=one") .isOk() .assertThat() .body(is("Params: some1=some2=one")); @@ -91,7 +93,7 @@ public void mixingStartingNoValueQueryParamWhenUsingQueryParamInUrlForGetRequest @Test public void mixingEndingNoValueQueryParamWhenUsingQueryParamInUrlForGetRequest() { - JettyService.getNoValueParamWithStringQueryParams("some1=one&some2") + getJettyService().getNoValueParamWithStringQueryParams("some1=one&some2") .isOk().assertThat().body(is("Params: some1=onesome2=")); } @@ -101,7 +103,7 @@ public void formParamsAreUrlEncodedWithUtf8WhenCharsetDefinedWithNoEqualSign() { formParamsMap.put(FIRST_NAME, "Some & firstname"); formParamsMap.put(LAST_NAME, ""); - JettyService.greetPostWithContentTypeAndMapOfFormParams("application/x-www-form-urlencoded; charset", formParamsMap) + getJettyService().greetPostWithContentTypeAndMapOfFormParams("application/x-www-form-urlencoded; charset", formParamsMap) .isOk() .assertThat() .body("greeting", equalTo("Greetings Some & firstname ")); @@ -113,7 +115,7 @@ public void charsetIsReallyDefined() { formParamsMap.put(FIRST_NAME, "Some & firstname"); formParamsMap.put(LAST_NAME, ""); - RestResponse resp = greetPost.call(rd -> { + RestResponse resp = getJettyService().greetPost.call(rd -> { rd.setContentType("application/x-www-form-urlencoded; charset=ISO-8859-1"); rd.formParams.addAll(formParamsMap); }); @@ -124,7 +126,7 @@ public void charsetIsReallyDefined() { @Test public void formParamsAreUrlEncodedWithDefinedCharset() { - JettyService.postCharEncodingWithContentTypeAndKeyValueFormParam("application/x-www-form-urlencoded; charset=ISO-8859-1", + getJettyService().postCharEncodingWithContentTypeAndKeyValueFormParam("application/x-www-form-urlencoded; charset=ISO-8859-1", "ikk", "&&&") .isOk() .assertThat() @@ -133,7 +135,7 @@ public void formParamsAreUrlEncodedWithDefinedCharset() { @Test public void noValueParamWhenUsingFormParamWithPutRequest() { - JettyService.putNoValueParamWithKeyValueFormParam("some", StringUtils.EMPTY) + getJettyService().putNoValueParamWithKeyValueFormParam("some", StringUtils.EMPTY) .isOk() .assertThat() .body(is("OK")); @@ -141,7 +143,7 @@ public void noValueParamWhenUsingFormParamWithPutRequest() { @Test public void noValueParamWhenUsingFormParamWithPostRequest() { - JettyService.postNoValueParamWithKeyValueFormParam("some", StringUtils.EMPTY) + getJettyService().postNoValueParamWithKeyValueFormParam("some", StringUtils.EMPTY) .isOk().assertThat().body(is("Params: some=")); } @@ -152,7 +154,7 @@ public void multipleNoValueParamWhenUsingFormParamWithPostRequest() { formParamsMap.put("some", StringUtils.EMPTY); formParamsMap.put("some1", StringUtils.EMPTY); - JettyService.postNoValueParamWithMapOfFormParams(formParamsMap) + getJettyService().postNoValueParamWithMapOfFormParams(formParamsMap) .isOk() .assertThat() .body(anyOf(is("Params: some=some1="), is("Params: some1=some="))); @@ -165,7 +167,7 @@ public void mixingNoValueAndValueParamWhenUsingFormParamWithPostRequest() { formParamsMap.put("some", StringUtils.EMPTY); formParamsMap.put("some1", "one"); - JettyService.postNoValueParamWithMapOfFormParams(formParamsMap) + getJettyService().postNoValueParamWithMapOfFormParams(formParamsMap) .isOk() .assertThat() .body(anyOf(is("Params: some=some1=one"), is("Params: some1=onesome="))); @@ -174,7 +176,7 @@ public void mixingNoValueAndValueParamWhenUsingFormParamWithPostRequest() { @Test public void mixingNoValueAndValueParamWhenUsingFormParamWithPostRequestAnnotationDefinedFormParam() { // For some reason Scalatra returns the order different when running in Intellij and Maven - JettyService.postNoValueParamWithPreDefinedFormParamAndNewKeyValueParam("some", StringUtils.EMPTY) + getJettyService().postNoValueParamWithPreDefinedFormParamAndNewKeyValueParam("some", StringUtils.EMPTY) .isOk() .assertThat() .body(anyOf(is("Params: some=some1=one"), is("Params: some1=onesome="))); @@ -186,7 +188,7 @@ public void multiPartUploadingWorksForFormParamsAndByteArray() { formParamsMap.put("formParam1", StringUtils.EMPTY); formParamsMap.put("formParam2", "formParamValue"); - JettyService.postMultiPartMultipleWithFormParamsAndMPBuilders(formParamsMap, + getJettyService().postMultiPartMultipleWithFormParamsAndMPBuilders(formParamsMap, new MultiPartSpecBuilder("juX").controlName("file"), new MultiPartSpecBuilder("body").controlName("string")) .assertThat() diff --git a/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/requestparams/PathParamTests.java b/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/requestparams/PathParamTests.java index 830c9107..2d3014a5 100644 --- a/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/requestparams/PathParamTests.java +++ b/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/requestparams/PathParamTests.java @@ -1,11 +1,9 @@ package com.epam.jdi.httptests.examples.requestparams; import com.epam.http.response.RestResponse; -import com.epam.jdi.services.JettyService; import com.epam.jdi.httptests.support.WithJetty; import com.jdiai.tools.pairs.Pair; import io.restassured.RestAssured; -import org.testng.annotations.BeforeClass; import org.testng.annotations.Test; import java.net.URLEncoder; @@ -13,28 +11,22 @@ import java.util.Map; import static com.epam.http.requests.RequestDataFactory.pathParams; -import static com.epam.http.requests.ServiceInit.init; -import static com.epam.jdi.services.JettyService.*; import static org.hamcrest.Matchers.equalTo; import static org.testng.Assert.assertEquals; public class PathParamTests extends WithJetty { - @BeforeClass - public void initService() { - init(JettyService.class); - } @Test public void supportsPassingPathParamsToRequestSpec() { Object[][] pathParams = new Object[][]{{"firstName", "John"}, {"lastName", "Doe"}}; - RestResponse response = getUser.call(pathParams().addAll(pathParams)); + RestResponse response = getJettyService().getUser.call(pathParams().addAll(pathParams)); response.isOk().body("fullName", equalTo("John Doe")); } @Test public void urlEncodesPathParams() { Object[][] pathParams = new Object[][]{{"firstName", "John:()"}, {"lastName", "Doe"}}; - RestResponse response = getUserPathParamsSetByArray(pathParams); + RestResponse response = getJettyService().getUserPathParamsSetByArray(pathParams); response.isOk().body("fullName", equalTo("John:() Doe")); } @@ -44,7 +36,7 @@ public void doesntUrlEncodesPathParamsWhenUrlEncodingIsDisabled() throws Excepti final String encoded = URLEncoder.encode("John:()", "UTF-8"); try { Object[][] pathParams = new Object[][]{{"firstName", encoded}, {"lastName", "Doe"}}; - RestResponse response = getUserPathParamsSetByArray(pathParams); + RestResponse response = getJettyService().getUserPathParamsSetByArray(pathParams); response.isOk().body("fullName", equalTo("John:() Doe")); } finally { RestAssured.reset(); @@ -56,31 +48,31 @@ public void supportsPassingPathParamsAsMapToRequestSpec() { final Map params = new HashMap<>(); params.put("firstName", "John2"); params.put("lastName", "Doe"); - RestResponse response = getUserPathParamsSetByMap(params); + RestResponse response = getJettyService().getUserPathParamsSetByMap(params); response.isOk().body("fullName", equalTo("John2 Doe")); } @Test public void namedPathParametersCanBeAppendedBeforeSubPath() { - RestResponse response = getParamBeforePath.call(pathParams().add("path", "something")); + RestResponse response = getJettyService().getParamBeforePath.call(pathParams().add("path", "something")); response.isOk().body("value", equalTo("something")); } @Test public void unnamedPathParametersCanBeAppendedBeforeSubPath() { - RestResponse response = getParamBeforePath.pathParams("something").call(); + RestResponse response = getJettyService().getParamBeforePath.pathParams("something").call(); response.isOk().body("value", equalTo("something")); } @Test public void namedPathParametersCanBeAppendedAfterSubPath() { - RestResponse response = getParamAfterPath.call(pathParams().add("format", "json")); + RestResponse response = getJettyService().getParamAfterPath.call(pathParams().add("format", "json")); response.isOk().body("value", equalTo("something")); } @Test public void unnamedPathParametersCanBeAppendedAfterSubPath() { - RestResponse response = getParamAfterPath.pathParams("json").call(); + RestResponse response = getJettyService().getParamAfterPath.pathParams("json").call(); response.isOk().body("value", equalTo("something")); } @@ -91,7 +83,7 @@ public void doesntUrlEncodePathParamsInMapWhenUrlEncodingIsDisabled() { final Map params = new HashMap<>(); params.put("firstName", "John%20å"); params.put("lastName", "Doe"); - RestResponse response = getUserPathParamsSetByMap(params); + RestResponse response = getJettyService().getUserPathParamsSetByMap(params); response.isOk().body("fullName", equalTo("John å Doe")); } finally { RestAssured.reset(); @@ -101,7 +93,7 @@ public void doesntUrlEncodePathParamsInMapWhenUrlEncodingIsDisabled() { @Test public void usePathParametersShorterTheTemplateName() { Object[][] pathParams = new Object[][]{{"abcde", "John"}, {"value", "Doe"}}; - RestResponse response = getMatrix.call(pathParams().addAll(pathParams)); + RestResponse response = getJettyService().getMatrix.call(pathParams().addAll(pathParams)); response.isOk().body("John", equalTo("Doe")); } @@ -111,14 +103,14 @@ public void usePath() { {"firstName", "Last"}, {"lastName", "Name"} }; - RestResponse response = getUser + RestResponse response = getJettyService().getUser .call(pathParams().addAll(pathParams)); response.isOk().body("fullName", equalTo("Last Name")); } @Test public void mixingUnnamedPathParametersAndQueryParametersWorks() { - RestResponse response = getMixedParam.pathParams("games", "http://myurl.com").call(); + RestResponse response = getJettyService().getMixedParam.pathParams("games", "http://myurl.com").call(); assertEquals(response.getBody(), "Not found"); } @@ -126,21 +118,21 @@ public void mixingUnnamedPathParametersAndQueryParametersWorks() { public void mixingPathParametersAndQueryParametersWorks() { Pair pathParams = new Pair<>("channelName", "games"); Pair queryParams = new Pair<>("url", "http://myurl.com"); - RestResponse response = getMixedParam.call(pathParams().add(pathParams).queryParamsUpdater().add(queryParams)); + RestResponse response = getJettyService().getMixedParam.call(pathParams().add(pathParams).queryParamsUpdater().add(queryParams)); assertEquals(response.getBody(), "Not found"); } @Test public void usePathParametersLongerTheTemplateName() { Object[][] pathParams = new Object[][]{{"abcde", "JohnJohn"}, {"value", "Doe"}}; - RestResponse response = getMatrix.call(pathParams().addAll(pathParams)); + RestResponse response = getJettyService().getMatrix.call(pathParams().addAll(pathParams)); response.isOk().body("JohnJohn", equalTo("Doe")); } @Test public void supportsPassingIntPathParamsToRequestSpec() { Object[][] pathParams = new Object[][]{{"firstName", "John"}, {"lastName", 42}}; - RestResponse response = getUserPathParamsSetByArray(pathParams); + RestResponse response = getJettyService().getUserPathParamsSetByArray(pathParams); response.isOk().body("fullName", equalTo("John 42")); } @@ -148,7 +140,7 @@ public void supportsPassingIntPathParamsToRequestSpec() { public void canUsePathParamsWithNonStandardChars() { final String nonStandardChars = "\\$£@\"){¤$"; Object[][] pathParams = new Object[][]{{"firstName", nonStandardChars}, {"lastName", "Last"}}; - RestResponse response = getUserPathParamsSetByArray(pathParams); + RestResponse response = getJettyService().getUserPathParamsSetByArray(pathParams); response.isOk().body("fullName", equalTo("\\$£@\"){¤$ Last")); } @@ -157,52 +149,52 @@ public void urlEncodesPathParamsInMap() { final Map params = new HashMap<>(); params.put("firstName", "John: å"); params.put("lastName", "Doe"); - RestResponse response = getUserPathParamsSetByMap(params); + RestResponse response = getJettyService().getUserPathParamsSetByMap(params); response.isOk().body("fullName", equalTo("John: å Doe")); } @Test public void canSpecifySpacePathParamsWithoutKey() { - RestResponse response = getUser.pathParams("John", " ").call(); + RestResponse response = getJettyService().getUser.pathParams("John", " ").call(); response.isOk().body("firstName", equalTo("John")).body("lastName", equalTo(" ")); } @Test public void canSpecifyEmptyPath() { Object[][] pathParams = new Object[][]{{"firstName", "John"}, {"lastName", ""}}; - RestResponse response = getUserPathParamsSetByArray(pathParams); + RestResponse response = getJettyService().getUserPathParamsSetByArray(pathParams); response.assertThat().statusCode(404); } @Test public void canSpecifyEmptyPathWithoutKey() { - RestResponse response = getUser.pathParams("John", "").call(); + RestResponse response = getJettyService().getUser.pathParams("John", "").call(); response.assertThat().statusCode(404); } @Test public void queryParametersWorksWithoutKeys() { - RestResponse response = searchGoogle.pathParams("query").call(); + RestResponse response = getJettyService().searchGoogle.pathParams("query").call(); response.isOk(); } @Test public void passingInSinglePathParamsThatHaveBeenDefinedMultipleTimesWorks() { Object[][] pathParams = new Object[][]{{"firstName", "John"}}; - RestResponse response = getUserSameParametersSetByArray(pathParams); + RestResponse response = getJettyService().getUserSameParametersSetByArray(pathParams); response.isOk().body("fullName", equalTo("John John")); } @Test(expectedExceptions = IllegalArgumentException.class, expectedExceptionsMessageRegExp = "Invalid number of path parameters. Expected 2, was 1.*") public void passingLessNamedPathParamsThanGivenThrowsIAE() { Object[][] pathParams = new Object[][]{{"firstName", "John"}}; - getUserPathParamsSetByArray(pathParams); + getJettyService().getUserPathParamsSetByArray(pathParams); } @Test(expectedExceptions = RuntimeException.class, expectedExceptionsMessageRegExp = "Invalid number of path parameters. Expected 2, was 1.*") public void passingLessPathParamsThanGivenThrowsIAE() { - getUser.pathParams("john").call(); + getJettyService().getUser.pathParams("john").call(); } } diff --git a/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/requestparams/QuotesServiceStaticAndInstanceRestMethodsTests.java b/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/requestparams/QuotesServiceStaticAndInstanceRestMethodsTests.java index 04166a9e..99933ce1 100644 --- a/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/requestparams/QuotesServiceStaticAndInstanceRestMethodsTests.java +++ b/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/requestparams/QuotesServiceStaticAndInstanceRestMethodsTests.java @@ -12,52 +12,50 @@ /** Created by oksana_cherniavskaia on 27.08.2020. */ public class QuotesServiceStaticAndInstanceRestMethodsTests { - @BeforeTest - public void before() { - service = init(QuotesService.class); - } - private static QuotesService service; @Test - public static void testRandomQuote() { + public void testRandomQuote() { - final RestResponse call = service.quoteOfTheDay.call(); + final RestResponse call = getQuotesService().quoteOfTheDay.call(); call.isOk(); } @Test - public static void testRandomQuoteCategoryLanguage() { + public void testRandomQuoteCategoryLanguage() { Map params = new HashMap<>(); params.put(QuotesService.CATEGORY_PARAM, "inspire"); params.put(QuotesService.LANGUAGE_PARAM, "en"); - // static RestMethod field quoteOfTheDay - final RestResponse call = QuotesService.quoteOfTheDay.call(queryParams().addAll(params)); + // RestMethod field quoteOfTheDay + final RestResponse call = getQuotesService().quoteOfTheDay.call(queryParams().addAll(params)); call.isOk(); } @Test - public static void testQuoteOfTheDayCategories() { - final RestResponse call = service.quoteOfTheDayCategories.call(); + public void testQuoteOfTheDayCategories() { + final RestResponse call = getQuotesService().quoteOfTheDayCategories.call(); call.isOk(); } @Test - public static void testQuoteOfTheDayCategoriesWithParams() { + public void testQuoteOfTheDayCategoriesWithParams() { Map params = new HashMap<>(); params.put(QuotesService.CATEGORY_PARAM, "inspire"); params.put(QuotesService.DETAILED_PARAM, "false"); final RestResponse call = - service.quoteOfTheDayCategories.call(queryParams().addAll(params)); + getQuotesService().quoteOfTheDayCategories.call(queryParams().addAll(params)); call.isOk(); } @Test - public static void testGetLanguages() { - final RestResponse call = service.quoteOfTheDayLanguages.call(); + public void testGetLanguages() { + final RestResponse call = getQuotesService().quoteOfTheDayLanguages.call(); call.isOk(); } - + @BeforeTest + public QuotesService getQuotesService() { + return init(QuotesService.class); + } } diff --git a/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/requestparams/RedirectTests.java b/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/requestparams/RedirectTests.java index b49b97e8..c095617a 100644 --- a/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/requestparams/RedirectTests.java +++ b/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/requestparams/RedirectTests.java @@ -2,28 +2,19 @@ import com.epam.http.response.RestResponse; import com.epam.jdi.httptests.support.WithJetty; -import com.epam.jdi.services.JettyService; import io.restassured.specification.RequestSpecification; import org.apache.http.HttpStatus; -import org.testng.annotations.BeforeClass; import org.testng.annotations.Test; -import static com.epam.http.requests.ServiceInit.init; -import static com.epam.jdi.services.JettyService.getRedirect; import static io.restassured.RestAssured.given; import static org.hamcrest.Matchers.equalTo; public class RedirectTests extends WithJetty { - @BeforeClass - public void before() { - init(JettyService.class); - } - @Test public void followRedirect() { RequestSpecification rs = given().redirects().follow(true).param("url", "/hello"); - RestResponse resp = getRedirect.callBasedOnSpec(rs); + RestResponse resp = getJettyService().getRedirect.callBasedOnSpec(rs); resp.assertThat().statusCode(HttpStatus.SC_OK); resp.assertThat().body("hello", equalTo("Hello Scalatra")); } @@ -31,7 +22,7 @@ public void followRedirect() { @Test public void doesNotFollowRedirect() { RequestSpecification rs = given().redirects().follow(false).param("url", "/hello"); - RestResponse resp = getRedirect.callBasedOnSpec(rs); + RestResponse resp = getJettyService().getRedirect.callBasedOnSpec(rs); resp.assertThat().statusCode(HttpStatus.SC_MOVED_TEMPORARILY); resp.assertThat().header("Location", "http://localhost:8081/hello"); } diff --git a/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/requestsretry/RetryTest.java b/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/requestsretry/RetryTest.java index f73845c1..8cc4ef64 100644 --- a/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/requestsretry/RetryTest.java +++ b/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/requestsretry/RetryTest.java @@ -2,50 +2,48 @@ import com.epam.jdi.services.RetryingService; import com.epam.jdi.httptests.support.WithRetryService; -import org.testng.annotations.BeforeClass; import org.testng.annotations.Test; import static com.epam.http.requests.ServiceInit.init; public class RetryTest extends WithRetryService { - @BeforeClass - public void serviceInit() { - init(RetryingService.class); - } - @Test public void testDefaultRetrying() { - RetryingService.get502.call() + getRetryingService().get502.call() .assertThat() .statusCode(200); } @Test public void testWithOverrideAttemptsCount() { - RetryingService.get503.call() + getRetryingService().get503.call() .assertThat() .statusCode(200); } @Test public void testWithOverrideStatusCodeAndAttemptCount() { - RetryingService.get451.call() + getRetryingService().get451.call() .assertThat() .statusCode(200); } @Test public void testIgnoreOption() { - RetryingService.ignoreRetrying.call() + getRetryingService().ignoreRetrying.call() .assertThat() .statusCode(502); } @Test public void testIgnoreOfUnspecifiedStatuses() { - RetryingService.ignoreUnspecifiedStatus.call() + getRetryingService().ignoreUnspecifiedStatus.call() .assertThat() .statusCode(502); } + + public RetryingService getRetryingService() { + return init(RetryingService.class); + } } diff --git a/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/rest/SimpleGQLTest.java b/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/rest/SimpleGQLTest.java index 9303a46f..a253b33f 100644 --- a/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/rest/SimpleGQLTest.java +++ b/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/rest/SimpleGQLTest.java @@ -2,18 +2,12 @@ import com.epam.http.response.RestResponse; import com.epam.jdi.services.GQLService; -import org.testng.annotations.BeforeClass; import org.testng.annotations.Test; import static com.epam.http.requests.ServiceInit.init; public class SimpleGQLTest { - @BeforeClass - public void before() { - init(GQLService.class); - } - @Test public void simpleTest() { String body = "{\"query\":\"{\\n "+ @@ -22,7 +16,7 @@ public void simpleTest() { " age\\n " + " posts {\\n "+ " title\\n }\\n }\\n}\",\"variables\":{}}"; - RestResponse resp = GQLService.simple.body(body) + RestResponse resp = init(GQLService.class).simple.body(body) .call(); } } diff --git a/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/rest/SimpleTest.java b/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/rest/SimpleTest.java index b6548184..e0533122 100644 --- a/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/rest/SimpleTest.java +++ b/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/rest/SimpleTest.java @@ -2,21 +2,15 @@ import com.epam.jdi.httptests.support.WithRestService; import com.epam.jdi.services.RestService; -import org.testng.annotations.BeforeClass; import org.testng.annotations.Test; import static com.epam.http.requests.ServiceInit.init; public class SimpleTest extends WithRestService { - @BeforeClass - public void before() { - init(RestService.class); - } - @Test public void simpleTest() { - RestService.getStatus.call() + init(RestService.class).getStatus.call() .assertThat() .statusCode(200); } diff --git a/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/soap/DneOnlineCalculatorTests.java b/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/soap/DneOnlineCalculatorTests.java index 8fd77069..d0fa358d 100644 --- a/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/soap/DneOnlineCalculatorTests.java +++ b/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/soap/DneOnlineCalculatorTests.java @@ -4,7 +4,6 @@ import com.epam.jdi.soap.org.tempuri.*; import org.assertj.core.api.Assertions; import org.testng.SkipException; -import org.testng.annotations.BeforeClass; import org.testng.annotations.Test; import static com.epam.http.JdiHttpSettings.logger; @@ -12,17 +11,13 @@ import static com.epam.http.requests.ServiceInit.init; public class DneOnlineCalculatorTests { - private static final String skipMessage = "External Server is unavailable. Skip test"; - @BeforeClass - public void before() { - init(DneOnlineCalculator.class); - } + private static final String skipMessage = "External Server is unavailable. Skip test"; @Test() public void checkAdd() { try { - AddResponse response = DneOnlineCalculator.add.callSoap(new Add().withIntA(2).withIntB(3)); + AddResponse response = getDneOnlineCalculator().add.callSoap(new Add().withIntA(2).withIntB(3)); Assertions.assertThat(response.getAddResult()).isEqualTo(5); } catch (RuntimeException ex) { @@ -40,7 +35,7 @@ public void checkAdd() { @Test() public void checkDivide() { try { - DivideResponse response = DneOnlineCalculator.divide.callSoap(new Divide().withIntA(6).withIntB(3)); + DivideResponse response = getDneOnlineCalculator().divide.callSoap(new Divide().withIntA(6).withIntB(3)); Assertions.assertThat(response.getDivideResult()).isEqualTo(2); } catch (RuntimeException ex) { @@ -58,7 +53,7 @@ public void checkDivide() { @Test() public void checkMultiply() { try { - MultiplyResponse response = DneOnlineCalculator.multiply.callSoap(new Multiply().withIntA(2).withIntB(3)); + MultiplyResponse response = getDneOnlineCalculator().multiply.callSoap(new Multiply().withIntA(2).withIntB(3)); Assertions.assertThat(response.getMultiplyResult()).isEqualTo(6); } catch (RuntimeException ex) { @@ -76,7 +71,7 @@ public void checkMultiply() { @Test() public void checkSubtract() { try { - SubtractResponse response = DneOnlineCalculator.subtract.callSoap(new Subtract().withIntA(7).withIntB(3)); + SubtractResponse response = getDneOnlineCalculator().subtract.callSoap(new Subtract().withIntA(7).withIntB(3)); Assertions.assertThat(response.getSubtractResult()).isEqualTo(4); } catch (RuntimeException ex) { @@ -90,4 +85,8 @@ public void checkSubtract() { } } } + + public DneOnlineCalculator getDneOnlineCalculator() { + return init(DneOnlineCalculator.class); + } } \ No newline at end of file diff --git a/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/soap/GeoServicesTests.java b/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/soap/GeoServicesTests.java index c363b32f..41d9b90b 100644 --- a/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/soap/GeoServicesTests.java +++ b/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/soap/GeoServicesTests.java @@ -3,7 +3,6 @@ import com.epam.jdi.soap.GeoServices; import com.epam.jdi.soap.https.geoservices_tamu.*; import org.assertj.core.api.Assertions; -import org.testng.annotations.BeforeTest; import org.testng.annotations.Test; import java.util.Arrays; @@ -14,14 +13,9 @@ public class GeoServicesTests { - @BeforeTest - public void before() { - init(GeoServices.class); - } - @Test public void checkGeocodeAddressNonParsed() { - GeocodeAddressNonParsedResponse response = GeoServices.geocodeAddressNonParsed.callSoap(new GeocodeAddressNonParsed() + GeocodeAddressNonParsedResponse response = getGeoServices().geocodeAddressNonParsed.callSoap(new GeocodeAddressNonParsed() .withStreetAddress("9355 Burton Way") .withCity("Beverly Hills") .withState("ca") @@ -41,7 +35,7 @@ public void checkGeocodeAddressNonParsed() { @Test public void checkGeocodeAddressNonParsed12() { - GeocodeAddressNonParsedResponse response = GeoServices.geocodeAddressNonParsed12.callSoap(new GeocodeAddressNonParsed() + GeocodeAddressNonParsedResponse response = getGeoServices().geocodeAddressNonParsed12.callSoap(new GeocodeAddressNonParsed() .withStreetAddress("9355 Burton Way") .withCity("Beverly Hills") .withState("ca") @@ -61,7 +55,7 @@ public void checkGeocodeAddressNonParsed12() { @Test public void negativeGeocodeAddressNonParsed() { - GeocodeAddressNonParsedResponse response = GeoServices.geocodeAddressNonParsed.callSoap(new GeocodeAddressNonParsed() + GeocodeAddressNonParsedResponse response = getGeoServices().geocodeAddressNonParsed.callSoap(new GeocodeAddressNonParsed() .withStreetAddress("9355 Burton Way") .withCity("Beverly Hills") .withState("ca") @@ -75,4 +69,7 @@ public void negativeGeocodeAddressNonParsed() { Assertions.assertThat(response.getGeocodeAddressNonParsedResult().getQueryStatusCodes()).isEqualTo(QueryStatusCodes.API_KEY_INVALID); } + public GeoServices getGeoServices() { + return init(GeoServices.class); + } } diff --git a/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/soap/HerongYangServiceTests.java b/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/soap/HerongYangServiceTests.java index 8f4ac759..0c5cac55 100644 --- a/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/soap/HerongYangServiceTests.java +++ b/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/soap/HerongYangServiceTests.java @@ -3,7 +3,6 @@ import com.epam.jdi.soap.HerongYangService; import com.epam.jdi.soap.com.herongyang.service.*; import org.assertj.core.api.Assertions; -import org.testng.annotations.BeforeTest; import org.testng.annotations.Test; import javax.xml.datatype.DatatypeConfigurationException; @@ -15,21 +14,16 @@ public class HerongYangServiceTests { - @BeforeTest - public void before() { - init(HerongYangService.class); - } - @Test public void checkHello() { - String response = HerongYangService.hello.callSoap("Hello from client."); + String response = getHerongYangService().hello.callSoap("Hello from client."); Assertions.assertThat(response).isEqualTo("Hello from server - herongyang.com."); } @Test public void checkRegistration() throws DatatypeConfigurationException { ObjectFactory objectFactory = new ObjectFactory(); - RegistrationResponse response = HerongYangService.registration.callSoap(new RegistrationRequest() + RegistrationResponse response = getHerongYangService().registration.callSoap(new RegistrationRequest() .withEvent("OpenGame") .withDate(DatatypeFactory.newInstance().newXMLGregorianCalendar("2008-08-08")) .withContent(objectFactory.createRegistrationRequestGuest("Herong Yang"), @@ -40,7 +34,7 @@ public void checkRegistration() throws DatatypeConfigurationException { @Test public void checkRefillOrder() throws DatatypeConfigurationException { - RefillOrderResponse response = HerongYangService.refillOrder.callSoap(new RefillOrderRequest() + RefillOrderResponse response = getHerongYangService().refillOrder.callSoap(new RefillOrderRequest() .withVersion("1.0") .withPatient(new PatientType().withName("Joe Smith") .withBirthDate(DatatypeFactory.newInstance().newXMLGregorianCalendar("1970-01-01"))) @@ -53,7 +47,7 @@ public void checkRefillOrder() throws DatatypeConfigurationException { @Test public void checkRegistration12() throws DatatypeConfigurationException { ObjectFactory objectFactory = new ObjectFactory(); - RegistrationResponse response = HerongYangService.registration12.callSoap(new RegistrationRequest() + RegistrationResponse response = getHerongYangService().registration12.callSoap(new RegistrationRequest() .withEvent("OpenGame") .withDate(DatatypeFactory.newInstance().newXMLGregorianCalendar("2008-08-08")) .withContent(objectFactory.createRegistrationRequestGuest("Herong Yang"), @@ -65,7 +59,7 @@ public void checkRegistration12() throws DatatypeConfigurationException { @Test public void checkRefillOrder12() throws DatatypeConfigurationException { - RefillOrderResponse response = HerongYangService.refillOrder12.callSoap(new RefillOrderRequest() + RefillOrderResponse response = getHerongYangService().refillOrder12.callSoap(new RefillOrderRequest() .withVersion("1.0") .withPatient(new PatientType().withName("Joe Smith") .withBirthDate(DatatypeFactory.newInstance().newXMLGregorianCalendar("1970-01-01"))) @@ -74,4 +68,8 @@ public void checkRefillOrder12() throws DatatypeConfigurationException { Assertions.assertThat(response.getOrderStatus().getNumber()).isEqualTo("20070707"); Assertions.assertThat(response.getOrderStatus().getStatus()).isEqualTo("Verifying"); } + + public HerongYangService getHerongYangService() { + return init(HerongYangService.class); + } } diff --git a/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/soap/NumberConversionServiceTest.java b/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/soap/NumberConversionServiceTest.java index 2b69fb00..1194be58 100644 --- a/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/soap/NumberConversionServiceTest.java +++ b/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/soap/NumberConversionServiceTest.java @@ -6,7 +6,6 @@ import com.epam.jdi.soap.com.dataaccess.webservicesserver.NumberToWords; import com.epam.jdi.soap.com.dataaccess.webservicesserver.NumberToWordsResponse; import org.assertj.core.api.Assertions; -import org.testng.annotations.BeforeTest; import org.testng.annotations.Test; import java.math.BigDecimal; @@ -16,14 +15,9 @@ public class NumberConversionServiceTest { - @BeforeTest - public void before() { - init(NumberConversionService.class); - } - @Test public void checkNumberToDollars() { - NumberToDollarsResponse response = NumberConversionService.numberToDollars.callSoap(new NumberToDollars() + NumberToDollarsResponse response = getNumberConversionService().numberToDollars.callSoap(new NumberToDollars() .withDNum(BigDecimal.valueOf(72500262.57))); Assertions.assertThat(response.getNumberToDollarsResult()) .isEqualTo("seventy two million five hundred thousand two hundred and sixty two dollars and fifty seven cents"); @@ -31,28 +25,28 @@ public void checkNumberToDollars() { @Test public void negativeNumberToDollars() { - NumberToDollarsResponse response = NumberConversionService.numberToDollars.callSoap(new NumberToDollars() + NumberToDollarsResponse response = getNumberConversionService().numberToDollars.callSoap(new NumberToDollars() .withDNum(BigDecimal.valueOf(-5))); Assertions.assertThat(response.getNumberToDollarsResult()).isEqualTo("number too large dollars and number too large cents"); } @Test public void checkNumberToWords() { - NumberToWordsResponse response = NumberConversionService.numberToWords.callSoap(new NumberToWords() + NumberToWordsResponse response = getNumberConversionService().numberToWords.callSoap(new NumberToWords() .withUbiNum(BigInteger.valueOf(90210))); Assertions.assertThat(response.getNumberToWordsResult()).isEqualTo("ninety thousand two hundred and ten "); } @Test public void negativeNumberToWords() { - NumberToWordsResponse response = NumberConversionService.numberToWords.callSoap(new NumberToWords() + NumberToWordsResponse response = getNumberConversionService().numberToWords.callSoap(new NumberToWords() .withUbiNum(BigInteger.valueOf(-5))); Assertions.assertThat(response.getNumberToWordsResult()).isEqualTo("number too large"); } @Test public void checkNumberToDollars12() { - NumberToDollarsResponse response = NumberConversionService.numberToDollars12.callSoap(new NumberToDollars() + NumberToDollarsResponse response = getNumberConversionService().numberToDollars12.callSoap(new NumberToDollars() .withDNum(BigDecimal.valueOf(5093275.21))); Assertions.assertThat(response.getNumberToDollarsResult()) .isEqualTo("five million ninety three thousand two hundred and seventy five dollars and twenty one cents"); @@ -60,10 +54,13 @@ public void checkNumberToDollars12() { @Test public void checkNumberToWords12() { - NumberToWordsResponse response = NumberConversionService.numberToWords12.callSoap(new NumberToWords() + NumberToWordsResponse response = getNumberConversionService().numberToWords12.callSoap(new NumberToWords() .withUbiNum(BigInteger.valueOf(1234567890))); Assertions.assertThat(response.getNumberToWordsResult()) .isEqualTo("one billion two hundred and thirty four million five hundred and sixty seven thousand eight hundred and ninety "); } + public NumberConversionService getNumberConversionService() { + return init(NumberConversionService.class); + } } diff --git a/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/soap/YandexSpellerSOAPTests.java b/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/soap/YandexSpellerSOAPTests.java index f935c9db..160879b4 100644 --- a/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/soap/YandexSpellerSOAPTests.java +++ b/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/examples/soap/YandexSpellerSOAPTests.java @@ -3,27 +3,21 @@ import com.epam.jdi.soap.YandexSpeller; import com.epam.jdi.soap.net.yandex.speller.services.spellservice.*; import org.assertj.core.api.Assertions; -import org.testng.annotations.BeforeTest; import org.testng.annotations.Test; import static com.epam.http.requests.ServiceInit.init; public class YandexSpellerSOAPTests { - @BeforeTest - public void before() { - init(YandexSpeller.class); - } - @Test public void checkTestResponse() { - CheckTextResponse response = YandexSpeller.checkText.callSoap(new CheckTextRequest().withText("soap").withLang("en")); + CheckTextResponse response = getYandexSpeller().checkText.callSoap(new CheckTextRequest().withText("soap").withLang("en")); Assertions.assertThat(response.getSpellResult().getError().size()).isZero(); } @Test public void checkTestResponseError() { - CheckTextResponse response = YandexSpeller.checkText.callSoap(new CheckTextRequest().withText("кортошка").withLang("ru")); + CheckTextResponse response = getYandexSpeller().checkText.callSoap(new CheckTextRequest().withText("кортошка").withLang("ru")); SpellError spellError = response.getSpellResult().getError().get(0); Assertions.assertThat(spellError.getWord()).isEqualTo("кортошка"); Assertions.assertThat(spellError.getS()).contains("картошка"); @@ -31,16 +25,20 @@ public void checkTestResponseError() { @Test public void checkTextsResponse() { - CheckTextsResponse response = YandexSpeller.checkTexts.callSoap(new CheckTextsRequest().withText("soap").withLang("en")); + CheckTextsResponse response = getYandexSpeller().checkTexts.callSoap(new CheckTextsRequest().withText("soap").withLang("en")); response.getArrayOfSpellResult().getSpellResult().forEach(e -> Assertions.assertThat(e.getError().size()).isZero()); } @Test public void checkTextsResponseError() { - CheckTextsResponse response = YandexSpeller.checkTexts + CheckTextsResponse response = getYandexSpeller().checkTexts .callSoap(new CheckTextsRequest().withText("saop").withLang("en")); SpellError spellError = response.getArrayOfSpellResult().getSpellResult().get(0).getError().get(0); Assertions.assertThat(spellError.getWord()).isEqualTo("saop"); Assertions.assertThat(spellError.getS()).contains("shop", "stop", "soap"); } + + public YandexSpeller getYandexSpeller() { + return init(YandexSpeller.class); + } } diff --git a/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/performance/PerformanceTests.java b/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/performance/PerformanceTests.java index 940a865f..4f80a079 100644 --- a/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/performance/PerformanceTests.java +++ b/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/performance/PerformanceTests.java @@ -4,36 +4,34 @@ import com.epam.http.performance.RestLoad; import com.epam.jdi.services.ServiceExample; import org.assertj.core.api.Assertions; -import org.testng.annotations.BeforeClass; import org.testng.annotations.Test; import static com.epam.http.requests.ServiceInit.init; public class PerformanceTests { - @BeforeClass - public void before() { - init(ServiceExample.class); - } - @Test public void isAliveTest() { - ServiceExample.getInfo.isAlive(); + getServiceExample().getInfo.isAlive(); } @Test public void printTest() throws InterruptedException { - PerformanceResult pr = RestLoad.loadService(5, ServiceExample.getInfo); + PerformanceResult pr = RestLoad.loadService(5, getServiceExample().getInfo); Assertions.assertThat(pr.noFails()).describedAs("Fails found").isTrue(); } @Test public void concurrentTest() throws InterruptedException { - PerformanceResult pr = RestLoad.loadService(3, 5, ServiceExample.getInfo); + PerformanceResult pr = RestLoad.loadService(3, 5, getServiceExample().getInfo); Assertions.assertThat(pr.getNumberOfFails()).describedAs("Fails found").isEqualTo(0); Assertions.assertThat(pr.getAverageResponseTime()) .describedAs("The average response time is greater than expected.").isLessThan(50000); Assertions.assertThat(pr.getMaxResponseTime()) .describedAs("The maximum response time is greater than expected.").isLessThan(3000); } + + public ServiceExample getServiceExample() { + return init(ServiceExample.class); + } } diff --git a/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/support/TwoServicesInit.java b/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/support/TwoServicesInit.java deleted file mode 100644 index 59108ce4..00000000 --- a/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/support/TwoServicesInit.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.epam.jdi.httptests.support; - -import com.epam.jdi.services.ServiceNoDomainAnnotation; -import org.testng.annotations.BeforeSuite; - -import static com.epam.http.requests.ServiceInit.init; - -public class TwoServicesInit { - public static ServiceNoDomainAnnotation yahoo; - public static ServiceNoDomainAnnotation google; - - @BeforeSuite - public static void startJettyHttps() { - yahoo = init(ServiceNoDomainAnnotation.class, "https://yahoo.com"); - google = init(ServiceNoDomainAnnotation.class, "https://google.com"); - } -} diff --git a/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/support/WithJetty.java b/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/support/WithJetty.java index 73f66af4..cb1ec381 100644 --- a/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/support/WithJetty.java +++ b/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/support/WithJetty.java @@ -1,5 +1,7 @@ package com.epam.jdi.httptests.support; +import com.epam.http.requests.ServiceInit; +import com.epam.jdi.services.JettyService; import org.eclipse.jetty.http.HttpVersion; import org.eclipse.jetty.security.ConstraintMapping; import org.eclipse.jetty.security.ConstraintSecurityHandler; @@ -109,4 +111,8 @@ public void stopJetty() throws Exception { server.stop(); server.destroy(); } + + protected JettyService getJettyService() { + return ServiceInit.init(JettyService.class); + } } \ No newline at end of file diff --git a/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/support/WithJettyWebSockets.java b/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/support/WithJettyWebSockets.java index dbec1ef1..61eee221 100644 --- a/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/support/WithJettyWebSockets.java +++ b/jdi-dark-tests/src/test/java/com/epam/jdi/httptests/support/WithJettyWebSockets.java @@ -22,6 +22,7 @@ import static com.epam.http.JdiHttpSettings.logger; public abstract class WithJettyWebSockets { + private Server server; protected final String host = "ws://localhost:8681/"; protected final String sslHost = "wss://localhost:8463/"; From 4dd96d0e2e3f02d73ad600f706327526bc58140b Mon Sep 17 00:00:00 2001 From: Ansar Daku Date: Fri, 11 Mar 2022 13:33:05 +0600 Subject: [PATCH 2/9] [458] increase thread count from 1 to 10 --- jdi-dark-tests/src/test/resources/general.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jdi-dark-tests/src/test/resources/general.xml b/jdi-dark-tests/src/test/resources/general.xml index 52ddaab9..9b51331f 100644 --- a/jdi-dark-tests/src/test/resources/general.xml +++ b/jdi-dark-tests/src/test/resources/general.xml @@ -1,6 +1,6 @@ - + From 5fe4848ded127a20c721400442d6f267fd5961ab Mon Sep 17 00:00:00 2001 From: Ansar Daku Date: Fri, 11 Mar 2022 14:51:31 +0600 Subject: [PATCH 3/9] [458] thread count to 5 --- jdi-dark-tests/src/test/resources/general.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jdi-dark-tests/src/test/resources/general.xml b/jdi-dark-tests/src/test/resources/general.xml index 9b51331f..fe0f366d 100644 --- a/jdi-dark-tests/src/test/resources/general.xml +++ b/jdi-dark-tests/src/test/resources/general.xml @@ -1,6 +1,6 @@ - + From 0e95725dbd706aa11c57349d64cbf1522796888e Mon Sep 17 00:00:00 2001 From: Ansar Daku Date: Fri, 11 Mar 2022 16:09:17 +0600 Subject: [PATCH 4/9] [458] thread count to 2 --- jdi-dark-tests/src/test/resources/general.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jdi-dark-tests/src/test/resources/general.xml b/jdi-dark-tests/src/test/resources/general.xml index fe0f366d..9824e881 100644 --- a/jdi-dark-tests/src/test/resources/general.xml +++ b/jdi-dark-tests/src/test/resources/general.xml @@ -1,6 +1,6 @@ - + From 6f8eba26c98dbeddd1f97c9c8a842f96678d6dd9 Mon Sep 17 00:00:00 2001 From: Ansar Daku Date: Fri, 11 Mar 2022 17:10:01 +0600 Subject: [PATCH 5/9] [458] parallel classes thread count to 2 --- jdi-dark-tests/src/test/resources/general.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jdi-dark-tests/src/test/resources/general.xml b/jdi-dark-tests/src/test/resources/general.xml index 9824e881..e64cb54d 100644 --- a/jdi-dark-tests/src/test/resources/general.xml +++ b/jdi-dark-tests/src/test/resources/general.xml @@ -1,6 +1,6 @@ - + From c171cdbcf42b18143b127d6fee39d0a51b44d01a Mon Sep 17 00:00:00 2001 From: Ansar Daku Date: Fri, 11 Mar 2022 18:34:04 +0600 Subject: [PATCH 6/9] [458] exclude websocket tests --- jdi-dark-tests/src/test/resources/general.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/jdi-dark-tests/src/test/resources/general.xml b/jdi-dark-tests/src/test/resources/general.xml index e64cb54d..4b824bd3 100644 --- a/jdi-dark-tests/src/test/resources/general.xml +++ b/jdi-dark-tests/src/test/resources/general.xml @@ -21,9 +21,9 @@ - + \ No newline at end of file From 0dac9b5fa8627bd17ca8e586934096d41bf459f4 Mon Sep 17 00:00:00 2001 From: Ansar Daku Date: Mon, 14 Mar 2022 10:50:10 +0600 Subject: [PATCH 7/9] [458] class thread count to 4 --- jdi-dark-tests/src/test/resources/general.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jdi-dark-tests/src/test/resources/general.xml b/jdi-dark-tests/src/test/resources/general.xml index 4b824bd3..fa9dd6c1 100644 --- a/jdi-dark-tests/src/test/resources/general.xml +++ b/jdi-dark-tests/src/test/resources/general.xml @@ -1,6 +1,6 @@ - + From 5b149fd0f412c384dccb0d5efee3c35d9ea3addf Mon Sep 17 00:00:00 2001 From: Ansar Daku Date: Tue, 15 Mar 2022 10:49:27 +0600 Subject: [PATCH 8/9] [458] method thread count to 3 w/o websockets --- jdi-dark-tests/src/test/resources/general.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jdi-dark-tests/src/test/resources/general.xml b/jdi-dark-tests/src/test/resources/general.xml index fa9dd6c1..3873a360 100644 --- a/jdi-dark-tests/src/test/resources/general.xml +++ b/jdi-dark-tests/src/test/resources/general.xml @@ -1,6 +1,6 @@ - + From 43b1ec74d5f8d16b79ec87447430692d37c1ffc7 Mon Sep 17 00:00:00 2001 From: Ansar Daku Date: Wed, 23 Mar 2022 19:36:50 +0600 Subject: [PATCH 9/9] [458] method 2 threads --- jdi-dark-tests/src/test/resources/general.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jdi-dark-tests/src/test/resources/general.xml b/jdi-dark-tests/src/test/resources/general.xml index 3873a360..a0dcd5fa 100644 --- a/jdi-dark-tests/src/test/resources/general.xml +++ b/jdi-dark-tests/src/test/resources/general.xml @@ -1,6 +1,6 @@ - +