package de.passau.uni.sec.compose.id.core.persistence; import de.passau.uni.sec.compose.id.core.persistence.entities.Role; import de.passau.uni.sec.compose.id.core.persistence.repository.RoleRepository; import org.junit.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import javax.persistence.PersistenceException; import java.util.UUID; import static org.junit.Assert.assertEquals; public class TestRoleRepository extends IntegrationTestBase { @Qualifier("roleRepository") @Autowired RoleRepository roleRepository; /** * Tests the role repository by adding a role. */ @Test public void testAddRole() { Role role = new Role(); role.setId(UUID.randomUUID().toString()); role.setName("first Role"); roleRepository.saveAndFlush(role); roleRepository.flush(); assertEquals(role, roleRepository.getOne(role.getId())); } /** * Tests if the NotNull-constraint is correctly validated. */ @Test(expected = javax.persistence.PersistenceException.class) public void testNotNullValidation() { Role role = new Role(); role.setId(UUID.randomUUID().toString()); roleRepository.saveAndFlush(role); } @Test public void testRoleNameMustNotBeNull() { Role role = new Role(); role.setId(UUID.randomUUID().toString()); String message = ""; try { roleRepository.saveAndFlush(role); } catch (PersistenceException ex) { message = ex.getCause().getCause().getMessage(); } assertEquals("Column 'name' cannot be null", message); } }