Advertisement
mess9

Untitled

Jan 19th, 2021
818
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 6.76 KB | None | 0 0
  1. package ru.rostelecom.eip2.steps.cms.service.type;
  2.  
  3. import io.qameta.allure.Allure;
  4. import io.qameta.allure.Step;
  5. import io.restassured.response.ExtractableResponse;
  6. import io.restassured.response.Response;
  7. import org.assertj.core.api.SoftAssertions;
  8. import ru.rostelecom.database.entities.dto.cmsdwh.CmsServiceDb;
  9. import ru.rostelecom.model.CmsService;
  10.  
  11. import static ru.rostelecom.execution.jira.Watcher.TEST_STEP_MARKER;
  12.  
  13. public class CmsServiceTypeAssertionStep {
  14.  
  15.     @Step("Сверка ответа метода с данными полученными из БД" + TEST_STEP_MARKER)
  16.     public static void checkCmsServiceStep(String testCaseKey, Integer stepNumber, CmsService r, CmsServiceDb db) {
  17.         SoftAssertions softy = new SoftAssertions();
  18.  
  19.         softy.assertThat(r.getId().getLocalSystemId()).as("ID.LOCALSYSTEMID").isEqualTo(db.getLocalSystemId());
  20.         softy.assertThat(r.getId().getAppPkid()).as("ID.APP_PKID").isEqualTo(db.getAppPkid());
  21.         softy.assertThat(r.getId().getVersion()).as("ID.VERSION").isEqualTo(db.getVersion());
  22.  
  23.         softy.assertThat(r.getApplicationName()).as("APPLICATIONNAME").isEqualTo(db.getApplicationName());
  24.         softy.assertThat(r.getDeleted().compareTo(false)).as("DELETED").isEqualTo(db.getDeleted());
  25.         softy.assertThat(r.getForm()).as("FORM").isEqualTo(db.getForm());
  26.  
  27.         softy.assertThat(r.getOrderId().getLocalSystemId()).as("ORDERCMS.LOCALSYSTEMID").isEqualTo(db.getOrderCmsLocalsystemid());
  28.         softy.assertThat(r.getOrderId().getAppPkid()).as("ORDERCMS.APP_PKID").isEqualTo(db.getOrderCmsAppPkid());
  29.         softy.assertThat(r.getOrderId().getVersion()).as("ORDERCMS.VERSION").isEqualTo(db.getOrderCmsVersion());
  30.  
  31.         softy.assertThat(r.getStatusId().getLocalSystemId()).as("STATUS.LOCALSYSTEMID").isEqualTo(db.getStatusLocalSystemId());
  32.         softy.assertThat(r.getStatusId().getAppPkid()).as("STATUS.APP_PKID").isEqualTo(db.getStatusAppPkid());
  33.         softy.assertThat(r.getStatusId().getVersion()).as("STATUS.VERSION").isEqualTo(db.getStatusVersion());
  34.  
  35.         softy.assertThat(r.getSaveOptions()).as("SAVEOPTIONS").isEqualTo(db.getSaveOptions());
  36.  
  37.         softy.assertThat(r.getFldFields().getFldservicetype()).as("FLD.SERVICETYPE").isEqualTo(db.getFldServiceType());
  38.         softy.assertThat(r.getFldFields().getFldwfstatusalias()).as("FLD.STATUSALIAS").isEqualTo(db.getFldWfStatusAlias());
  39.  
  40.         softy.assertAll();
  41.     }
  42.  
  43.     @Step("Проверка корректности сообщения об ошибке (невалидный localsystemid)"+ TEST_STEP_MARKER)
  44.     public static void checkErrorDataNotFound(String testCaseKey, Integer stepNumber, ExtractableResponse<Response> resp) {
  45.         Allure.addAttachment("ответ", "text/json", resp.body().asString());
  46.         SoftAssertions softy = new SoftAssertions();
  47.  
  48.         softy.assertThat(resp.response().statusCode())
  49.                 .as("статус код при ошибке DATA NOT FOUND должен быть 474")
  50.                 .isEqualTo(474);
  51.         softy.assertThat(resp.response().getBody().jsonPath().getString("code"))
  52.                 .as("сообщение в блоке \"code\" ошибки должно быть - DATA_NOT_FOUND")
  53.                 .isEqualTo("DATA_NOT_FOUND");
  54.         softy.assertThat(resp.response().getBody().jsonPath().getString("message"))
  55.                 .as("блок \"message\" должен быть вида:\n" +
  56.                         "\"DATA_NOT_FOUND: ServicePort for localSystemId = <localsystemid>, type = <servicetype> not found\"")
  57.                 .isEqualTo("DATA_NOT_FOUND: ServicePort for localSystemId = 'bla-bla-bla', type = 'LAST_MILE' not found");
  58.         softy.assertThat(resp.response().getBody().jsonPath().getString("source"))
  59.                 .as("блок \"source\" должен указывать на модуль к которому обращается метод")
  60.                 .isEqualTo("dwh-cms-adapter-2.14.0");
  61.  
  62.         softy.assertAll();
  63.     }
  64.     @Step("Проверка корректности сообщения об ошибке (невалидный serviceType)"+ TEST_STEP_MARKER)
  65.     public static void checkErrorBadRequest(String testCaseKey, Integer stepNumber, ExtractableResponse<Response> resp) {
  66.         Allure.addAttachment("ответ", "text/json", resp.body().asString());
  67.         SoftAssertions softy = new SoftAssertions();
  68.  
  69.         softy.assertThat(resp.response().statusCode())
  70.                 .as("статус код при ошибке Bad Request должен быть 400")
  71.                 .isEqualTo(400);
  72.         softy.assertThat(resp.response().getBody().jsonPath().getString("status")).isEqualTo("400");
  73.         softy.assertThat(resp.response().getBody().jsonPath().getString("error")).isEqualTo("Bad Request");
  74.         softy.assertThat(resp.response().getBody().jsonPath().getString("path")).isEqualTo("/FWS/eip-canonical-service-rest/service/cms/VERY_LAST_MILE/0000A62178A292EB432582F200371B8C");
  75.         softy.assertThat(resp.response().getBody().jsonPath().getString("message"))
  76.                 .as("в блоке \"message\" описывается что переданный сервис тайп не найден в enum обработчика")
  77.                 .isEqualTo("Failed to convert value of type 'java.lang.String' to required type 'ru.rt.eip.customerservice.domain.enums.ServiceType'; nested exception is org.springframework.core.convert.ConversionFailedException: Failed to convert from type [java.lang.String] to type [@org.springframework.web.bind.annotation.PathVariable ru.rt.eip.customerservice.domain.enums.ServiceType] for value 'VERY_LAST_MILE'; nested exception is java.lang.IllegalArgumentException: No enum constant ru.rt.eip.customerservice.domain.enums.ServiceType.VERY_LAST_MILE");
  78.  
  79.         softy.assertAll();
  80.     }
  81.  
  82.     @Step("Проверка корректности сообщения об ошибке (не переданы параметры)" + TEST_STEP_MARKER)
  83.     public static void checkErrorNotFound(String testCaseKey, Integer stepNumber, ExtractableResponse<Response> resp) {
  84.         Allure.addAttachment("ответ", "text/json", resp.body().asString());
  85.         SoftAssertions softy = new SoftAssertions();
  86.  
  87.         softy.assertThat(resp.response().statusCode()).isEqualTo(404);
  88.         softy.assertThat(resp.response().getBody().jsonPath().getString("status")).isEqualTo("404");
  89.         softy.assertThat(resp.response().getBody().jsonPath().getString("error")).isEqualTo("Not Found");
  90.         softy.assertThat(resp.response().getBody().jsonPath().getString("message")).isEqualTo("No message available");
  91.         softy.assertThat(resp.response().getBody().jsonPath().getString("path")).isEqualTo("/FWS/eip-canonical-service-rest/service/cms/");
  92.  
  93.         softy.assertAll();
  94.     }
  95.  
  96.  
  97.  
  98. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement