use of com.github.jamesnetherton.zulip.client.api.user.UserGroup in project zulip-java-client by jamesnetherton.
the class ZulipIntegrationTestBase method afterEach.
@AfterEach
public void afterEach() throws Exception {
if (zulip != null) {
// Clean up messages
List<Message> messages = zulip.messages().getMessages(100, 0, Anchor.NEWEST).execute();
if (messages != null) {
for (Message message : messages) {
try {
zulip.messages().deleteMessage(message.getId()).execute();
} catch (ZulipClientException e) {
// Ignore
}
}
}
List<Message> privateMessages = zulip.messages().getMessages(100, 0, Anchor.NEWEST).withNarrows(Narrow.of("is", "private")).execute();
if (privateMessages != null) {
for (Message message : privateMessages) {
try {
zulip.messages().deleteMessage(message.getId()).execute();
} catch (ZulipClientException e) {
// Ignore
}
}
}
// Clean up streams
List<Stream> streams = zulip.streams().getAll().withIncludeDefault(false).execute();
if (streams != null) {
for (Stream stream : streams) {
try {
zulip.streams().delete(stream.getStreamId()).execute();
} catch (ZulipClientException e) {
// Ignore
}
}
}
// Clean up user groups
List<UserGroup> groups = zulip.users().getUserGroups().execute();
if (groups != null) {
for (UserGroup group : groups) {
try {
zulip.users().deleteUserGroup(group.getId()).execute();
} catch (ZulipClientException e) {
// Ignore
}
}
}
// Clean up profile fields
List<ProfileField> fields = zulip.server().getCustomProfileFields().execute();
if (fields != null) {
for (ProfileField field : fields) {
try {
zulip.server().deleteCustomProfileField(field.getId()).execute();
} catch (ZulipClientException e) {
// Ignore
}
}
}
}
// Clean up drafts
List<Draft> drafts = zulip.drafts().getDrafts().execute();
if (drafts != null) {
for (Draft draft : drafts) {
try {
zulip.drafts().deleteDraft(draft.getId()).execute();
} catch (ZulipClientException e) {
// Ignore
}
}
}
}
use of com.github.jamesnetherton.zulip.client.api.user.UserGroup in project zulip-java-client by jamesnetherton.
the class ZulipUserIT method userGroupCrud.
@Test
public void userGroupCrud() throws ZulipClientException {
// Create group
zulip.users().createUserGroup("Test Group Name", "Test Group Description", ownUser.getUserId()).execute();
// Get group
List<UserGroup> groups = zulip.users().getUserGroups().execute();
assertEquals(1, groups.size());
UserGroup group = groups.get(0);
assertEquals("Test Group Name", group.getName());
assertEquals("Test Group Description", group.getDescription());
assertTrue(group.getId() > 0);
List<Long> members = group.getMembers();
assertEquals(1, members.size());
assertTrue(members.contains(ownUser.getUserId()));
// Update group
zulip.users().updateUserGroup("Updated Group Name", "Updated Group Description", group.getId()).execute();
groups = zulip.users().getUserGroups().execute();
assertEquals(1, groups.size());
group = groups.get(0);
assertEquals("Updated Group Name", group.getName());
assertEquals("Updated Group Description", group.getDescription());
// Add new user to group
String id = UUID.randomUUID().toString().split("-")[0];
zulip.users().createUser(id + "@test.com", id, "T00s3cr3t").execute();
List<User> users = zulip.users().getAllUsers().execute();
User createdUser = users.stream().filter(User::isActive).filter(u -> u.getEmail().equals(id + "@test.com")).findFirst().get();
assertNotNull(createdUser);
zulip.users().addUsersToGroup(group.getId(), createdUser.getUserId()).execute();
groups = zulip.users().getUserGroups().execute();
group = groups.get(0);
members = group.getMembers();
assertEquals(2, members.size());
assertTrue(members.contains(ownUser.getUserId()));
assertTrue(members.contains(createdUser.getUserId()));
// Remove user from group
zulip.users().removeUsersFromGroup(group.getId(), createdUser.getUserId()).execute();
groups = zulip.users().getUserGroups().execute();
group = groups.get(0);
members = group.getMembers();
assertEquals(1, members.size());
assertTrue(members.contains(ownUser.getUserId()));
// Delete group
zulip.users().deleteUserGroup(group.getId()).execute();
groups = zulip.users().getUserGroups().execute();
assertTrue(groups.isEmpty());
}
Aggregations