TopicTests.java 3.2 KB

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