[e2e] TopicTests.redirectToConsumerFromTopicProfile : Redirect to consumer from topic profile (#2823)
* redirectToConsumerFromTopic init test created * test execution clarification * fix * test brushing up * test brushing up * test brushing up * test brushing up * test brushing up * test brushing up
This commit is contained in:
parent
99e50f8814
commit
77f789fa6c
5 changed files with 85 additions and 3 deletions
|
@ -0,0 +1,32 @@
|
|||
package com.provectus.kafka.ui.pages.consumer;
|
||||
|
||||
import com.codeborne.selenide.Condition;
|
||||
import com.codeborne.selenide.SelenideElement;
|
||||
import io.qameta.allure.Step;
|
||||
|
||||
import static com.codeborne.selenide.Selenide.$x;
|
||||
import static com.provectus.kafka.ui.utilities.WebUtils.isVisible;
|
||||
|
||||
public class ConsumersDetails {
|
||||
|
||||
protected SelenideElement loadingSpinner = $x("//*[contains(text(),'Loading')]");
|
||||
protected SelenideElement topicGrid = $x("//table");
|
||||
protected String consumerIdHeaderLocator = "//h1[contains(text(),'%s')]";
|
||||
protected String topicElementLocator = "//tbody//td//a[text()='%s']";
|
||||
@Step
|
||||
public ConsumersDetails waitUntilScreenReady() {
|
||||
loadingSpinner.shouldBe(Condition.disappear);
|
||||
topicGrid.shouldBe(Condition.visible);
|
||||
return this;
|
||||
}
|
||||
@Step
|
||||
public boolean isRedirectedConsumerTitleVisible(String consumerGroupId) {
|
||||
return isVisible($x(String.format(consumerIdHeaderLocator, consumerGroupId)));
|
||||
}
|
||||
@Step
|
||||
public boolean isTopicInConsumersDetailsVisible(String topicName) {
|
||||
topicGrid.shouldBe(Condition.visible);
|
||||
return isVisible($x(String.format(topicElementLocator, topicName)));
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
package com.provectus.kafka.ui.pages.consumer;
|
||||
|
||||
import com.codeborne.selenide.SelenideElement;
|
||||
import com.provectus.kafka.ui.utilities.WaitUtils;
|
||||
import lombok.experimental.ExtensionMethod;
|
||||
|
||||
import static com.codeborne.selenide.Selenide.$x;
|
||||
public class ConsumersList {
|
||||
|
||||
protected SelenideElement consumerListHeader = $x("//h1[text()='Consumers']");
|
||||
}
|
|
@ -26,6 +26,7 @@ public class TopicDetails {
|
|||
protected SelenideElement confirmBtn = $x("//div[@role='dialog']//button[contains(text(),'Confirm')]");
|
||||
protected SelenideElement produceMessageBtn = $x("//div//button[text()='Produce Message']");
|
||||
protected SelenideElement contentMessageTab = $x("//html//div[@id='root']/div/main//table//p");
|
||||
protected String consumerIdLocator = "//a[@title='%s']";
|
||||
|
||||
@Step
|
||||
public TopicDetails waitUntilScreenReady() {
|
||||
|
@ -74,6 +75,12 @@ public class TopicDetails {
|
|||
return this;
|
||||
}
|
||||
|
||||
@Step
|
||||
public TopicDetails openConsumerGroup(String consumerId) {
|
||||
$x(String.format(consumerIdLocator, consumerId)).click();
|
||||
return this;
|
||||
}
|
||||
|
||||
@Step
|
||||
public boolean isKeyMessageVisible(String keyMessage) {
|
||||
return keyMessage.equals($("td[title]").getText());
|
||||
|
|
|
@ -5,6 +5,8 @@ import com.provectus.kafka.ui.pages.NaviSideBar;
|
|||
import com.provectus.kafka.ui.pages.connector.ConnectorCreateForm;
|
||||
import com.provectus.kafka.ui.pages.connector.ConnectorDetails;
|
||||
import com.provectus.kafka.ui.pages.connector.KafkaConnectList;
|
||||
import com.provectus.kafka.ui.pages.consumer.ConsumersDetails;
|
||||
import com.provectus.kafka.ui.pages.consumer.ConsumersList;
|
||||
import com.provectus.kafka.ui.pages.schema.SchemaCreateForm;
|
||||
import com.provectus.kafka.ui.pages.schema.SchemaDetails;
|
||||
import com.provectus.kafka.ui.pages.schema.SchemaRegistryList;
|
||||
|
@ -25,5 +27,7 @@ public abstract class Facade {
|
|||
protected TopicCreateEditForm topicCreateEditForm = new TopicCreateEditForm();
|
||||
protected TopicsList topicsList = new TopicsList();
|
||||
protected TopicDetails topicDetails = new TopicDetails();
|
||||
protected ConsumersDetails consumersDetails = new ConsumersDetails();
|
||||
protected ConsumersList consumersList = new ConsumersList();
|
||||
protected NaviSideBar naviSideBar = new NaviSideBar();
|
||||
}
|
||||
|
|
|
@ -15,14 +15,15 @@ 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;
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
@TestInstance(TestInstance.Lifecycle.PER_CLASS)
|
||||
public class TopicTests extends BaseTest {
|
||||
private static final long SUITE_ID = 2;
|
||||
private static final String SUITE_TITLE = "Topics";
|
||||
|
||||
private static final Topic TOPIC_FOR_UPDATE = new Topic()
|
||||
.setName("topic-to-update")
|
||||
.setCleanupPolicyValue("Compact")
|
||||
|
@ -186,11 +187,38 @@ public class TopicTests extends BaseTest {
|
|||
topicDetails
|
||||
.waitUntilScreenReady();
|
||||
String messageAmount = topicDetails.MessageCountAmount();
|
||||
Assertions.assertEquals(messageAmount,topicDetails.MessageCountAmount());
|
||||
assertThat(messageAmount)
|
||||
.withFailMessage("message amount not equals").isEqualTo(topicDetails.MessageCountAmount());
|
||||
topicDetails
|
||||
.openDotPartitionIdMenu()
|
||||
.clickClearMessagesBtn();
|
||||
// Assertions.assertEquals(Integer.toString(Integer.valueOf(messageAmount)-1),topicDetails.MessageCountAmount());
|
||||
// assertThat(Integer.toString(Integer.valueOf(messageAmount)-1))
|
||||
// .withFailMessage("message amount not decrease by one").isEqualTo(topicDetails.MessageCountAmount());
|
||||
}
|
||||
|
||||
@DisplayName("Redirect to consumer from topic profile")
|
||||
@Suite(suiteId = SUITE_ID, title = SUITE_TITLE)
|
||||
@AutomationStatus(status = Status.AUTOMATED)
|
||||
@CaseId(20)
|
||||
@Test
|
||||
void redirectToConsumerFromTopic() {
|
||||
String topicName = "source-activities";
|
||||
String consumerGroupId = "connect-sink_postgres_activities";
|
||||
naviSideBar
|
||||
.openSideMenu(TOPICS);
|
||||
topicsList
|
||||
.waitUntilScreenReady()
|
||||
.openTopic(topicName);
|
||||
topicDetails
|
||||
.waitUntilScreenReady()
|
||||
.openTopicMenu(TopicDetails.TopicMenu.CONSUMERS)
|
||||
.openConsumerGroup(consumerGroupId);
|
||||
consumersDetails
|
||||
.waitUntilScreenReady();
|
||||
assertThat(consumersDetails.isRedirectedConsumerTitleVisible(consumerGroupId))
|
||||
.withFailMessage("isRedirectedConsumerTitleVisible").isTrue();
|
||||
assertThat(consumersDetails.isTopicInConsumersDetailsVisible(topicName))
|
||||
.withFailMessage("isTopicInConsumersDetailsVisible").isTrue();
|
||||
}
|
||||
|
||||
@AfterAll
|
||||
|
|
Loading…
Add table
Reference in a new issue