mess9

Untitled

Dec 4th, 2020
416
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. package ru.rostelecom.eip2.steps.findgamerid;
  2.  
  3. import io.qameta.allure.Step;
  4. import io.restassured.response.ExtractableResponse;
  5. import io.restassured.response.Response;
  6. import org.assertj.core.api.SoftAssertions;
  7. import ru.rostelecom.database.entities.dto.mdm.EntityMappingDb;
  8. import ru.rostelecom.model.EntityMapping;
  9.  
  10. import static ru.rostelecom.execution.jira.Watcher.TEST_STEP_MARKER;
  11.  
  12. public class FindGamerIdAssertionsStep {
  13.  
  14.     @Step("Проверка ответа метода с данными полученными из БД MDM6" + TEST_STEP_MARKER)
  15.     public static void checkFindGamerIdStep(String caseKey, Integer stepNumber,
  16.                                             EntityMapping em, EntityMappingDb emdb) {
  17.         SoftAssertions softy = new SoftAssertions();
  18.  
  19.         softy.assertThat(em.getId())
  20.                 .as("поле id в ответе должно соответсововать полю PKID в бд, для записи \n"
  21.                         + "<" + emdb.getTagref1_localsystemid() + "> - tag1LocalSystemId\n"
  22.                         + "<" + emdb.getTagref1_app_pkid() + "> - tag1AppPkids")
  23.                 .isEqualTo(emdb.getPkid());
  24.         softy.assertThat(em.getSrcEntity().getId().getAppPkid())
  25.                 .as("поле srcEntity:id:appPkid в ответе должно соответсововать полю SRCREF1_APP_PKID в бд, для записи \n"
  26.                         + "<" + emdb.getTagref1_localsystemid() + "> - tag1LocalSystemId\n"
  27.                         + "<" + emdb.getTagref1_app_pkid() + "> - tag1AppPkids")
  28.                 .isEqualTo(emdb.getSrcref1_app_pkid());
  29.         softy.assertThat(em.getSrcEntity().getId().getLocalSystemId())
  30.                 .as("поле srcEntity:id:localSystemId в ответе должно соответсововать полю SRCREF1_LOCALSYSTEMID в бд, для записи \n"
  31.                         + "<" + emdb.getTagref1_localsystemid() + "> - tag1LocalSystemId\n"
  32.                         + "<" + emdb.getTagref1_app_pkid() + "> - tag1AppPkids")
  33.                 .isEqualTo(emdb.getSrcref1_localsystemid());
  34.         softy.assertThat(em.getSrcEntity().getId().getVersion())
  35.                 .as("поле srcEntity:id:version в ответе должно соответсововать полю SRCREF1_CURRENTVERSION в бд, для записи \n"
  36.                         + "<" + emdb.getTagref1_localsystemid() + "> - tag1LocalSystemId\n"
  37.                         + "<" + emdb.getTagref1_app_pkid() + "> - tag1AppPkids")
  38.                 .isEqualTo(emdb.getSrcref1_currentVersion());
  39.         softy.assertThat(em.getSrcEntity().getClassName())
  40.                 .as("поле srcEntity:className в ответе должно соответсововать полю SRCREF1_CLASSNAME в бд, для записи \n"
  41.                         + "<" + emdb.getTagref1_localsystemid() + "> - tag1LocalSystemId\n"
  42.                         + "<" + emdb.getTagref1_app_pkid() + "> - tag1AppPkids")
  43.                 .isEqualTo(emdb.getSrcref1_classname());
  44.         softy.assertThat(em.getTagEntity().getId().getAppPkid())
  45.                 .as("поле tagEntity:id:appPkid в ответе должно соответсововать полю TAGREF1_APP_PKID в бд, для записи \n"
  46.                         + "<" + emdb.getTagref1_localsystemid() + "> - tag1LocalSystemId\n"
  47.                         + "<" + emdb.getTagref1_app_pkid() + "> - tag1AppPkids")
  48.                 .isEqualTo(emdb.getTagref1_app_pkid());
  49.         softy.assertThat(em.getTagEntity().getId().getLocalSystemId())
  50.                 .as("поле tagEntity:id:localSystemId в ответе должно соответсововать полю TAGREF1_LOCALSYSTEMID в бд, для записи \n"
  51.                         + "<" + emdb.getTagref1_localsystemid() + "> - tag1LocalSystemId\n"
  52.                         + "<" + emdb.getTagref1_app_pkid() + "> - tag1AppPkids")
  53.                 .isEqualTo(emdb.getTagref1_localsystemid());
  54.         softy.assertThat(em.getTagEntity().getId().getVersion())
  55.                 .as("поле tagEntity:id:version в ответе должно соответсововать полю TAGREF1_CURRENTVERSION в бд, для записи \n"
  56.                         + "<" + emdb.getTagref1_localsystemid() + "> - tag1LocalSystemId\n"
  57.                         + "<" + emdb.getTagref1_app_pkid() + "> - tag1AppPkids")
  58.                 .isEqualTo(emdb.getTagref1_currentVersion());
  59.         softy.assertThat(em.getTagEntity().getClassName())
  60.                 .as("поле tagEntity:className в ответе должно соответсововать полю TAGREF1_CLASSNAME в бд, для записи \n"
  61.                         + "<" + emdb.getTagref1_localsystemid() + "> - tag1LocalSystemId\n"
  62.                         + "<" + emdb.getTagref1_app_pkid() + "> - tag1AppPkids")
  63.                 .isEqualTo(emdb.getSrcref1_classname());
  64.  
  65.         softy.assertAll();
  66.     }
  67.  
  68.     @Step("Проверка ответа метода при неверных названиях входных параметров" + TEST_STEP_MARKER)
  69.     public static void checkFindGamerIdBrokenAllParamNameStep(String caseKey, Integer stepNumber,
  70.                                                               ExtractableResponse<Response> resp,
  71.                                                               EntityMappingDb emdb) {
  72.         SoftAssertions softy = new SoftAssertions();
  73.  
  74.         softy.assertThat(resp.statusCode())
  75.                 .as("метод должен вернуть статус код - 500")
  76.                 .isEqualTo(500);
  77.         softy.assertThat(resp.body().jsonPath().getString("message"))
  78.                 .as("сообщение об ошибке указывает на то, что не передан обязательный входной параметр tag1AppPkids")
  79.                 .isEqualTo("Required List parameter 'tag1AppPkids' is not present");
  80.         softy.assertThat(resp.response().jsonPath().getString("code"))
  81.                 .as("код ошибки - внутренняя ошибка сервера")
  82.                 .isEqualTo("INTERNAL_SERVER_ERROR");
  83.  
  84.         softy.assertAll();
  85.     }
  86.  
  87.     @Step("Проверка ответа метода при неверных названиях входных параметров" + TEST_STEP_MARKER)
  88.     public static void checkFindGamerIdBrokenSecondParamNameStep(String caseKey, Integer stepNumber,
  89.                                                               ExtractableResponse<Response> resp,
  90.                                                               EntityMappingDb emdb) {
  91.         SoftAssertions softy = new SoftAssertions();
  92.  
  93.         softy.assertThat(resp.statusCode())
  94.                 .as("метод должен вернуть статус код - 500")
  95.                 .isEqualTo(500);
  96.         softy.assertThat(resp.body().jsonPath().getString("message"))
  97.                 .as("сообщение об ошибке указывает на то, что не передан обязательный входной параметр tag1LocalSystemId")
  98.                 .isEqualTo("Required String parameter 'tag1LocalSystemId' is not present");
  99.         softy.assertThat(resp.response().jsonPath().getString("code"))
  100.                 .as("код ошибки - внутренняя ошибка сервера")
  101.                 .isEqualTo("INTERNAL_SERVER_ERROR");
  102.  
  103.         softy.assertAll();
  104.     }
  105.  
  106.     @Step("Проверка ответа метода с входным параметром tag1AppPkids типа String вместо Integer" + TEST_STEP_MARKER)
  107.     public static void checkFindGamerIdIllegal1AppPkidsParamTypeStep(String caseKey, Integer stepNumber,
  108.                                                                  ExtractableResponse<Response> resp,
  109.                                                                  EntityMappingDb emdb) {
  110.         SoftAssertions softy = new SoftAssertions();
  111.  
  112.         softy.assertThat(resp.statusCode())
  113.                 .as("метод должен вернуть статус код - 400")
  114.                 .isEqualTo(400);
  115.         softy.assertThat(resp.body().jsonPath().getString("message"))
  116.                 .as("сообщение об ошибке указывает на то, что передан неверный тип данных")
  117.                 .isEqualTo("Failed to convert value of type 'java.lang.String' to required type 'java.util.List'; nested exception is java.lang.NumberFormatException: " +
  118.                         "For input string: \""
  119.                         + emdb.getTagref1_app_pkid() + "x" + "\"");
  120.         softy.assertThat(resp.response().jsonPath().getString("error"))
  121.                 .as("описание ошибки")
  122.                 .isEqualTo("Bad Request");
  123.         softy.assertThat(resp.response().jsonPath().getString("path"))
  124.                 .as("путь вызываемого метода")
  125.                 .isEqualTo("/FWS/eip-canonical-service-rest/options/games/find/gamerId");
  126.  
  127.         softy.assertAll();
  128.     }
  129.  
  130.     @Step("Проверка того, что метод отработал штатно, выдача пустая" + TEST_STEP_MARKER)
  131.     public static void checkEmptyResponseStep(String testCaseKey, Integer stepNumber,
  132.                                               ExtractableResponse<Response> response) {
  133.  
  134.         SoftAssertions softy = new SoftAssertions();
  135.  
  136.         softy.assertThat(response.statusCode())
  137.                 .as("метод должен корректно отработать вернув статус код 200")
  138.                 .isEqualTo(200);
  139.         softy.assertThat(response.response().getBody().asString()).as("метод должен вернуть пустой массив")
  140.                 .isEqualTo("[]");
  141.  
  142.         softy.assertAll();
  143.     }
  144. }
RAW Paste Data