package de.passau.uni.sec.compose.id.core.persistence; import static org.junit.Assert.assertEquals; import java.util.Collection; import java.util.Date; import java.util.LinkedList; import java.util.List; import java.util.UUID; import org.junit.Before; import org.junit.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import de.passau.uni.sec.compose.id.core.persistence.entities.EntityGroupMembership; import de.passau.uni.sec.compose.id.core.persistence.entities.Group; import de.passau.uni.sec.compose.id.core.persistence.entities.ServiceComposition; import de.passau.uni.sec.compose.id.core.persistence.entities.ServiceObject; import de.passau.uni.sec.compose.id.core.persistence.entities.User; import de.passau.uni.sec.compose.id.core.persistence.repository.EntityGroupMembershipRepository; import de.passau.uni.sec.compose.id.core.persistence.repository.GroupRepository; import de.passau.uni.sec.compose.id.core.persistence.repository.ServiceCompositionRepository; import de.passau.uni.sec.compose.id.core.persistence.repository.ServiceObjectRepository; import de.passau.uni.sec.compose.id.core.persistence.repository.UserRepository; public class TestServiceCompositionRepository extends IntegrationTestBase { @Qualifier("serviceCompositionRepository") @Autowired ServiceCompositionRepository serviceCompositionRepository; @Qualifier("entityGroupMembershipRepository") @Autowired EntityGroupMembershipRepository entityGroupMembershipRepository ; @Qualifier("userRepository") @Autowired UserRepository userRepository; @Qualifier("groupRepository") @Autowired GroupRepository groupRepository; private String user_id; private String group_id; private EntityGroupMembership memb; @Before public void createUserAndGroup() { User u = new User(); user_id = UUID.randomUUID().toString(); u.setId(user_id); u.setLastModified(new Date(System.currentTimeMillis())); userRepository.saveAndFlush(u); Group g = new Group(); g.setOwner(u); group_id = UUID.randomUUID().toString(); g.setLastModified(new Date(System.currentTimeMillis())); g.setId(group_id); g.setName("new group"); groupRepository.saveAndFlush(g); memb = new EntityGroupMembership(); memb.setGroup(g); memb.setId(UUID.randomUUID().toString()); memb.setGroup(g); } /** * Tests the user repository by adding a user. */ @Test public void testAddServiceComposition() { ServiceComposition scomp = new ServiceComposition(); Group g = groupRepository.getOne(group_id); List<EntityGroupMembership> ms = new LinkedList<>(); entityGroupMembershipRepository.saveAndFlush(memb); ms.add(memb); scomp.setGroups(ms); scomp.setOwner(userRepository.getOne(user_id)); scomp.setId(UUID.randomUUID().toString()); scomp.setLastModified(new Date(System.currentTimeMillis())); serviceCompositionRepository.save(scomp); assertEquals(scomp, serviceCompositionRepository.getOne(scomp.getId())); } }