diff --git a/src/test/java/io/getstream/chat/java/BasicTest.java b/src/test/java/io/getstream/chat/java/BasicTest.java index 1e49ffbe4..ced9d8f7c 100644 --- a/src/test/java/io/getstream/chat/java/BasicTest.java +++ b/src/test/java/io/getstream/chat/java/BasicTest.java @@ -34,6 +34,7 @@ static void setup() throws StreamException, SecurityException, IllegalArgumentEx cleanChannelTypes(); cleanBlocklists(); cleanCommands(); + cleanUsers(); upsertUsers(); createTestChannel(); createTestMessage(); @@ -76,6 +77,43 @@ private static void cleanChannels() throws StreamException { } } + private static void cleanUsers() throws StreamException { + while (true) { + List users = + User.list().request().getUsers().stream() + .map(user -> user.getId()) + .collect(Collectors.toList()); + + if (users.size() == 0) { + break; + } + + var deleteManyResponse = + User.deleteMany(users).deleteUserStrategy(DeleteStrategy.HARD).request(); + String taskId = deleteManyResponse.getTaskId(); + Assertions.assertNotNull(taskId); + + System.out.printf("Waiting for user deletion task %s to complete...\n", taskId); + + while (true) { + TaskStatusGetResponse response = TaskStatus.get(taskId).request(); + String status = response.getStatus(); + + if (status.equals("completed") || status.equals("ok")) { + break; + } + if (status.equals("failed") || status.equals("error")) { + throw new StreamException( + String.format("Failed to delete user(task_id: %s): %s", response.getId(), status), + (Throwable) null); + } + + // wait for the channels to delete + Assertions.assertDoesNotThrow(() -> Thread.sleep(500)); + } + } + } + private static void cleanChannelTypes() throws StreamException { ChannelType.list() .request() diff --git a/src/test/java/io/getstream/chat/java/ModerationTest.java b/src/test/java/io/getstream/chat/java/ModerationTest.java index e347db531..1b55b8d40 100644 --- a/src/test/java/io/getstream/chat/java/ModerationTest.java +++ b/src/test/java/io/getstream/chat/java/ModerationTest.java @@ -9,11 +9,13 @@ import org.junit.jupiter.api.Test; public class ModerationTest extends BasicTest { + @DisplayName("Can upsert, get and delete moderation config") @Test void whenUpsertingGetttingDeletingModerationConfig_thenNoException() { + final String blocklistName = "profanity_en_2020_v1"; BlockListRule rule = - BlockListRule.builder().name("test").action(Moderation.Action.REMOVE).build(); + BlockListRule.builder().name(blocklistName).action(Moderation.Action.REMOVE).build(); String key = "chat:messaging:1234"; Assertions.assertDoesNotThrow( @@ -27,7 +29,7 @@ void whenUpsertingGetttingDeletingModerationConfig_thenNoException() { Assertions.assertDoesNotThrow(() -> Moderation.getConfig(key).request()); Assertions.assertEquals( - response.getConfig().getBlockListConfig().getRules().get(0).getName(), "test"); + blocklistName, response.getConfig().getBlockListConfig().getRules().get(0).getName()); Assertions.assertDoesNotThrow(() -> Moderation.deleteConfig(key).request());