Issue/2774 2 (#2785)
* clear message Test updated issue-2774 * clear message Test created issue-2774 * conflict resolving * conflict resolving * conflict resolving * fix
This commit is contained in:
parent
b0e0da4c0d
commit
40c3bcf82b
3 changed files with 88 additions and 11 deletions
|
@ -6,5 +6,5 @@ import lombok.experimental.Accessors;
|
|||
@Data
|
||||
@Accessors(chain = true)
|
||||
public class Topic {
|
||||
private String name, compactPolicyValue, timeToRetainData, maxSizeOnDisk, maxMessageBytes, messageKey, messageContent ;
|
||||
private String name, cleanupPolicyValue, timeToRetainData, maxSizeOnDisk, maxMessageBytes, messageKey, messageContent ;
|
||||
}
|
||||
|
|
|
@ -17,6 +17,8 @@ public class TopicDetails {
|
|||
|
||||
protected SelenideElement loadingSpinner = $x("//*[contains(text(),'Loading')]");
|
||||
protected SelenideElement dotMenuBtn = $$x("//button[@aria-label='Dropdown Toggle']").first();
|
||||
protected SelenideElement dotPartitionIdMenuBtn = $(By.cssSelector("button.sc-hOqruk.eYtACj"));
|
||||
protected SelenideElement clearMessagesBtn = $x(("//div[contains(text(), 'Clear messages')]"));
|
||||
protected SelenideElement overviewTab = $x("//a[contains(text(),'Overview')]");
|
||||
protected SelenideElement messagesTab = $x("//a[contains(text(),'Messages')]");
|
||||
protected SelenideElement editSettingsTab = $x("//li[@role][contains(text(),'Edit settings')]");
|
||||
|
@ -45,6 +47,18 @@ public class TopicDetails {
|
|||
return this;
|
||||
}
|
||||
|
||||
@Step
|
||||
public TopicDetails openDotPartitionIdMenu() {
|
||||
dotPartitionIdMenuBtn.shouldBe(Condition.visible.because("dot menu invisible")).click();
|
||||
return this;
|
||||
}
|
||||
|
||||
@Step
|
||||
public TopicDetails clickClearMessagesBtn() {
|
||||
clearMessagesBtn.shouldBe(Condition.visible.because("Clear Messages invisible")).click();
|
||||
return this;
|
||||
}
|
||||
|
||||
@Step
|
||||
public TopicDetails deleteTopic() {
|
||||
clickByJavaScript(dotMenuBtn);
|
||||
|
@ -70,6 +84,11 @@ public class TopicDetails {
|
|||
return contentMessage.matches(contentMessageTab.getText().trim());
|
||||
}
|
||||
|
||||
@Step
|
||||
public String MessageCountAmount() {
|
||||
return $(By.xpath("//table[@class=\"sc-hiSbEG cvnuic\"]/tbody/tr/td[5]")).getText();
|
||||
}
|
||||
|
||||
private enum DotMenuHeaderItems {
|
||||
EDIT_SETTINGS("Edit settings"),
|
||||
CLEAR_MESSAGES("Clear messages"),
|
||||
|
@ -91,6 +110,26 @@ public class TopicDetails {
|
|||
}
|
||||
}
|
||||
|
||||
public enum DotPartitionIdMenu {
|
||||
CLEAR_MESSAGES("Clear messages");
|
||||
|
||||
|
||||
private final String value;
|
||||
|
||||
DotPartitionIdMenu(String value) {
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
public String getValue() {
|
||||
return value;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "DotPartitionIdMenuItems{" + "value='" + value + '\'' + '}';
|
||||
}
|
||||
}
|
||||
|
||||
public enum TopicMenu {
|
||||
OVERVIEW("Overview"),
|
||||
MESSAGES("Messages"),
|
||||
|
|
|
@ -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());
|
||||
|
@ -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()));
|
||||
|
|
Loading…
Add table
Reference in a new issue