|
@@ -6,6 +6,7 @@ import com.provectus.kafka.ui.pages.topic.TopicDetails;
|
|
|
import com.provectus.kafka.ui.utilities.qaseIoUtils.annotations.AutomationStatus;
|
|
|
import com.provectus.kafka.ui.utilities.qaseIoUtils.annotations.Suite;
|
|
|
import com.provectus.kafka.ui.utilities.qaseIoUtils.enums.Status;
|
|
|
+import io.qameta.allure.Issue;
|
|
|
import io.qase.api.annotation.CaseId;
|
|
|
import org.assertj.core.api.SoftAssertions;
|
|
|
import org.junit.jupiter.api.*;
|
|
@@ -14,6 +15,7 @@ import java.util.ArrayList;
|
|
|
import java.util.List;
|
|
|
|
|
|
import static com.provectus.kafka.ui.pages.NaviSideBar.SideMenuOption.TOPICS;
|
|
|
+import static com.provectus.kafka.ui.pages.topic.TopicDetails.DotPartitionIdMenu.CLEAR_MESSAGES;
|
|
|
import static com.provectus.kafka.ui.settings.Source.CLUSTER_NAME;
|
|
|
import static com.provectus.kafka.ui.utilities.FileUtils.fileToString;
|
|
|
|
|
@@ -23,18 +25,23 @@ public class TopicTests extends BaseTest {
|
|
|
private static final String SUITE_TITLE = "Topics";
|
|
|
private static final Topic TOPIC_FOR_UPDATE = new Topic()
|
|
|
.setName("topic-to-update")
|
|
|
- .setCompactPolicyValue("Compact")
|
|
|
+ .setCleanupPolicyValue("Compact")
|
|
|
.setTimeToRetainData("604800001")
|
|
|
.setMaxSizeOnDisk("20 GB")
|
|
|
.setMaxMessageBytes("1000020")
|
|
|
.setMessageKey(fileToString(System.getProperty("user.dir") + "/src/test/resources/producedkey.txt"))
|
|
|
.setMessageContent(fileToString(System.getProperty("user.dir") + "/src/test/resources/testData.txt"));
|
|
|
+ private static final Topic TOPIC_FOR_MESSAGES = new Topic()
|
|
|
+ .setName("topic-with-clean-message-attribute")
|
|
|
+ .setMessageKey(fileToString(System.getProperty("user.dir") + "/src/test/resources/producedkey.txt"))
|
|
|
+ .setMessageContent(fileToString(System.getProperty("user.dir") + "/src/test/resources/testData.txt"));
|
|
|
+
|
|
|
private static final Topic TOPIC_FOR_DELETE = new Topic().setName("topic-to-delete");
|
|
|
private static final List<Topic> TOPIC_LIST = new ArrayList<>();
|
|
|
|
|
|
@BeforeAll
|
|
|
public void beforeAll() {
|
|
|
- TOPIC_LIST.addAll(List.of(TOPIC_FOR_UPDATE, TOPIC_FOR_DELETE));
|
|
|
+ TOPIC_LIST.addAll(List.of(TOPIC_FOR_UPDATE, TOPIC_FOR_DELETE, TOPIC_FOR_MESSAGES));
|
|
|
TOPIC_LIST.forEach(topic -> apiHelper.createTopic(CLUSTER_NAME, topic.getName()));
|
|
|
}
|
|
|
|
|
@@ -81,7 +88,7 @@ public class TopicTests extends BaseTest {
|
|
|
.openEditSettings();
|
|
|
topicCreateEditForm
|
|
|
.waitUntilScreenReady()
|
|
|
- .selectCleanupPolicy(TOPIC_FOR_UPDATE.getCompactPolicyValue())
|
|
|
+ .selectCleanupPolicy(TOPIC_FOR_UPDATE.getCleanupPolicyValue())
|
|
|
.setMinInsyncReplicas(10)
|
|
|
.setTimeToRetainDataInMs(TOPIC_FOR_UPDATE.getTimeToRetainData())
|
|
|
.setMaxSizeOnDiskInGB(TOPIC_FOR_UPDATE.getMaxSizeOnDisk())
|
|
@@ -98,7 +105,7 @@ public class TopicTests extends BaseTest {
|
|
|
.waitUntilScreenReady()
|
|
|
.openEditSettings();
|
|
|
SoftAssertions softly = new SoftAssertions();
|
|
|
- softly.assertThat(topicCreateEditForm.getCleanupPolicy()).as("Cleanup Policy").isEqualTo(TOPIC_FOR_UPDATE.getCompactPolicyValue());
|
|
|
+ softly.assertThat(topicCreateEditForm.getCleanupPolicy()).as("Cleanup Policy").isEqualTo(TOPIC_FOR_UPDATE.getCleanupPolicyValue());
|
|
|
softly.assertThat(topicCreateEditForm.getTimeToRetain()).as("Time to retain").isEqualTo(TOPIC_FOR_UPDATE.getTimeToRetainData());
|
|
|
softly.assertThat(topicCreateEditForm.getMaxSizeOnDisk()).as("Max size on disk").isEqualTo(TOPIC_FOR_UPDATE.getMaxSizeOnDisk());
|
|
|
softly.assertThat(topicCreateEditForm.getMaxMessageBytes()).as("Max message bytes").isEqualTo(TOPIC_FOR_UPDATE.getMaxMessageBytes());
|
|
@@ -126,7 +133,7 @@ public class TopicTests extends BaseTest {
|
|
|
Assertions.assertFalse(topicsList.isTopicVisible(TOPIC_FOR_DELETE.getName()), "isTopicVisible");
|
|
|
TOPIC_LIST.remove(TOPIC_FOR_DELETE);
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
@DisplayName("produce message")
|
|
|
@Suite(suiteId = SUITE_ID, title = SUITE_TITLE)
|
|
|
@AutomationStatus(status = Status.AUTOMATED)
|
|
@@ -137,24 +144,55 @@ public class TopicTests extends BaseTest {
|
|
|
.openSideMenu(TOPICS);
|
|
|
topicsList
|
|
|
.waitUntilScreenReady()
|
|
|
- .openTopic(TOPIC_FOR_UPDATE.getName());
|
|
|
+ .openTopic(TOPIC_FOR_MESSAGES.getName());
|
|
|
topicDetails
|
|
|
.waitUntilScreenReady()
|
|
|
.openTopicMenu(TopicDetails.TopicMenu.MESSAGES)
|
|
|
.clickProduceMessageBtn();
|
|
|
produceMessagePanel
|
|
|
.waitUntilScreenReady()
|
|
|
- .setContentFiled(TOPIC_FOR_UPDATE.getMessageContent())
|
|
|
- .setKeyField(TOPIC_FOR_UPDATE.getMessageKey())
|
|
|
+ .setContentFiled(TOPIC_FOR_MESSAGES.getMessageContent())
|
|
|
+ .setKeyField(TOPIC_FOR_MESSAGES.getMessageKey())
|
|
|
.submitProduceMessage();
|
|
|
topicDetails
|
|
|
.waitUntilScreenReady();
|
|
|
SoftAssertions softly = new SoftAssertions();
|
|
|
- softly.assertThat(topicDetails.isKeyMessageVisible((TOPIC_FOR_UPDATE.getMessageKey()))).withFailMessage("isKeyMessageVisible()").isTrue();
|
|
|
- softly.assertThat(topicDetails.isContentMessageVisible((TOPIC_FOR_UPDATE.getMessageContent()).trim())).withFailMessage("isContentMessageVisible()").isTrue();
|
|
|
+ softly.assertThat(topicDetails.isKeyMessageVisible((TOPIC_FOR_MESSAGES.getMessageKey()))).withFailMessage("isKeyMessageVisible()").isTrue();
|
|
|
+ softly.assertThat(topicDetails.isContentMessageVisible((TOPIC_FOR_MESSAGES.getMessageContent()).trim())).withFailMessage("isContentMessageVisible()").isTrue();
|
|
|
softly.assertAll();
|
|
|
}
|
|
|
|
|
|
+ @Issue("Uncomment last assertion after bug https://github.com/provectus/kafka-ui/issues/2778 fix")
|
|
|
+ @DisplayName("clear message")
|
|
|
+ @Suite(suiteId = SUITE_ID, title = SUITE_TITLE)
|
|
|
+ @AutomationStatus(status = Status.AUTOMATED)
|
|
|
+ @CaseId(19)
|
|
|
+ @Test
|
|
|
+ void clearMessage() {
|
|
|
+ naviSideBar
|
|
|
+ .openSideMenu(TOPICS);
|
|
|
+ topicsList
|
|
|
+ .waitUntilScreenReady()
|
|
|
+ .openTopic(TOPIC_FOR_MESSAGES.getName());
|
|
|
+ topicDetails
|
|
|
+ .waitUntilScreenReady()
|
|
|
+ .openTopicMenu(TopicDetails.TopicMenu.OVERVIEW)
|
|
|
+ .clickProduceMessageBtn();
|
|
|
+ produceMessagePanel
|
|
|
+ .waitUntilScreenReady()
|
|
|
+ .setContentFiled(TOPIC_FOR_MESSAGES.getMessageContent())
|
|
|
+ .setKeyField(TOPIC_FOR_MESSAGES.getMessageKey())
|
|
|
+ .submitProduceMessage();
|
|
|
+ topicDetails
|
|
|
+ .waitUntilScreenReady();
|
|
|
+ String messageAmount = topicDetails.MessageCountAmount();
|
|
|
+ Assertions.assertEquals(messageAmount,topicDetails.MessageCountAmount());
|
|
|
+ topicDetails
|
|
|
+ .openDotPartitionIdMenu()
|
|
|
+ .clickClearMessagesBtn();
|
|
|
+// Assertions.assertEquals(Integer.toString(Integer.valueOf(messageAmount)-1),topicDetails.MessageCountAmount());
|
|
|
+ }
|
|
|
+
|
|
|
@AfterAll
|
|
|
public void afterAll() {
|
|
|
TOPIC_LIST.forEach(topic -> apiHelper.deleteTopic(CLUSTER_NAME, topic.getName()));
|