Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @Component
- @Path("/v1/users")
- @Produces(MediaType.APPLICATION_JSON)
- @Consumes(MediaType.APPLICATION_JSON)
- @Transactional(readOnly = true)
- public class UserResource {
- private final UserService userService;
- @Inject
- public UserResource(UserService userService) {
- this.userService = userService;
- }
- @GET
- public Collection<User> list() {
- return userService.fetchAllUsers();
- }
- }
- @SpringBootApplication
- @ComponentScan("com.glasierr.application")
- @EnableJpaRepositories("com.glasierr.application.infrastructure.persistence.spring")
- public class UserServiceApplication {
- public static void main(String[] args) {
- new SpringApplicationBuilder()
- .sources(UserServiceApplication.class)
- .run(args);
- }
- }
- @Configuration
- @ApplicationPath("/api")
- public class JerseyConfig extends ResourceConfig {
- public JerseyConfig() {
- packages("com.glasierr.application.resource");
- }
- }
- server:
- port: 9999
- database:
- driverName: org.h2.Driver
- url: jdbc:h2:mem:test;IGNORECASE=TRUE;DB_CLOSE_ON_EXIT=FALSE;DB_CLOSE_DELAY=-1
- username: sa
- password:
- hibernateDialect: org.hibernate.dialect.H2Dialect
- hibernateShowSql: true
- hibernateHbm2ddl: update
- @RunWith(SpringJUnit4ClassRunner.class)
- @SpringApplicationConfiguration(UserServiceApplication.class)
- @WebIntegrationTest
- public class UserResourceTest {
- @InjectMocks
- private UserResource userResource;
- @Mock
- private UserService userService;
- @Autowired
- private WebApplicationContext context;
- private MockMvc mvc;
- @Before
- public void setUp() {
- MockitoAnnotations.initMocks(this);
- mvc = MockMvcBuilders
- .webAppContextSetup(context)
- .build();
- }
- @Test
- public void test() throws Exception {
- when(userService.fetchAllUsers()).thenReturn(Arrays.asList(new User("user1"), new User("user2")));
- mvc.perform(get("/api/v1/users").accept(MediaType.parseMediaType("application/json;charset=UTF-8")))
- .andExpect(status().isOk());
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement