Issue#2437 (#2626)

* [e2e] refactoring of assertions cross tests #2437

* [e2e] refactoring of assertions cross tests #2437

* [e2e] refactoring of assertions cross tests #2437

* [e2e] refactoring of assertions cross tests #2437

* [e2e] refactoring of assertions cross tests #2437

* [e2e]Fix refactoring of assertions cross tests #2437

* [e2e]Fix refactoring of assertions cross tests #2437

* [e2e]Fix refactoring of assertions cross tests #2437
This commit is contained in:
Arthur 2022-09-22 15:39:01 +03:00 committed by GitHub
parent d673ea63a1
commit 6e8ce77fd3
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
11 changed files with 94 additions and 99 deletions

View file

@ -0,0 +1,20 @@
package com.provectus.kafka.ui.extensions;
import com.codeborne.selenide.Condition;
import com.codeborne.selenide.SelenideElement;
import lombok.extern.slf4j.Slf4j;
@Slf4j
public class WebUtils {
public static boolean isVisible(SelenideElement element) {
boolean isVisible = false;
try {
element.shouldBe(Condition.visible);
isVisible = true;
} catch (Throwable e) {
log.debug("Element {} is not visible", element.getSearchCriteria());
}
return isVisible;
}
}

View file

@ -5,7 +5,6 @@ import com.codeborne.selenide.Selenide;
import com.codeborne.selenide.SelenideElement; import com.codeborne.selenide.SelenideElement;
import com.provectus.kafka.ui.extensions.WaitUtils; import com.provectus.kafka.ui.extensions.WaitUtils;
import com.provectus.kafka.ui.helpers.TestConfiguration; import com.provectus.kafka.ui.helpers.TestConfiguration;
import com.provectus.kafka.ui.pages.topic.TopicsList;
import io.qameta.allure.Step; import io.qameta.allure.Step;
import lombok.experimental.ExtensionMethod; import lombok.experimental.ExtensionMethod;
import org.openqa.selenium.By; import org.openqa.selenium.By;
@ -31,16 +30,6 @@ public class MainPage {
return this; return this;
} }
@Step
public void topicIsVisible(String topicName) {
new TopicsList().isTopicVisible(topicName);
}
@Step
public void topicIsNotVisible(String topicName){
new TopicsList().isTopicNotVisible(topicName);
}
public enum SideMenuOptions { public enum SideMenuOptions {
BROKERS("Brokers"), BROKERS("Brokers"),
TOPICS("Topics"), TOPICS("Topics"),
@ -54,8 +43,6 @@ public class MainPage {
} }
} }
@Step @Step
public MainPage goToSideMenu(String clusterName, SideMenuOptions option) { public MainPage goToSideMenu(String clusterName, SideMenuOptions option) {
SelenideElement clusterElement = $x(String.format("//aside/ul/li[contains(.,'%s')]", clusterName)).shouldBe(Condition.visible); SelenideElement clusterElement = $x(String.format("//aside/ul/li[contains(.,'%s')]", clusterName)).shouldBe(Condition.visible);

View file

@ -9,7 +9,9 @@ import io.qameta.allure.Step;
import lombok.experimental.ExtensionMethod; import lombok.experimental.ExtensionMethod;
import org.openqa.selenium.By; import org.openqa.selenium.By;
import static com.codeborne.selenide.Selenide.*; import static com.codeborne.selenide.Selenide.$;
import static com.codeborne.selenide.Selenide.$x;
import static com.provectus.kafka.ui.extensions.WebUtils.isVisible;
@ExtensionMethod(WaitUtils.class) @ExtensionMethod(WaitUtils.class)
public class ConnectorsList { public class ConnectorsList {
@ -34,27 +36,18 @@ public class ConnectorsList {
return new ConnectorCreateView(); return new ConnectorCreateView();
} }
@Step @Step
public ConnectorsList openConnector(String connectorName) { public ConnectorsList openConnector(String connectorName) {
$(By.linkText(connectorName)).click(); $(By.linkText(connectorName)).click();
return this; return this;
} }
@Step @Step
public ConnectorsList isNotVisible(String connectorName) { public boolean isConnectorVisible(String connectorName) {
$(By.xpath("//table")).shouldBe(Condition.visible); $(By.xpath("//table")).shouldBe(Condition.visible);
$x("//tbody//td[1]//a[text()='" + connectorName + "']").shouldBe(Condition.not(Condition.visible)); return isVisible($x("//tbody//td[1]//a[text()='" + connectorName + "']"));
return this;
} }
@Step("Verify that connector {connectorName} is visible in the list")
public ConnectorsList connectorIsVisibleInList(String connectorName, String topicName) {
$x("//table//a[@href='/ui/clusters/local/connects/first/connectors/" + connectorName + "']").shouldBe(Condition.visible);
$$(By.linkText(topicName));
return this;
}
@Step @Step
public ConnectorsList connectorIsUpdatedInList(String connectorName, String topicName) { public ConnectorsList connectorIsUpdatedInList(String connectorName, String topicName) {
$(By.xpath(String.format("//a[text() = '%s']", connectorName))).shouldBe(Condition.visible); $(By.xpath(String.format("//a[text() = '%s']", connectorName))).shouldBe(Condition.visible);

View file

@ -7,15 +7,18 @@ import io.qameta.allure.Step;
import org.openqa.selenium.By; import org.openqa.selenium.By;
import static com.codeborne.selenide.Selenide.*; import static com.codeborne.selenide.Selenide.*;
import static com.provectus.kafka.ui.extensions.WebUtils.isVisible;
public class SchemaRegistryList { public class SchemaRegistryList {
private final SelenideElement schemaButton = $(By.xpath("//*[contains(text(),'Create Schema')]")); private final SelenideElement schemaButton = $(By.xpath("//*[contains(text(),'Create Schema')]"));
@Step @Step
public SchemaCreateView clickCreateSchema() { public SchemaCreateView clickCreateSchema() {
BrowserUtils.javaExecutorClick(schemaButton); BrowserUtils.javaExecutorClick(schemaButton);
return new SchemaCreateView(); return new SchemaCreateView();
} }
@Step @Step
public SchemaView openSchema(String schemaName) { public SchemaView openSchema(String schemaName) {
$(By.xpath("//*[contains(text(),'" + schemaName + "')]")).click(); $(By.xpath("//*[contains(text(),'" + schemaName + "')]")).click();
@ -23,17 +26,10 @@ public class SchemaRegistryList {
} }
@Step @Step
public SchemaRegistryList isNotVisible(String schemaName) { public boolean isSchemaVisible(String schemaName) {
$x(String.format("//*[contains(text(),'%s')]", schemaName)).shouldNotBe(Condition.visible); $(By.xpath("//table")).shouldBe(Condition.visible);
return this; return isVisible($x("//tbody//td//a[text()='" + schemaName + "']"));
}
@Step
public SchemaRegistryList isSchemaVisible(String schemaName) {
$$("tbody td>a")
.find(Condition.exactText(schemaName))
.shouldBe(Condition.visible);
return this;
} }
} }

View file

@ -2,13 +2,11 @@ package com.provectus.kafka.ui.pages.schema;
import com.codeborne.selenide.Condition; import com.codeborne.selenide.Condition;
import com.codeborne.selenide.SelenideElement; import com.codeborne.selenide.SelenideElement;
import com.provectus.kafka.ui.api.model.CompatibilityLevel;
import com.provectus.kafka.ui.utils.BrowserUtils; import com.provectus.kafka.ui.utils.BrowserUtils;
import io.qameta.allure.Step; import io.qameta.allure.Step;
import org.openqa.selenium.By; import org.openqa.selenium.By;
import static com.codeborne.selenide.Selenide.*; import static com.codeborne.selenide.Selenide.*;
public class SchemaView { public class SchemaView {
protected SelenideElement dotMenuBtn = $$x("//button[@aria-label='Dropdown Toggle']").first(); protected SelenideElement dotMenuBtn = $$x("//button[@aria-label='Dropdown Toggle']").first();
@ -20,9 +18,8 @@ public class SchemaView {
} }
@Step @Step
public SchemaView isCompatibility(CompatibilityLevel.CompatibilityEnum compatibility){ public String getCompatibility() {
$x("//div//p[.='" + compatibility.getValue() + "']").shouldBe(Condition.visible); return $x("//h4[contains(text(),'Compatibility')]/../p").getText();
return this;
} }
@Step @Step

View file

@ -140,21 +140,23 @@ public class TopicCreateEditSettingsView {
return this; return this;
} }
@Step @Step
public TopicCreateEditSettingsView maxSizeOnDiskIs(String size) { public String getCleanupPolicy() {
String retentionBytes = new KafkaUISelectElement("retentionBytes") return new KafkaUISelectElement("cleanupPolicy").getCurrentValue();
.getCurrentValue();
assertThat(retentionBytes)
.as("Max size on disk in GB should be " + size)
.isEqualTo(size);
return this;
} }
@Step @Step
public TopicCreateEditSettingsView maxMessageBytesIs(String bytes) { public String getTimeToRetain() {
String value = maxMessageBytes.getValue(); return timeToRetain.getValue();
assertThat(value) }
.as("Maximum message size in bytes should be " + bytes)
.isEqualTo(bytes); @Step
return this; public String getMaxSizeOnDisk() {
return new KafkaUISelectElement("retentionBytes").getCurrentValue();
}
@Step
public String getMaxMessageBytes() {
return maxMessageBytes.getValue();
} }

View file

@ -33,7 +33,7 @@ public class TopicView {
@Step @Step
public TopicCreateEditSettingsView openEditSettings() { public TopicCreateEditSettingsView openEditSettings() {
BrowserUtils.javaExecutorClick(dotMenuBtn); BrowserUtils.javaExecutorClick(dotMenuBtn);
$x("//a[text()= '" + DotMenuHeaderItems.EDIT_SETTINGS.getValue() + "']").click(); $x("//li[@role][text()='Edit settings']").click();
return new TopicCreateEditSettingsView(); return new TopicCreateEditSettingsView();
} }

View file

@ -11,6 +11,7 @@ import lombok.experimental.ExtensionMethod;
import org.openqa.selenium.By; import org.openqa.selenium.By;
import static com.codeborne.selenide.Selenide.*; import static com.codeborne.selenide.Selenide.*;
import static com.provectus.kafka.ui.extensions.WebUtils.isVisible;
@ExtensionMethod(WaitUtils.class) @ExtensionMethod(WaitUtils.class)
public class TopicsList { public class TopicsList {
@ -37,12 +38,9 @@ public class TopicsList {
} }
@Step @Step
public TopicsList isTopicVisible(String topicName) { public boolean isTopicVisible(String topicName) {
$$("tbody td>a") $(By.xpath("//table")).shouldBe(Condition.visible);
.shouldBe(CollectionCondition.sizeGreaterThan(4)) return isVisible($x("//tbody//td//a[text()='" + topicName + "']"));
.find(Condition.exactText(topicName))
.shouldBe(Condition.visible);
return this;
} }
@Step @Step

View file

@ -8,10 +8,7 @@ import com.provectus.kafka.ui.utils.qaseIO.Status;
import com.provectus.kafka.ui.utils.qaseIO.annotation.AutomationStatus; import com.provectus.kafka.ui.utils.qaseIO.annotation.AutomationStatus;
import com.provectus.kafka.ui.utils.qaseIO.annotation.Suite; import com.provectus.kafka.ui.utils.qaseIO.annotation.Suite;
import io.qase.api.annotation.CaseId; import io.qase.api.annotation.CaseId;
import org.junit.jupiter.api.AfterAll; import org.junit.jupiter.api.*;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@ -69,8 +66,8 @@ public class ConnectorsTests extends BaseTest {
.waitUntilScreenReady() .waitUntilScreenReady()
.setConnectorConfig(connectorForCreate.getName(), connectorForCreate.getConfig()); .setConnectorConfig(connectorForCreate.getName(), connectorForCreate.getConfig());
pages.openConnectorsList(CLUSTER_NAME) pages.openConnectorsList(CLUSTER_NAME)
.waitUntilScreenReady() .waitUntilScreenReady();
.connectorIsVisibleInList(connectorForCreate.getName(), TOPIC_FOR_CREATE.getName()); Assertions.assertTrue(pages.connectorsList.isConnectorVisible(connectorForCreate.getName()),"isConnectorVisible()");
CONNECTOR_LIST.add(connectorForCreate); CONNECTOR_LIST.add(connectorForCreate);
} }
@ -86,8 +83,8 @@ public class ConnectorsTests extends BaseTest {
pages.connectorsView.connectorIsVisibleOnOverview(); pages.connectorsView.connectorIsVisibleOnOverview();
pages.connectorsView.openEditConfig() pages.connectorsView.openEditConfig()
.updConnectorConfig(CONNECTOR_FOR_UPDATE.getConfig()); .updConnectorConfig(CONNECTOR_FOR_UPDATE.getConfig());
pages.openConnectorsList(CLUSTER_NAME) pages.openConnectorsList(CLUSTER_NAME);
.connectorIsVisibleInList(CONNECTOR_FOR_UPDATE.getName(), TOPIC_FOR_UPDATE.getName()); Assertions.assertTrue(pages.connectorsList.isConnectorVisible(CONNECTOR_FOR_UPDATE.getName()),"isConnectorVisible()");
} }
@DisplayName("should delete connector") @DisplayName("should delete connector")
@ -100,8 +97,8 @@ public class ConnectorsTests extends BaseTest {
.waitUntilScreenReady() .waitUntilScreenReady()
.openConnector(CONNECTOR_FOR_DELETE.getName()); .openConnector(CONNECTOR_FOR_DELETE.getName());
pages.connectorsView.clickDeleteButton(); pages.connectorsView.clickDeleteButton();
pages.openConnectorsList(CLUSTER_NAME) pages.openConnectorsList(CLUSTER_NAME);
.isNotVisible(CONNECTOR_FOR_DELETE.getName()); Assertions.assertFalse(pages.connectorsList.isConnectorVisible(CONNECTOR_FOR_DELETE.getName()),"isConnectorVisible()");
CONNECTOR_LIST.remove(CONNECTOR_FOR_DELETE); CONNECTOR_LIST.remove(CONNECTOR_FOR_DELETE);
} }

View file

@ -6,6 +6,7 @@ import com.provectus.kafka.ui.helpers.Helpers;
import com.provectus.kafka.ui.models.Schema; import com.provectus.kafka.ui.models.Schema;
import com.provectus.kafka.ui.pages.MainPage; import com.provectus.kafka.ui.pages.MainPage;
import com.provectus.kafka.ui.pages.schema.SchemaEditView; import com.provectus.kafka.ui.pages.schema.SchemaEditView;
import com.provectus.kafka.ui.pages.schema.SchemaView;
import com.provectus.kafka.ui.utils.qaseIO.Status; import com.provectus.kafka.ui.utils.qaseIO.Status;
import com.provectus.kafka.ui.utils.qaseIO.annotation.AutomationStatus; import com.provectus.kafka.ui.utils.qaseIO.annotation.AutomationStatus;
import com.provectus.kafka.ui.utils.qaseIO.annotation.Suite; import com.provectus.kafka.ui.utils.qaseIO.annotation.Suite;
@ -53,7 +54,7 @@ public class SchemasTests extends BaseTest {
.waitUntilScreenReady(); .waitUntilScreenReady();
pages.mainPage pages.mainPage
.goToSideMenu(CLUSTER_NAME, MainPage.SideMenuOptions.SCHEMA_REGISTRY); .goToSideMenu(CLUSTER_NAME, MainPage.SideMenuOptions.SCHEMA_REGISTRY);
pages.schemaRegistry.isSchemaVisible(schemaAvro.getName()); Assertions.assertTrue(pages.schemaRegistry.isSchemaVisible(schemaAvro.getName()),"isSchemaVisible()");
SCHEMA_LIST.add(schemaAvro); SCHEMA_LIST.add(schemaAvro);
} }
@ -74,8 +75,8 @@ public class SchemasTests extends BaseTest {
new SchemaEditView().selectCompatibilityLevelFromDropdown(CompatibilityLevel.CompatibilityEnum.NONE) new SchemaEditView().selectCompatibilityLevelFromDropdown(CompatibilityLevel.CompatibilityEnum.NONE)
.setNewSchemaValue(fileToString(AVRO_API.getValuePath())) .setNewSchemaValue(fileToString(AVRO_API.getValuePath()))
.clickSubmit() .clickSubmit()
.waitUntilScreenReady() .waitUntilScreenReady();
.isCompatibility(CompatibilityLevel.CompatibilityEnum.NONE); Assertions.assertEquals(CompatibilityLevel.CompatibilityEnum.NONE.toString(), new SchemaView().getCompatibility(), "getCompatibility()");
} }
@DisplayName("should delete AVRO schema") @DisplayName("should delete AVRO schema")
@ -89,8 +90,8 @@ public class SchemasTests extends BaseTest {
.goToSideMenu(CLUSTER_NAME, MainPage.SideMenuOptions.SCHEMA_REGISTRY); .goToSideMenu(CLUSTER_NAME, MainPage.SideMenuOptions.SCHEMA_REGISTRY);
pages.schemaRegistry.openSchema(AVRO_API.getName()) pages.schemaRegistry.openSchema(AVRO_API.getName())
.waitUntilScreenReady() .waitUntilScreenReady()
.removeSchema() .removeSchema();
.isNotVisible(AVRO_API.getName()); Assertions.assertFalse(pages.schemaRegistry.isSchemaVisible(AVRO_API.getName()),"isSchemaVisible()");
SCHEMA_LIST.remove(AVRO_API); SCHEMA_LIST.remove(AVRO_API);
} }
@ -112,7 +113,7 @@ public class SchemasTests extends BaseTest {
.waitUntilScreenReady(); .waitUntilScreenReady();
pages.mainPage pages.mainPage
.goToSideMenu(CLUSTER_NAME, MainPage.SideMenuOptions.SCHEMA_REGISTRY); .goToSideMenu(CLUSTER_NAME, MainPage.SideMenuOptions.SCHEMA_REGISTRY);
pages.schemaRegistry.isSchemaVisible(schemaJson.getName()); Assertions.assertTrue(pages.schemaRegistry.isSchemaVisible(schemaJson.getName()),"isSchemaVisible()");
SCHEMA_LIST.add(schemaJson); SCHEMA_LIST.add(schemaJson);
} }
@ -127,8 +128,8 @@ public class SchemasTests extends BaseTest {
.goToSideMenu(CLUSTER_NAME, MainPage.SideMenuOptions.SCHEMA_REGISTRY); .goToSideMenu(CLUSTER_NAME, MainPage.SideMenuOptions.SCHEMA_REGISTRY);
pages.schemaRegistry.openSchema(JSON_API.getName()) pages.schemaRegistry.openSchema(JSON_API.getName())
.waitUntilScreenReady() .waitUntilScreenReady()
.removeSchema() .removeSchema();
.isNotVisible(JSON_API.getName()); Assertions.assertFalse(pages.schemaRegistry.isSchemaVisible(JSON_API.getName()),"isSchemaVisible()");
SCHEMA_LIST.remove(JSON_API); SCHEMA_LIST.remove(JSON_API);
} }
@ -150,7 +151,7 @@ public class SchemasTests extends BaseTest {
.waitUntilScreenReady(); .waitUntilScreenReady();
pages.mainPage pages.mainPage
.goToSideMenu(CLUSTER_NAME, MainPage.SideMenuOptions.SCHEMA_REGISTRY); .goToSideMenu(CLUSTER_NAME, MainPage.SideMenuOptions.SCHEMA_REGISTRY);
pages.schemaRegistry.isSchemaVisible(schemaProtobuf.getName()); Assertions.assertTrue(pages.schemaRegistry.isSchemaVisible(schemaProtobuf.getName()),"isSchemaVisible()");
SCHEMA_LIST.add(schemaProtobuf); SCHEMA_LIST.add(schemaProtobuf);
} }
@ -165,8 +166,8 @@ public class SchemasTests extends BaseTest {
.goToSideMenu(CLUSTER_NAME, MainPage.SideMenuOptions.SCHEMA_REGISTRY); .goToSideMenu(CLUSTER_NAME, MainPage.SideMenuOptions.SCHEMA_REGISTRY);
pages.schemaRegistry.openSchema(PROTOBUF_API.getName()) pages.schemaRegistry.openSchema(PROTOBUF_API.getName())
.waitUntilScreenReady() .waitUntilScreenReady()
.removeSchema() .removeSchema();
.isNotVisible(PROTOBUF_API.getName()); Assertions.assertFalse(pages.schemaRegistry.isSchemaVisible(PROTOBUF_API.getName()),"isSchemaVisible()");
SCHEMA_LIST.remove(PROTOBUF_API); SCHEMA_LIST.remove(PROTOBUF_API);
} }

