package no.niths.infrastructure.signaling; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; import no.niths.common.config.HibernateConfig; import no.niths.common.config.TestAppConfig; import no.niths.domain.signaling.AccessPoint; import no.niths.infrastructure.signaling.interfaces.AccessPointRepository; import org.hibernate.exception.ConstraintViolationException; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import org.springframework.test.context.transaction.TransactionConfiguration; import org.springframework.transaction.annotation.Transactional; @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(classes = { TestAppConfig.class, HibernateConfig.class }) @Transactional @TransactionConfiguration(transactionManager = TestAppConfig.TRANSACTION_MANAGER) public class AccessPointRepositoryTest { @Autowired private AccessPointRepository repo; @Test(expected = ConstraintViolationException.class) public void testCreateAccessPointWithDuplicateName() { AccessPoint accessPoint1 = new AccessPoint("00:00:00:00:00:00"); repo.create(accessPoint1); AccessPoint accessPoint2 = new AccessPoint("00:00:00:00:00:00"); repo.create(accessPoint2); } @Test public void testCRUD() { String exampleAddress = "00:11:22:33:44:55"; int size = repo.getAll(null).size(); AccessPoint accessPoint1 = new AccessPoint(exampleAddress); repo.create(accessPoint1); assertEquals(size + 1, repo.getAll(null).size()); AccessPoint accessPoint2 = repo.getById(accessPoint1.getId()); Long id = accessPoint1.getId(); assertEquals(id, accessPoint2.getId()); AccessPoint accessPoint3 = new AccessPoint(); accessPoint3.setAddress(exampleAddress); assertEquals( accessPoint1.getAddress(), repo.getAll(accessPoint3).get(0).getAddress()); assertTrue(repo.delete(id)); assertEquals(size, repo.getAll(null).size()); assertEquals(0, repo.getAll(accessPoint3).size()); } }