Przeglądaj źródła

[e2e] Check custom parameters availability (#3340)

* test commit

* fix BaseTest

* upd global

* upd global

* upd global

* add local browser VM option

* fix TopicsList column header locator

* fix withStartupTimeout()

* switch e2e to TestNG

* upd pom

* upd page classes

* upd -pl kafka-ui-e2e-checks

* test commit

* Revert "test commit"

This reverts commit 4b505321ac5e164986a7a1886ac40c6744b8ecb1.

* fix workflow module

* create checkCustomParametersAvailability()

* upd test -f 'kafka-ui-e2e-checks'

* upd checkCustomParametersAvailability()

* upd checkCustomParametersWithinEditExistingTopic
Vlad Senyuta 2 lat temu
rodzic
commit
eeef330fc0

+ 6 - 1
kafka-ui-e2e-checks/src/main/java/com/provectus/kafka/ui/pages/BasePage.java

@@ -23,7 +23,8 @@ public abstract class BasePage extends WebUtils {
     protected SelenideElement confirmationMdl = $x("//div[text()= 'Confirm the action']/..");
     protected SelenideElement confirmBtn = $x("//button[contains(text(),'Confirm')]");
     protected SelenideElement cancelBtn = $x("//button[contains(text(),'Cancel')]");
-    protected ElementsCollection allGridItems = $$x("//tr[@class]");
+    protected ElementsCollection ddlOptions = $$x("//li[@value]");
+    protected ElementsCollection gridItems = $$x("//tr[@class]");
     protected String summaryCellLocator = "//div[contains(text(),'%s')]";
     protected String tableElementNameLocator = "//tbody//a[contains(text(),'%s')]";
     protected String columnHeaderLocator = "//table//tr/th//div[text()='%s']";
@@ -44,6 +45,10 @@ public abstract class BasePage extends WebUtils {
         return $x(String.format(tableElementNameLocator, elementName));
     }
 
+    protected ElementsCollection getDdlOptions() {
+        return ddlOptions;
+    }
+
     protected String getAlertHeader() {
         log.debug("\ngetAlertHeader");
         String result = alertHeader.shouldBe(Condition.visible).getText();

+ 1 - 1
kafka-ui-e2e-checks/src/main/java/com/provectus/kafka/ui/pages/brokers/BrokersList.java

@@ -62,7 +62,7 @@ public class BrokersList extends BasePage {
 
     private List<BrokersList.BrokerGridItem> initGridItems() {
         List<BrokersList.BrokerGridItem> gridItemList = new ArrayList<>();
-        allGridItems.shouldHave(CollectionCondition.sizeGreaterThan(0))
+        gridItems.shouldHave(CollectionCondition.sizeGreaterThan(0))
                 .forEach(item -> gridItemList.add(new BrokersList.BrokerGridItem(item)));
         return gridItemList;
     }

+ 2 - 2
kafka-ui-e2e-checks/src/main/java/com/provectus/kafka/ui/pages/ksqlDb/KsqlDbList.java

@@ -41,7 +41,7 @@ public class KsqlDbList extends BasePage {
 
   private List<KsqlDbList.KsqlTablesGridItem> initTablesItems() {
     List<KsqlDbList.KsqlTablesGridItem> gridItemList = new ArrayList<>();
-    allGridItems.shouldHave(CollectionCondition.sizeGreaterThan(0))
+    gridItems.shouldHave(CollectionCondition.sizeGreaterThan(0))
         .forEach(item -> gridItemList.add(new KsqlDbList.KsqlTablesGridItem(item)));
     return gridItemList;
   }
@@ -89,7 +89,7 @@ public class KsqlDbList extends BasePage {
 
   private List<KsqlDbList.KsqlStreamsGridItem> initStreamsItems() {
     List<KsqlDbList.KsqlStreamsGridItem> gridItemList = new ArrayList<>();
-    allGridItems.shouldHave(CollectionCondition.sizeGreaterThan(0))
+    gridItems.shouldHave(CollectionCondition.sizeGreaterThan(0))
         .forEach(item -> gridItemList.add(new KsqlDbList.KsqlStreamsGridItem(item)));
     return gridItemList;
   }

+ 14 - 5
kafka-ui-e2e-checks/src/main/java/com/provectus/kafka/ui/pages/topics/TopicCreateEditForm.java

@@ -1,9 +1,6 @@
 package com.provectus.kafka.ui.pages.topics;
 
-import com.codeborne.selenide.ClickOptions;
-import com.codeborne.selenide.Condition;
-import com.codeborne.selenide.ElementsCollection;
-import com.codeborne.selenide.SelenideElement;
+import com.codeborne.selenide.*;
 import com.provectus.kafka.ui.pages.BasePage;
 import com.provectus.kafka.ui.pages.topics.enums.CleanupPolicyValue;
 import com.provectus.kafka.ui.pages.topics.enums.CustomParameterType;
@@ -91,8 +88,20 @@ public class TopicCreateEditForm extends BasePage {
     }
 
     @Step
-    public TopicCreateEditForm setCustomParameterType(CustomParameterType customParameterType) {
+    public TopicCreateEditForm openCustomParameterTypeDdl() {
         customParameterDdl.shouldBe(Condition.visible).click();
+        ddlOptions.shouldHave(CollectionCondition.sizeGreaterThan(0));
+        return this;
+    }
+
+    @Step
+    public ElementsCollection getAllDdlOptions() {
+        return getDdlOptions();
+    }
+
+    @Step
+    public TopicCreateEditForm setCustomParameterType(CustomParameterType customParameterType) {
+        openCustomParameterTypeDdl();
         $x(String.format(ddlElementLocator, customParameterType.getOptionValue())).shouldBe(Condition.visible).click();
         return this;
     }

+ 1 - 1
kafka-ui-e2e-checks/src/main/java/com/provectus/kafka/ui/pages/topics/TopicDetails.java

@@ -337,7 +337,7 @@ public class TopicDetails extends BasePage {
 
     private List<TopicDetails.MessageGridItem> initItems() {
         List<TopicDetails.MessageGridItem> gridItemList = new ArrayList<>();
-        allGridItems.shouldHave(CollectionCondition.sizeGreaterThan(0))
+        gridItems.shouldHave(CollectionCondition.sizeGreaterThan(0))
                 .forEach(item -> gridItemList.add(new TopicDetails.MessageGridItem(item)));
         return gridItemList;
     }

+ 1 - 1
kafka-ui-e2e-checks/src/main/java/com/provectus/kafka/ui/pages/topics/TopicSettingsTab.java

@@ -24,7 +24,7 @@ public class TopicSettingsTab extends BasePage {
 
     private List<SettingsGridItem> initGridItems() {
         List<SettingsGridItem> gridItemList = new ArrayList<>();
-        allGridItems.shouldHave(CollectionCondition.sizeGreaterThan(0))
+        gridItems.shouldHave(CollectionCondition.sizeGreaterThan(0))
                 .forEach(item -> gridItemList.add(new SettingsGridItem(item)));
         return gridItemList;
     }

+ 1 - 1
kafka-ui-e2e-checks/src/main/java/com/provectus/kafka/ui/pages/topics/TopicsList.java

@@ -163,7 +163,7 @@ public class TopicsList extends BasePage {
 
     private List<TopicGridItem> initGridItems() {
         List<TopicGridItem> gridItemList = new ArrayList<>();
-        allGridItems.shouldHave(CollectionCondition.sizeGreaterThan(0))
+        gridItems.shouldHave(CollectionCondition.sizeGreaterThan(0))
                 .forEach(item -> gridItemList.add(new TopicGridItem(item)));
         return gridItemList;
     }

+ 37 - 16
kafka-ui-e2e-checks/src/test/java/com/provectus/kafka/ui/smokeSuite/topics/TopicsTest.java

@@ -108,11 +108,32 @@ public class TopicsTest extends BaseTest {
     }
 
     @Ignore
-    @Issue("https://github.com/provectus/kafka-ui/issues/2625")
+    @Issue("https://github.com/provectus/kafka-ui/issues/3071")
     @Suite(suiteId = SUITE_ID, title = SUITE_TITLE)
     @AutomationStatus(status = Status.AUTOMATED)
-    @CaseId(197)
+    @CaseId(268)
     @Test(priority = 3)
+    public void checkCustomParametersWithinEditExistingTopic() {
+        navigateToTopicsAndOpenDetails(TOPIC_TO_UPDATE_AND_DELETE.getName());
+        topicDetails
+                .openDotMenu()
+                .clickEditSettingsMenu();
+        SoftAssert softly = new SoftAssert();
+        topicCreateEditForm
+                .waitUntilScreenReady()
+                .clickAddCustomParameterTypeButton()
+                .openCustomParameterTypeDdl()
+                .getAllDdlOptions()
+                .forEach(option ->
+                        softly.assertTrue(!option.is(Condition.attribute("disabled")),
+                                option.getText() + " is enabled:"));
+        softly.assertAll();
+    }
+
+    @Suite(suiteId = SUITE_ID, title = SUITE_TITLE)
+    @AutomationStatus(status = Status.AUTOMATED)
+    @CaseId(197)
+    @Test(priority = 4)
     public void updateTopic() {
         navigateToTopicsAndOpenDetails(TOPIC_TO_UPDATE_AND_DELETE.getName());
         topicDetails
@@ -166,7 +187,7 @@ public class TopicsTest extends BaseTest {
     @Suite(suiteId = SUITE_ID, title = SUITE_TITLE)
     @AutomationStatus(status = Status.AUTOMATED)
     @CaseId(242)
-    @Test(priority = 4)
+    @Test(priority = 5)
     public void removeTopicFromTopicList() {
         navigateToTopics();
         topicsList
@@ -182,7 +203,7 @@ public class TopicsTest extends BaseTest {
     @Suite(suiteId = SUITE_ID, title = SUITE_TITLE)
     @AutomationStatus(status = Status.AUTOMATED)
     @CaseId(207)
-    @Test(priority = 5)
+    @Test(priority = 6)
     public void deleteTopic() {
         navigateToTopicsAndOpenDetails(TOPIC_FOR_DELETE.getName());
         topicDetails
@@ -197,7 +218,7 @@ public class TopicsTest extends BaseTest {
     @Suite(suiteId = SUITE_ID, title = SUITE_TITLE)
     @AutomationStatus(status = Status.AUTOMATED)
     @CaseId(20)
-    @Test(priority = 6)
+    @Test(priority = 7)
     public void redirectToConsumerFromTopic() {
         String topicName = "source-activities";
         String consumerGroupId = "connect-sink_postgres_activities";
@@ -218,7 +239,7 @@ public class TopicsTest extends BaseTest {
     @Suite(suiteId = SUITE_ID, title = SUITE_TITLE)
     @AutomationStatus(status = Status.AUTOMATED)
     @CaseId(4)
-    @Test(priority = 7)
+    @Test(priority = 8)
     public void checkTopicCreatePossibility() {
         navigateToTopics();
         topicsList
@@ -241,7 +262,7 @@ public class TopicsTest extends BaseTest {
     @Suite(suiteId = SUITE_ID, title = SUITE_TITLE)
     @AutomationStatus(status = Status.AUTOMATED)
     @CaseId(266)
-    @Test(priority = 8)
+    @Test(priority = 9)
     public void checkTimeToRetainDataCustomValueWithEditingTopic() {
         Topic topicToRetainData = new Topic()
                 .setName("topic-to-retain-data-" + randomAlphabetic(5))
@@ -274,7 +295,7 @@ public class TopicsTest extends BaseTest {
     @Suite(suiteId = SUITE_ID, title = SUITE_TITLE)
     @AutomationStatus(status = Status.AUTOMATED)
     @CaseId(6)
-    @Test(priority = 9)
+    @Test(priority = 10)
     public void checkCustomParametersWithinCreateNewTopic() {
         navigateToTopics();
         topicsList
@@ -295,7 +316,7 @@ public class TopicsTest extends BaseTest {
     @Suite(suiteId = SUITE_ID, title = SUITE_TITLE)
     @AutomationStatus(status = Status.AUTOMATED)
     @CaseId(2)
-    @Test(priority = 10)
+    @Test(priority = 11)
     public void checkTopicListElements() {
         navigateToTopics();
         verifyElementsCondition(topicsList.getAllVisibleElements(), Condition.visible);
@@ -305,7 +326,7 @@ public class TopicsTest extends BaseTest {
     @Suite(suiteId = SUITE_ID, title = SUITE_TITLE)
     @AutomationStatus(status = Status.AUTOMATED)
     @CaseId(12)
-    @Test(priority = 11)
+    @Test(priority = 12)
     public void addingNewFilterWithinTopic() {
         String filterName = randomAlphabetic(5);
         navigateToTopicsAndOpenDetails(TOPIC_FOR_CHECK_FILTERS.getName());
@@ -327,7 +348,7 @@ public class TopicsTest extends BaseTest {
     @Suite(suiteId = SUITE_ID, title = SUITE_TITLE)
     @AutomationStatus(status = Status.AUTOMATED)
     @CaseId(13)
-    @Test(priority = 12)
+    @Test(priority = 13)
     public void checkFilterSavingWithinSavedFilters() {
         String displayName = randomAlphabetic(5);
         navigateToTopicsAndOpenDetails(TOPIC_FOR_CHECK_FILTERS.getName());
@@ -350,7 +371,7 @@ public class TopicsTest extends BaseTest {
     @Suite(suiteId = SUITE_ID, title = SUITE_TITLE)
     @AutomationStatus(status = Status.AUTOMATED)
     @CaseId(14)
-    @Test(priority = 13)
+    @Test(priority = 14)
     public void checkApplyingSavedFilterWithinTopicMessages() {
         String displayName = randomAlphabetic(5);
         navigateToTopicsAndOpenDetails(TOPIC_FOR_CHECK_FILTERS.getName());
@@ -371,7 +392,7 @@ public class TopicsTest extends BaseTest {
     @Suite(suiteId = SUITE_ID, title = SUITE_TITLE)
     @AutomationStatus(status = Status.AUTOMATED)
     @CaseId(11)
-    @Test(priority = 14)
+    @Test(priority = 15)
     public void checkShowInternalTopicsButtonFunctionality() {
         navigateToTopics();
         SoftAssert softly = new SoftAssert();
@@ -389,7 +410,7 @@ public class TopicsTest extends BaseTest {
     @Suite(suiteId = SUITE_ID, title = SUITE_TITLE)
     @AutomationStatus(status = Status.AUTOMATED)
     @CaseId(56)
-    @Test(priority = 15)
+    @Test(priority = 16)
     public void checkRetentionBytesAccordingToMaxSizeOnDisk() {
         navigateToTopics();
         topicsList
@@ -439,7 +460,7 @@ public class TopicsTest extends BaseTest {
     @Suite(suiteId = SUITE_ID, title = SUITE_TITLE)
     @AutomationStatus(status = Status.AUTOMATED)
     @CaseId(247)
-    @Test(priority = 16)
+    @Test(priority = 17)
     public void recreateTopicFromTopicProfile() {
         Topic topicToRecreate = new Topic()
                 .setName("topic-to-recreate-" + randomAlphabetic(5))
@@ -469,7 +490,7 @@ public class TopicsTest extends BaseTest {
     @Suite(suiteId = SUITE_ID, title = SUITE_TITLE)
     @AutomationStatus(status = Status.AUTOMATED)
     @CaseId(8)
-    @Test(priority = 17)
+    @Test(priority = 18)
     public void checkCopyTopicPossibility() {
         Topic topicToCopy = new Topic()
                 .setName("topic-to-copy-" + randomAlphabetic(5))