TopicTests.java 3.2 KB

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