Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @Configuration
- @EnableJpaRepositories(basePackages = {
- "com.me"
- })
- @EnableTransactionManagement
- @ComponentScan({ "com.websystique.spring.configuration" })
- @PropertySource(value = { "classpath:application.properties" })
- public class HibernateConfiguration {
- @Autowired
- protected Environment environment;
- /**
- * Creates LocalContainerEntityManagerFactoryBean, sets it's DataSource,
- * packages to scan, JpaVendorAdapter and it's properties
- *
- * @return LocalContainerEntityManagerFactoryBean
- */
- @Bean
- public LocalContainerEntityManagerFactoryBean entityManagerFactory(DataSource dataSource) {
- LocalContainerEntityManagerFactoryBean entityManagerFactory = new LocalContainerEntityManagerFactoryBean();
- entityManagerFactory.setDataSource(dataSource);
- entityManagerFactory.setPackagesToScan(new String[] { "com.altkom.model" });
- JpaVendorAdapter vendorAdapter = new HibernateJpaVendorAdapter();
- entityManagerFactory.setJpaVendorAdapter(vendorAdapter);
- entityManagerFactory.setJpaProperties(hibernateProperties());
- return entityManagerFactory;
- }
- /**
- * Creates DataSource object, sets it's driver, url, username and password
- * basing on properties from application.properties file
- *
- * @return DataSource
- */
- @Bean
- public DataSource dataSource() {
- BasicDataSource dataSource = new BasicDataSource();
- dataSource.setDriverClassName(environment.getRequiredProperty("jdbc.driverClassName"));
- dataSource.setUrl(environment.getRequiredProperty("jdbc.url"));
- dataSource.setUsername(environment.getRequiredProperty("jdbc.username"));
- dataSource.setPassword(environment.getRequiredProperty("jdbc.password"));
- return dataSource;
- }
- /**
- * Creates JpaTransactionManager and sets it's entityManagerFactory
- *
- * @param entityManagerFactory
- * param for method setEntityManagerFactory()
- * @return JpaTransactionManager
- */
- @Bean
- @Autowired
- public PlatformTransactionManager transactionManager(EntityManagerFactory entityManagerFactory) {
- JpaTransactionManager transactionManager = new JpaTransactionManager();
- transactionManager.setEntityManagerFactory(entityManagerFactory);
- return transactionManager;
- }
- @Bean
- public DefaultLobHandler lobHandler() {
- DefaultLobHandler lobHandler = new DefaultLobHandler();
- return lobHandler;
- }
- /**
- * Gets Hibernate properties from application.properties file
- *
- * @return Properties
- */
- private Properties hibernateProperties() {
- Properties properties = new Properties();
- properties.put("hibernate.dialect", environment.getRequiredProperty("hibernate.dialect"));
- properties.put("hibernate.show_sql", environment.getRequiredProperty("hibernate.show_sql"));
- properties.put("hibernate.format_sql", environment.getRequiredProperty("hibernate.format_sql"));
- properties.put("hibernate.hbm2ddl.auto", environment.getRequiredProperty("hibernate.hbm2ddl.auto"));
- return properties;
- }
- }
- @Configuration
- @PropertySource(value = { "classpath:test.properties" })
- public class TestConfiguration extends HibernateConfiguration {
- @Bean(destroyMethod = "shutdown")
- public DataSource dataSource() {
- EmbeddedDatabaseBuilder builder = new EmbeddedDatabaseBuilder();
- EmbeddedDatabase dataBase = builder.setType(EmbeddedDatabaseType.H2).addScript("classpath:import.sql").build();
- return dataBase;
- }
- }
- jdbc.driverClassName = org.h2.Driver
- jdbc.url = jdbc:h2:me:dataSource
- jdbc.username = sa
- jdbc.password =
- hibernate.dialect = org.hibernate.dialect.H2Dialect
- hibernate.show_sql = true
- hibernate.format_sql = true
- hibernate.hbm2ddl.auto = create
- @ContextConfiguration(classes = { TestConfiguration.class })
- @Transactional
- public class BorrowerServiceTest extends AbstractTestNGSpringContextTests {
- @Autowired
- DataSource dataSource;
- @PersistenceContext
- EntityManager entityManager;
- @Mock
- BorrowerDAOImpl borrowerDAO;
- @InjectMocks
- BorrowerService borrowerService = new BorrowerService();
- @BeforeMethod
- @BeforeClass
- public void setUp() {
- MockitoAnnotations.initMocks(this);
- }
- @Test
- @Transactional
- public void getBorrowersTest() {
- List<Borrower> borrowerList = borrowerService.getBorrowers();
- System.out.println(borrowerList);
- Assert.assertEquals(borrowerService.getBorrowers(), borrowerList.get(0));
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement