package de.passau.uni.sec.compose.id.core.persistence; import de.passau.uni.sec.compose.id.core.persistence.entities.Group; import de.passau.uni.sec.compose.id.core.persistence.entities.User; import de.passau.uni.sec.compose.id.core.persistence.repository.GroupRepository; import de.passau.uni.sec.compose.id.core.persistence.repository.UserRepository; import org.junit.Assert; import org.junit.Before; import org.junit.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import java.util.Collection; import java.util.Date; import java.util.UUID; import static org.junit.Assert.assertTrue; public class TestUserAndGroup extends IntegrationTestBase { @Autowired @Qualifier("userRepository") UserRepository userRepository; @Autowired @Qualifier("groupRepository") GroupRepository groupRepository; User user; String userId = UUID.randomUUID().toString(); Collection<Group> groups; Group group1; String group1Id = UUID.randomUUID().toString(); String group1Name = "group 1"; Group group2; String group2Id = UUID.randomUUID().toString(); String group2Name = "group 2"; @Before public void createUserAndGroup() { user = new User(); user.setId(userId); user.setLastModified(new Date()); group1 = new Group(); group1.setId(group1Id); group1.setName(group1Name); group2 = new Group(); group2.setId(group2Id); group2.setName(group2Name); userRepository.save(user); groupRepository.save(group1); groupRepository.save(group2); userRepository.flush(); groupRepository.flush(); } @Test public void testAddGroupsToUser() { User fromDB = userRepository.getOne(userId); Assert.assertEquals(user, fromDB); fromDB.getGroups().add(group1); fromDB.getGroups().add(group2); fromDB.setLastModified(new Date()); userRepository.saveAndFlush(fromDB); fromDB = userRepository.getOne(userId); assertTrue(fromDB.getGroups().size() == 2); assertTrue(fromDB.getGroups().contains(group1)); assertTrue(fromDB.getGroups().contains(group2)); } }