PageRenderTime 25ms CodeModel.GetById 13ms app.highlight 11ms RepoModel.GetById 0ms app.codeStats 0ms

/activeobjects-bamboo-spi/src/test/java/com/atlassian/activeobjects/bamboo/BambooDataSourceProviderTest.java

https://bitbucket.org/activeobjects/ao-plugin
Java | 104 lines | 86 code | 15 blank | 3 comment | 0 complexity | 92964c7d622135b2baa5cacac29c14f8 MD5 | raw file
Possible License(s): Apache-2.0
  1package com.atlassian.activeobjects.bamboo;
  2
  3import com.atlassian.activeobjects.bamboo.hibernate.DialectExtractor;
  4import com.atlassian.activeobjects.spi.DatabaseType;
  5import com.atlassian.bamboo.persistence3.PluginHibernateSessionFactory;
  6import net.sf.hibernate.dialect.DB2390Dialect;
  7import net.sf.hibernate.dialect.DB2400Dialect;
  8import net.sf.hibernate.dialect.DB2Dialect;
  9import net.sf.hibernate.dialect.Dialect;
 10import net.sf.hibernate.dialect.HSQLDialect;
 11import net.sf.hibernate.dialect.MySQLDialect;
 12import net.sf.hibernate.dialect.Oracle9Dialect;
 13import net.sf.hibernate.dialect.OracleDialect;
 14import net.sf.hibernate.dialect.PostgreSQLDialect;
 15import net.sf.hibernate.dialect.SQLServerIntlDialect;
 16import org.junit.After;
 17import org.junit.Before;
 18import org.junit.Test;
 19import org.junit.runner.RunWith;
 20import org.mockito.Mock;
 21import org.mockito.runners.MockitoJUnitRunner;
 22
 23import static org.junit.Assert.assertEquals;
 24import static org.mockito.Mockito.doReturn;
 25
 26/**
 27 * Testing {@link com.atlassian.activeobjects.bamboo.BambooDataSourceProvider}
 28 */
 29@RunWith(MockitoJUnitRunner.class)
 30public class BambooDataSourceProviderTest
 31{
 32    private BambooDataSourceProvider dataSourceProvider;
 33
 34    @Mock
 35    private PluginHibernateSessionFactory sessionFactory;
 36
 37    @Mock
 38    private DialectExtractor dialectExtractor;
 39
 40    @Before
 41    public void setUp() throws Exception
 42    {
 43        dataSourceProvider = new BambooDataSourceProvider(sessionFactory, dialectExtractor);
 44    }
 45
 46    @After
 47    public void tearDown() throws Exception
 48    {
 49        dataSourceProvider = null;
 50    }
 51
 52    @Test
 53    public void testGetUnknownDatabaseTypeWithNullDialect() throws Exception
 54    {
 55        assertDatabaseTypeForDialect(DatabaseType.UNKNOWN, null);
 56    }
 57
 58    @Test
 59    public void testGetHsqlDatabaseTypeWithHsqlDialect()
 60    {
 61        assertDatabaseTypeForDialect(DatabaseType.HSQL, HSQLDialect.class);
 62    }
 63
 64    @Test
 65    public void testGetMySqlDatabaseTypeWithMySqlDialect()
 66    {
 67        assertDatabaseTypeForDialect(DatabaseType.MYSQL, com.atlassian.hibernate.dialect.MySQLDialect.class);
 68        assertDatabaseTypeForDialect(DatabaseType.MYSQL, MySQLDialect.class);
 69    }
 70
 71    @Test
 72    public void testGetPostgresDatabaseTypeWithPostgresDialect()
 73    {
 74        assertDatabaseTypeForDialect(DatabaseType.POSTGRESQL, PostgreSQLDialect.class);
 75    }
 76
 77    @Test
 78    public void testGetOracleDatabaseTypeWithOracleDialect()
 79    {
 80        assertDatabaseTypeForDialect(DatabaseType.ORACLE, OracleDialect.class);
 81        assertDatabaseTypeForDialect(DatabaseType.ORACLE, Oracle9Dialect.class);
 82    }
 83
 84    @Test
 85    public void testGetMsSqlDatabaseTypeWithMsSqlDialect()
 86    {
 87        assertDatabaseTypeForDialect(DatabaseType.MS_SQL, SQLServerIntlDialect.class);
 88    }
 89
 90    @Test
 91    public void testGetDB2DatabaseTypeWithDB2Dialect()
 92    {
 93        assertDatabaseTypeForDialect(DatabaseType.DB2, com.atlassian.hibernate.dialect.DB2Dialect.class);
 94        assertDatabaseTypeForDialect(DatabaseType.DB2, DB2Dialect.class);
 95        assertDatabaseTypeForDialect(DatabaseType.DB2, DB2390Dialect.class);
 96        assertDatabaseTypeForDialect(DatabaseType.DB2, DB2400Dialect.class);
 97    }
 98
 99    private void assertDatabaseTypeForDialect(DatabaseType databaseType, Class<? extends Dialect> dialect)
100    {
101        doReturn(dialect).when(dialectExtractor).getDialect();
102        assertEquals(databaseType, dataSourceProvider.getDatabaseType());
103    }
104}