View file

@ -4,12 +4,13 @@ import com.provectus.kafka.ui.base.BaseTest;
import com.provectus.kafka.ui.helpers.Helpers; import com.provectus.kafka.ui.helpers.Helpers;
import com.provectus.kafka.ui.models.Topic; import com.provectus.kafka.ui.models.Topic;
import com.provectus.kafka.ui.pages.MainPage; import com.provectus.kafka.ui.pages.MainPage;
import com.provectus.kafka.ui.pages.topic.TopicCreateEditSettingsView;
import com.provectus.kafka.ui.pages.topic.TopicView; import com.provectus.kafka.ui.pages.topic.TopicView;
import com.provectus.kafka.ui.utils.qaseIO.Status; import com.provectus.kafka.ui.utils.qaseIO.Status;
import com.provectus.kafka.ui.utils.qaseIO.annotation.AutomationStatus; import com.provectus.kafka.ui.utils.qaseIO.annotation.AutomationStatus;
import com.provectus.kafka.ui.utils.qaseIO.annotation.Suite; import com.provectus.kafka.ui.utils.qaseIO.annotation.Suite;
import io.qameta.allure.Issue;
import io.qase.api.annotation.CaseId; import io.qase.api.annotation.CaseId;
import org.assertj.core.api.SoftAssertions;
import org.junit.jupiter.api.*; import org.junit.jupiter.api.*;
import java.util.ArrayList; import java.util.ArrayList;
@ -51,14 +52,13 @@ public class TopicTests extends BaseTest {
.sendData() .sendData()
.waitUntilScreenReady(); .waitUntilScreenReady();
pages.open() pages.open()
.goToSideMenu(CLUSTER_NAME, MainPage.SideMenuOptions.TOPICS) .goToSideMenu(CLUSTER_NAME, MainPage.SideMenuOptions.TOPICS);
.topicIsVisible(topicToCreate.getName()); Assertions.assertTrue(pages.topicsList.isTopicVisible(topicToCreate.getName()),"isTopicVisible");
TOPIC_LIST.add(topicToCreate); TOPIC_LIST.add(topicToCreate);
} }
@Disabled("Due to issue https://github.com/provectus/kafka-ui/issues/1500 ignore this test") @Disabled("https://github.com/provectus/kafka-ui/issues/2625")
@DisplayName("should update a topic") @DisplayName("should update a topic")
@Issue("1500")
@Suite(suiteId = SUITE_ID, title = SUITE_TITLE) @Suite(suiteId = SUITE_ID, title = SUITE_TITLE)
@AutomationStatus(status = Status.AUTOMATED) @AutomationStatus(status = Status.AUTOMATED)
@CaseId(197) @CaseId(197)
@ -66,7 +66,7 @@ public class TopicTests extends BaseTest {
public void updateTopic() { public void updateTopic() {
pages.openTopicsList(CLUSTER_NAME) pages.openTopicsList(CLUSTER_NAME)
.waitUntilScreenReady(); .waitUntilScreenReady();
pages.openTopicView(CLUSTER_NAME, TOPIC_FOR_UPDATE.getName()) pages.topicsList.openTopic(TOPIC_FOR_UPDATE.getName())
.waitUntilScreenReady() .waitUntilScreenReady()
.openEditSettings() .openEditSettings()
.selectCleanupPolicy(TOPIC_FOR_UPDATE.getCompactPolicyValue()) .selectCleanupPolicy(TOPIC_FOR_UPDATE.getCompactPolicyValue())
@ -78,13 +78,15 @@ public class TopicTests extends BaseTest {
.waitUntilScreenReady(); .waitUntilScreenReady();
pages.openTopicsList(CLUSTER_NAME) pages.openTopicsList(CLUSTER_NAME)
.waitUntilScreenReady(); .waitUntilScreenReady();
pages.openTopicView(CLUSTER_NAME, TOPIC_FOR_UPDATE.getName()) pages.topicsList.openTopic(TOPIC_FOR_UPDATE.getName())
.openEditSettings() .waitUntilScreenReady()
// Assertions .openEditSettings();
.cleanupPolicyIs(TOPIC_FOR_UPDATE.getCompactPolicyValue()) SoftAssertions softly = new SoftAssertions();
.timeToRetainIs(TOPIC_FOR_UPDATE.getTimeToRetainData()) softly.assertThat(new TopicCreateEditSettingsView().getCleanupPolicy()).as("Cleanup Policy").isEqualTo(TOPIC_FOR_UPDATE.getCompactPolicyValue());
.maxSizeOnDiskIs(TOPIC_FOR_UPDATE.getMaxSizeOnDisk()) softly.assertThat(new TopicCreateEditSettingsView().getTimeToRetain()).as("Time to retain").isEqualTo(TOPIC_FOR_UPDATE.getTimeToRetainData());
.maxMessageBytesIs(TOPIC_FOR_UPDATE.getMaxMessageBytes()); softly.assertThat(new TopicCreateEditSettingsView().getMaxSizeOnDisk()).as("Max size on disk").isEqualTo(TOPIC_FOR_UPDATE.getMaxSizeOnDisk());
softly.assertThat(new TopicCreateEditSettingsView().getMaxMessageBytes()).as("Max message bytes").isEqualTo(TOPIC_FOR_UPDATE.getMaxMessageBytes());
softly.assertAll();
} }
@DisplayName("should delete topic") @DisplayName("should delete topic")
@ -99,8 +101,8 @@ public class TopicTests extends BaseTest {
.waitUntilScreenReady() .waitUntilScreenReady()
.deleteTopic(); .deleteTopic();
pages.openTopicsList(CLUSTER_NAME) pages.openTopicsList(CLUSTER_NAME)
.waitUntilScreenReady() .waitUntilScreenReady();
.isTopicNotVisible(TOPIC_FOR_DELETE.getName()); Assertions.assertFalse(pages.topicsList.isTopicVisible(TOPIC_FOR_DELETE.getName()),"isTopicVisible");
TOPIC_LIST.remove(TOPIC_FOR_DELETE); TOPIC_LIST.remove(TOPIC_FOR_DELETE);
} }
@ -119,8 +121,10 @@ public class TopicTests extends BaseTest {
.setContentFiled(TOPIC_FOR_UPDATE.getMessageContent()) .setContentFiled(TOPIC_FOR_UPDATE.getMessageContent())
.setKeyField(TOPIC_FOR_UPDATE.getMessageKey()) .setKeyField(TOPIC_FOR_UPDATE.getMessageKey())
.submitProduceMessage(); .submitProduceMessage();
Assertions.assertTrue(pages.topicView.isKeyMessageVisible(TOPIC_FOR_UPDATE.getMessageKey())); SoftAssertions softly = new SoftAssertions();
Assertions.assertTrue(pages.topicView.isContentMessageVisible(TOPIC_FOR_UPDATE.getMessageContent().trim())); softly.assertThat(pages.topicView.isKeyMessageVisible((TOPIC_FOR_UPDATE.getMessageKey()))).withFailMessage("isKeyMessageVisible()").isTrue();
softly.assertThat(pages.topicView.isContentMessageVisible((TOPIC_FOR_UPDATE.getMessageContent()).trim())).withFailMessage("isContentMessageVisible()").isTrue();
softly.assertAll();
} }
@AfterAll @AfterAll