TopicTests.java 3.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. package com.provectus.kafka.ui.topics;
  2. import com.provectus.kafka.ui.base.BaseTest;
  3. import com.provectus.kafka.ui.helpers.Helpers;
  4. import com.provectus.kafka.ui.helpers.WaitUtils;
  5. import com.provectus.kafka.ui.pages.MainPage;
  6. import com.provectus.kafka.ui.pages.TopicView;
  7. import lombok.SneakyThrows;
  8. import org.junit.jupiter.api.*;
  9. import org.junit.jupiter.api.DisplayName;
  10. import org.junit.jupiter.api.Test;
  11. import static com.provectus.kafka.ui.helpers.Utils.waitForSelectedValue;
  12. public class TopicTests extends BaseTest {
  13. public static final String NEW_TOPIC = "new-topic";
  14. public static final String UPDATE_TOPIC = "update-topic";
  15. public static final String TOPIC_TO_DELETE = "delete-topic";
  16. public static final String SECOND_LOCAL = "secondLocal";
  17. public static final String COMPACT_POLICY_VALUE = "compact";
  18. public static final String UPDATED_TIME_TO_RETAIN_VALUE = "604800001";
  19. public static final String UPDATED_MAX_SIZE_ON_DISK = "20 GB";
  20. public static final String UPDATED_MAX_MESSAGE_BYTES = "1000020";
  21. @BeforeAll
  22. @SneakyThrows
  23. public static void beforeAll() {
  24. Helpers.INSTANCE.apiHelper.createTopic(SECOND_LOCAL, UPDATE_TOPIC);
  25. Helpers.INSTANCE.apiHelper.createTopic(SECOND_LOCAL, TOPIC_TO_DELETE);
  26. }
  27. @AfterAll
  28. @SneakyThrows
  29. public static void afterAll() {
  30. Helpers.INSTANCE.apiHelper.deleteTopic(SECOND_LOCAL, UPDATE_TOPIC);
  31. Helpers.INSTANCE.apiHelper.deleteTopic(SECOND_LOCAL, TOPIC_TO_DELETE);
  32. }
  33. @SneakyThrows
  34. @DisplayName("should create a topic")
  35. @Test
  36. void createTopic() {
  37. try {
  38. helpers.apiHelper.createTopic(SECOND_LOCAL, NEW_TOPIC);
  39. pages.open()
  40. .isOnPage()
  41. .goToSideMenu(SECOND_LOCAL, MainPage.SideMenuOptions.TOPICS)
  42. .isTopic(NEW_TOPIC);
  43. } finally {
  44. helpers.apiHelper.deleteTopic(SECOND_LOCAL, NEW_TOPIC);
  45. }
  46. }
  47. @SneakyThrows
  48. @DisplayName("should update a topic")
  49. @Test
  50. void updateTopic(){
  51. final String path = "ui/clusters/" + SECOND_LOCAL + "/topics/" + UPDATE_TOPIC;
  52. pages.openTopicsListPage()
  53. .shouldBeOnPage()
  54. .openTopic(UPDATE_TOPIC);
  55. pages.openTopicViewPage(path)
  56. .openEditSettings()
  57. .changeCleanupPolicy(COMPACT_POLICY_VALUE)
  58. .changeTimeToRetainValue(UPDATED_TIME_TO_RETAIN_VALUE)
  59. .changeMaxSizeOnDisk(UPDATED_MAX_SIZE_ON_DISK)
  60. .changeMaxMessageBytes(UPDATED_MAX_MESSAGE_BYTES)
  61. .submitSettingChanges();
  62. pages.reloadPage();
  63. TopicViewPage topicViewPage = pages.openTopicViewPage(path)
  64. .openEditSettings();
  65. WaitUtils.waitForSelectedValue(topicView.getCleanupPolicy(), COMPACT_POLICY_VALUE);
  66. Assertions.assertEquals(UPDATED_TIME_TO_RETAIN_VALUE, topicView.getTimeToRetain().getValue());
  67. Assertions.assertEquals(UPDATED_MAX_SIZE_ON_DISK, topicView.getMaxSizeOnDisk().getSelectedText());
  68. Assertions.assertEquals(UPDATED_MAX_MESSAGE_BYTES, topicView.getMaxMessageBytes().getValue());
  69. }
  70. @SneakyThrows
  71. @DisplayName("should delete topic")
  72. @Test
  73. @Disabled
  74. void deleteTopic(){
  75. final String path = "ui/clusters/" + SECOND_LOCAL + "/topics/" + DELETE_TOPIC;
  76. pages.openTopicsListPage()
  77. .shouldBeOnPage()
  78. .openTopic(DELETE_TOPIC);
  79. pages.openTopicViewPage(path).clickDeleteTopicButton();
  80. pages.openTopicsListPage().shouldBeDeleted(DELETE_TOPIC);
  81. }
  82. }