Skip to content
This repository has been archived by the owner on Apr 16, 2024. It is now read-only.

Commit

Permalink
[ch07] Separated configuration class into 'operation' and 'test'.
Browse files Browse the repository at this point in the history
  • Loading branch information
dhsim86 authored and Dongho Sim committed Oct 28, 2017
1 parent e419f84 commit 56c983b
Show file tree
Hide file tree
Showing 5 changed files with 43 additions and 29 deletions.
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package test;
package com;

import javax.sql.DataSource;

Expand All @@ -17,11 +17,7 @@

import com.mysql.jdbc.Driver;

import ch01.springbook.user.UserService;
import ch01.springbook.user.UserServiceTest;
import ch01.springbook.user.dao.UserDao;
import ch06.springbook.factorybean.Message;
import ch06.springbook.factorybean.MessageFactoryBean;
import ch07.springbook.sql.OxmSqlService;
import ch07.springbook.sql.SqlService;
import ch07.springbook.sql.registry.EmbeddedDbSqlRegistry;
Expand All @@ -30,7 +26,7 @@
@Configuration
@EnableTransactionManagement
@ComponentScan(basePackages = "ch01")
public class TestApplicationContext {
public class AppContext {

@Autowired
private UserDao userDao;
Expand All @@ -53,13 +49,6 @@ public PlatformTransactionManager transactionManager() {
return transactionManager;
}

@Bean
public UserService testUserService() {
UserServiceTest.TestUserService testUserService = new UserServiceTest.TestUserService();
testUserService.setUserDao(userDao);
return testUserService;
}

@Bean
public SqlService sqlService() {
OxmSqlService oxmSqlService = new OxmSqlService();
Expand Down Expand Up @@ -88,12 +77,4 @@ public DataSource embeddedDatabase() {
.addScript("classpath:sql/embedded/schema.sql")
.build();
}

@Bean
public Message message() throws Exception {
MessageFactoryBean messageFactoryBean = new MessageFactoryBean();
messageFactoryBean.setText("Factory Bean");

return messageFactoryBean.getObject();
}
}
6 changes: 4 additions & 2 deletions src/test/java/ch01/springbook/user/UserDaoTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -17,13 +17,15 @@
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

import com.AppContext;

import ch01.springbook.user.dao.UserDao;
import ch01.springbook.user.domain.Level;
import ch01.springbook.user.domain.User;
import test.TestApplicationContext;
import test.TestAppContext;

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = TestApplicationContext.class)
@ContextConfiguration(classes = {AppContext.class, TestAppContext.class})
public class UserDaoTest {

@Autowired
Expand Down
5 changes: 3 additions & 2 deletions src/test/java/ch01/springbook/user/UserServiceTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
import java.util.Arrays;
import java.util.List;

import com.AppContext;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
Expand All @@ -25,10 +26,10 @@
import ch01.springbook.user.dao.UserDao;
import ch01.springbook.user.domain.Level;
import ch01.springbook.user.domain.User;
import test.TestApplicationContext;
import test.TestAppContext;

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = TestApplicationContext.class)
@ContextConfiguration(classes = {AppContext.class, TestAppContext.class})
public class UserServiceTest {

static class TestUserServiceException extends RuntimeException {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,19 +3,19 @@
import static org.hamcrest.core.Is.is;
import static org.junit.Assert.assertThat;

import org.junit.After;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationContext;
import org.springframework.jdbc.datasource.embedded.EmbeddedDatabase;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

import test.TestApplicationContext;
import com.AppContext;

import test.TestAppContext;

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = TestApplicationContext.class)
@ContextConfiguration(classes = {AppContext.class, TestAppContext.class})
public class FactoryBeanTest {

@Autowired
Expand Down
30 changes: 30 additions & 0 deletions src/test/java/test/TestAppContext.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
package test;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.transaction.annotation.EnableTransactionManagement;

import ch01.springbook.user.UserService;
import ch01.springbook.user.UserServiceTest;
import ch06.springbook.factorybean.Message;
import ch06.springbook.factorybean.MessageFactoryBean;

@Configuration
@EnableTransactionManagement
@ComponentScan(basePackages = "ch01")
public class TestAppContext {

@Bean
public UserService testUserService() {
return new UserServiceTest.TestUserService();
}

@Bean
public Message message() throws Exception {
MessageFactoryBean messageFactoryBean = new MessageFactoryBean();
messageFactoryBean.setText("Factory Bean");

return messageFactoryBean.getObject();
}
}

0 comments on commit 56c983b

Please sign in to comment.