package com.griddynamics.jagger.jaas.storage.impl; import com.griddynamics.jagger.jaas.config.TestPersistenceConfig; import com.griddynamics.jagger.jaas.storage.DbConfigDao; import com.griddynamics.jagger.jaas.storage.model.DbConfigEntity; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.annotation.DirtiesContext; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import java.util.List; import static com.google.common.collect.Lists.newArrayList; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.core.Is.is; import static org.hamcrest.core.IsNull.notNullValue; import static org.hamcrest.core.IsNull.nullValue; import static org.springframework.test.annotation.DirtiesContext.ClassMode.AFTER_EACH_TEST_METHOD; @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(classes = TestPersistenceConfig.class) @DirtiesContext(classMode = AFTER_EACH_TEST_METHOD) public class DbConfigDaoTest { @Autowired private DbConfigDao dbConfigDao; @Test public void readTest() { DbConfigEntity expected = getDbConfigEntity(); dbConfigDao.create(expected); DbConfigEntity actual = dbConfigDao.read(1L); assertThat(actual, is(notNullValue())); assertThat(actual, is(expected)); } @Test public void readAllTest() { List<DbConfigEntity> expected = newArrayList(getDbConfigEntity(), getDbConfigEntity(), getDbConfigEntity()); expected.forEach(project -> dbConfigDao.create(project)); List<DbConfigEntity> actuals = (List<DbConfigEntity>) dbConfigDao.readAll(); assertThat(actuals.size(), is(expected.size())); for (int i = 0; i < actuals.size(); i++) { assertThat(actuals.get(i), is(notNullValue())); assertThat(actuals.get(i), is(expected.get(i))); } } @Test public void updateTest() { DbConfigEntity expected = getDbConfigEntity(); dbConfigDao.create(expected); expected.setDesc(null); expected.setUser("new_user"); dbConfigDao.update(expected); DbConfigEntity actual = dbConfigDao.read(1L); assertThat(actual, is(notNullValue())); assertThat(actual, is(expected)); assertThat(dbConfigDao.readAll().size(), is(1)); } @Test public void createOrUpdate_Create_Test() { DbConfigEntity expected = getDbConfigEntity(); dbConfigDao.createOrUpdate(expected); DbConfigEntity actual = dbConfigDao.read(1L); assertThat(actual, is(notNullValue())); assertThat(actual, is(expected)); assertThat(dbConfigDao.readAll().size(), is(1)); } @Test public void createOrUpdate_Update_Test() { DbConfigEntity expected = getDbConfigEntity(); dbConfigDao.create(expected); expected.setDesc(null); expected.setUser("new_user"); dbConfigDao.createOrUpdate(expected); DbConfigEntity actual = dbConfigDao.read(1L); assertThat(actual, is(notNullValue())); assertThat(actual, is(expected)); assertThat(dbConfigDao.readAll().size(), is(1)); } @Test public void deleteByIdTest() { DbConfigEntity expected = getDbConfigEntity(); dbConfigDao.create(expected); dbConfigDao.delete(1L); DbConfigEntity actual = dbConfigDao.read(1L); assertThat(actual, is(nullValue())); assertThat(dbConfigDao.readAll().size(), is(0)); } @Test public void deleteTest() { DbConfigEntity expected = getDbConfigEntity(); dbConfigDao.create(expected); dbConfigDao.delete(expected); DbConfigEntity actual = dbConfigDao.read(1L); assertThat(actual, is(nullValue())); assertThat(dbConfigDao.readAll().size(), is(0)); } protected static DbConfigEntity getDbConfigEntity() { DbConfigEntity dbConfigEntity = new DbConfigEntity(); dbConfigEntity.setDesc("Desc"); dbConfigEntity.setHibernateDialect("Dialect"); dbConfigEntity.setJdbcDriver("Driver"); dbConfigEntity.setPass("pass"); dbConfigEntity.setUser("user"); dbConfigEntity.setUrl("url"); return dbConfigEntity; } }