blob: f747a89d9ee959b6907d012cb0273768f06b9f7a [file] [log] [blame]
package de.ids_mannheim.korap.dao;
import static org.junit.jupiter.api.Assertions.assertEquals;
import java.util.List;
import java.util.Set;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit.jupiter.SpringExtension;
import de.ids_mannheim.korap.entity.Role;
import de.ids_mannheim.korap.entity.UserGroup;
import de.ids_mannheim.korap.entity.UserGroupMember;
import de.ids_mannheim.korap.exceptions.KustvaktException;
@ExtendWith(SpringExtension.class)
@ContextConfiguration("classpath:test-config.xml")
public class UserGroupDaoTest extends DaoTestBase {
@Autowired
private RoleDao roleDao;
@Test
public void createDeleteNewUserGroup () throws KustvaktException {
String groupName = "test-group";
String createdBy = "test-user";
UserGroup group = createUserGroup(groupName, createdBy);
// group member
List<UserGroupMember> members = group.getMembers();
assertEquals(1, members.size());
UserGroupMember m = members.get(0);
assertEquals(createdBy, m.getUserId());
// member roles
Set<Role> roles = roleDao.retrieveRoleByGroupMemberId(m.getId());
assertEquals(5, roles.size());
int groupId = group.getId();
// // retrieve VC by group
// List<QueryDO> vc = virtualCorpusDao.retrieveQueryByGroup(groupId);
// assertEquals(0, vc.size());
deleteUserGroup(groupId, createdBy);
}
@Test
public void retrieveGroupWithMembers () throws KustvaktException {
UserGroup group = createDoryGroup();
// dory group
List<UserGroupMember> members = userGroupDao
.retrieveGroupById(group.getId(), true).getMembers();
assertEquals(3, members.size());
UserGroupMember m = members.get(1);
Set<Role> roles = m.getRoles();
assertEquals(0, roles.size());
// assertEquals(2, roles.size());
// List<Role> sortedRoles = new ArrayList<>(roles);
// Collections.sort(sortedRoles);
// assertEquals(PredefinedRole.USER_GROUP_MEMBER.name(),
// sortedRoles.get(0).getName());
// assertEquals(PredefinedRole.VC_ACCESS_MEMBER.name(),
// sortedRoles.get(1).getName());
retrieveGroupByUserId();
deleteUserGroup(group.getId(), "dory");
}
private void retrieveGroupByUserId () throws KustvaktException {
List<UserGroup> group = userGroupDao.retrieveGroupByUserId("dory");
assertEquals(1, group.size());
group = userGroupDao.retrieveGroupByUserId("pearl");
assertEquals(0, group.size());
}
}