123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161 |
- package com.provectus.kafka.ui.tests;
- import com.provectus.kafka.ui.api.model.CompatibilityLevel;
- import com.provectus.kafka.ui.api.model.SchemaType;
- import com.provectus.kafka.ui.base.BaseTest;
- import com.provectus.kafka.ui.helpers.Helpers;
- import com.provectus.kafka.ui.pages.MainPage;
- import com.provectus.kafka.ui.pages.schema.SchemaCreateView;
- import lombok.SneakyThrows;
- import org.junit.jupiter.api.*;
- import static org.apache.kafka.common.utils.Utils.readFileAsString;
- @TestMethodOrder(MethodOrderer.OrderAnnotation.class)
- public class SchemasTests extends BaseTest {
- public static final String SECOND_LOCAL = "secondLocal";
- public static final String SCHEMA_AVRO_CREATE = "avro_schema";
- public static final String SCHEMA_JSON_CREATE = "json_schema";
- public static final String SCHEMA_PROTOBUF_CREATE = "protobuf_schema";
- public static final String SCHEMA_AVRO_API_UPDATE = "avro_schema_for_update_api";
- public static final String SCHEMA_AVRO_API = "avro_schema_api";
- public static final String SCHEMA_JSON_API = "json_schema_api";
- public static final String SCHEMA_PROTOBUF_API = "protobuf_schema_api";
- private static final String PATH_AVRO_VALUE = System.getProperty("user.dir") + "/src/test/resources/schema_avro_value.json";
- private static final String PATH_AVRO_FOR_UPDATE = System.getProperty("user.dir") + "/src/test/resources/schema_avro_for_update.json";
- private static final String PATH_PROTOBUF_VALUE = System.getProperty("user.dir") + "/src/test/resources/schema_protobuf_value.txt";
- private static final String PATH_JSON_VALUE = System.getProperty("user.dir") + "/src/test/resources/schema_Json_Value.json";
- @BeforeAll
- @SneakyThrows
- public static void beforeAll() {
- Helpers.INSTANCE.apiHelper.createSchema(SECOND_LOCAL, SCHEMA_AVRO_API_UPDATE, SchemaType.AVRO, readFileAsString(PATH_AVRO_VALUE));
- Helpers.INSTANCE.apiHelper.createSchema(SECOND_LOCAL, SCHEMA_AVRO_API, SchemaType.AVRO, readFileAsString(PATH_AVRO_VALUE));
- Helpers.INSTANCE.apiHelper.createSchema(SECOND_LOCAL, SCHEMA_JSON_API, SchemaType.JSON, readFileAsString(PATH_JSON_VALUE));
- Helpers.INSTANCE.apiHelper.createSchema(SECOND_LOCAL, SCHEMA_PROTOBUF_API, SchemaType.PROTOBUF, readFileAsString(PATH_PROTOBUF_VALUE));
- }
- @AfterAll
- @SneakyThrows
- public static void afterAll() {
- Helpers.INSTANCE.apiHelper.deleteSchema(SECOND_LOCAL, SCHEMA_AVRO_CREATE);
- Helpers.INSTANCE.apiHelper.deleteSchema(SECOND_LOCAL, SCHEMA_JSON_CREATE);
- Helpers.INSTANCE.apiHelper.deleteSchema(SECOND_LOCAL, SCHEMA_PROTOBUF_CREATE);
- Helpers.INSTANCE.apiHelper.deleteSchema(SECOND_LOCAL, SCHEMA_AVRO_API_UPDATE);
- Helpers.INSTANCE.apiHelper.deleteSchema(SECOND_LOCAL, SCHEMA_AVRO_API);
- Helpers.INSTANCE.apiHelper.deleteSchema(SECOND_LOCAL, SCHEMA_JSON_API);
- Helpers.INSTANCE.apiHelper.deleteSchema(SECOND_LOCAL, SCHEMA_PROTOBUF_API);
- }
- @SneakyThrows
- @DisplayName("should create AVRO schema")
- @Test
- @Order(1)
- void createSchemaAvro() {
- pages.openMainPage()
- .goToSideMenu(SECOND_LOCAL, MainPage.SideMenuOptions.SCHEMA_REGISTRY);
- pages.schemaRegistry.clickCreateSchema()
- .setSubjectName(SCHEMA_AVRO_CREATE)
- .setSchemaField(readFileAsString(PATH_AVRO_VALUE))
- .selectSchemaTypeFromDropdown(SchemaCreateView.SchemaType.AVRO)
- .clickSubmit()
- .isOnSchemaViewPage();
- pages.mainPage
- .goToSideMenu(SECOND_LOCAL, MainPage.SideMenuOptions.SCHEMA_REGISTRY);
- pages.schemaRegistry.isSchemaVisible(SCHEMA_AVRO_CREATE);
- }
- @SneakyThrows
- @DisplayName("should update AVRO schema")
- @Test
- @Order(2)
- void updateSchemaAvro() {
- pages.openMainPage()
- .goToSideMenu(SECOND_LOCAL, MainPage.SideMenuOptions.SCHEMA_REGISTRY);
- pages.schemaRegistry.openSchema(SCHEMA_AVRO_API_UPDATE)
- .isOnSchemaViewPage()
- .openEditSchema()
- .selectCompatibilityLevelFromDropdown(CompatibilityLevel.CompatibilityEnum.NONE)
- .setNewSchemaValue(readFileAsString(PATH_AVRO_FOR_UPDATE))
- .clickSubmit()
- .isOnSchemaViewPage()
- .isCompatibility(CompatibilityLevel.CompatibilityEnum.NONE);
- }
- @SneakyThrows
- @DisplayName("should delete AVRO schema")
- @Test
- @Order(3)
- void deleteSchemaAvro() {
- pages.openMainPage()
- .goToSideMenu(SECOND_LOCAL, MainPage.SideMenuOptions.SCHEMA_REGISTRY);
- pages.schemaRegistry.openSchema(SCHEMA_AVRO_API)
- .isOnSchemaViewPage()
- .removeSchema()
- .isNotVisible(SCHEMA_AVRO_API);
- }
- @SneakyThrows
- @DisplayName("should create JSON schema")
- @Test
- @Order(4)
- void createSchemaJson() {
- pages.openMainPage()
- .goToSideMenu(SECOND_LOCAL, MainPage.SideMenuOptions.SCHEMA_REGISTRY);
- pages.schemaRegistry.clickCreateSchema()
- .setSubjectName(SCHEMA_JSON_CREATE)
- .setSchemaField(readFileAsString(PATH_JSON_VALUE))
- .selectSchemaTypeFromDropdown(SchemaCreateView.SchemaType.JSON)
- .clickSubmit()
- .isOnSchemaViewPage();
- pages.mainPage
- .goToSideMenu(SECOND_LOCAL, MainPage.SideMenuOptions.SCHEMA_REGISTRY);
- pages.schemaRegistry.isSchemaVisible(SCHEMA_JSON_CREATE);
- }
- @SneakyThrows
- @DisplayName("should delete JSON schema")
- @Test
- @Order(5)
- void deleteSchemaJson() {
- pages.openMainPage()
- .goToSideMenu(SECOND_LOCAL, MainPage.SideMenuOptions.SCHEMA_REGISTRY);
- pages.schemaRegistry.openSchema(SCHEMA_JSON_API)
- .isOnSchemaViewPage()
- .removeSchema()
- .isNotVisible(SCHEMA_JSON_API);
- }
- @SneakyThrows
- @DisplayName("should create PROTOBUF schema")
- @Test
- @Order(6)
- void createSchemaProtobuf() {
- pages.openMainPage()
- .goToSideMenu(SECOND_LOCAL, MainPage.SideMenuOptions.SCHEMA_REGISTRY);
- pages.schemaRegistry.clickCreateSchema()
- .setSubjectName(SCHEMA_PROTOBUF_CREATE)
- .setSchemaField(readFileAsString(PATH_PROTOBUF_VALUE))
- .selectSchemaTypeFromDropdown(SchemaCreateView.SchemaType.PROTOBUF)
- .clickSubmit()
- .isOnSchemaViewPage();
- pages.mainPage
- .goToSideMenu(SECOND_LOCAL, MainPage.SideMenuOptions.SCHEMA_REGISTRY);
- pages.schemaRegistry.isSchemaVisible(SCHEMA_PROTOBUF_CREATE);
- }
- @SneakyThrows
- @DisplayName("should delete PROTOBUF schema")
- @Test
- @Order(7)
- void deleteSchemaProtobuf() {
- pages.openMainPage()
- .goToSideMenu(SECOND_LOCAL, MainPage.SideMenuOptions.SCHEMA_REGISTRY);
- pages.schemaRegistry.openSchema(SCHEMA_PROTOBUF_API)
- .isOnSchemaViewPage()
- .removeSchema()
- .isNotVisible(SCHEMA_PROTOBUF_API);
- }
- }
|