first commit
This commit is contained in:
commit
a70dd7aadf
72
.gitignore
vendored
Normal file
72
.gitignore
vendored
Normal file
|
@ -0,0 +1,72 @@
|
|||
# Created by .ignore support plugin (hsz.mobi)
|
||||
### Maven template
|
||||
target/
|
||||
pom.xml.tag
|
||||
pom.xml.releaseBackup
|
||||
pom.xml.versionsBackup
|
||||
pom.xml.next
|
||||
release.properties
|
||||
dependency-reduced-pom.xml
|
||||
buildNumber.properties
|
||||
.mvn/timing.properties
|
||||
### Java template
|
||||
*.class
|
||||
|
||||
# Mobile Tools for Java (J2ME)
|
||||
.mtj.tmp/
|
||||
|
||||
# Package Files #
|
||||
*.jar
|
||||
*.war
|
||||
*.ear
|
||||
|
||||
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
|
||||
hs_err_pid*
|
||||
### JetBrains template
|
||||
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and Webstorm
|
||||
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
|
||||
|
||||
# User-specific stuff:
|
||||
.idea/workspace.xml
|
||||
.idea/tasks.xml
|
||||
.idea/dictionaries
|
||||
.idea/vcs.xml
|
||||
.idea/jsLibraryMappings.xml
|
||||
|
||||
# Sensitive or high-churn files:
|
||||
.idea/dataSources.ids
|
||||
.idea/dataSources.xml
|
||||
.idea/dataSources.local.xml
|
||||
.idea/sqlDataSources.xml
|
||||
.idea/dynamic.xml
|
||||
.idea/uiDesigner.xml
|
||||
|
||||
# Gradle:
|
||||
.idea/gradle.xml
|
||||
.idea/libraries
|
||||
|
||||
# Mongo Explorer plugin:
|
||||
.idea/mongoSettings.xml
|
||||
|
||||
## File-based project format:
|
||||
*.iws
|
||||
|
||||
## Plugin-specific files:
|
||||
|
||||
# IntelliJ
|
||||
/out/
|
||||
|
||||
# mpeltonen/sbt-idea plugin
|
||||
.idea_modules/
|
||||
|
||||
# JIRA plugin
|
||||
atlassian-ide-plugin.xml
|
||||
|
||||
# Crashlytics plugin (for Android Studio and IntelliJ)
|
||||
com_crashlytics_export_strings.xml
|
||||
crashlytics.properties
|
||||
crashlytics-build.properties
|
||||
fabric.properties
|
||||
|
||||
.gitignore 제거할 예정
|
||||
.idea/ 제거할 예정
|
77
pom.xml
Normal file
77
pom.xml
Normal file
|
@ -0,0 +1,77 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<groupId>com.loafle</groupId>
|
||||
<artifactId>bridge</artifactId>
|
||||
<version>1.0-SNAPSHOT</version>
|
||||
|
||||
<parent>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-parent</artifactId>
|
||||
<version>1.4.2.RELEASE</version>
|
||||
</parent>
|
||||
|
||||
<properties>
|
||||
<java.version>1.8</java.version>
|
||||
</properties>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-data-rest</artifactId>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-tomcat</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-data-jpa</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-actuator</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.h2database</groupId>
|
||||
<artifactId>h2</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-jetty</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-test</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-maven-plugin</artifactId>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
<repositories>
|
||||
<repository>
|
||||
<id>spring-releases</id>
|
||||
<url>https://repo.spring.io/libs-release</url>
|
||||
</repository>
|
||||
</repositories>
|
||||
<pluginRepositories>
|
||||
<pluginRepository>
|
||||
<id>spring-releases</id>
|
||||
<url>https://repo.spring.io/libs-release</url>
|
||||
</pluginRepository>
|
||||
</pluginRepositories>
|
||||
|
||||
</project>
|
34
src/main/java/Application.java
Normal file
34
src/main/java/Application.java
Normal file
|
@ -0,0 +1,34 @@
|
|||
package hello;
|
||||
|
||||
|
||||
//import org.h2.server.web.WebServlet;
|
||||
|
||||
import org.h2.server.web.WebServlet;
|
||||
import org.springframework.boot.SpringApplication;
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
import org.springframework.boot.web.servlet.ServletRegistrationBean;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.PropertySource;
|
||||
|
||||
/**
|
||||
* Created by jackdaw on 16. 11. 9.
|
||||
*/
|
||||
|
||||
//@EntityScan(basePackages="hello")
|
||||
//@EnableJpaRepositories(basePackages = "hello")
|
||||
@PropertySource({"classpath:database.properties"})
|
||||
@SpringBootApplication
|
||||
public class Application {
|
||||
|
||||
static public void main(String[] args) {
|
||||
SpringApplication.run(Application.class,args);
|
||||
System.out.println("Spring Boot Started..");
|
||||
}
|
||||
@Bean
|
||||
public ServletRegistrationBean h2servletRegistration() {
|
||||
ServletRegistrationBean registration = new ServletRegistrationBean(new WebServlet());
|
||||
registration.addUrlMappings("/console/*");
|
||||
return registration;
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
package com.loafle.bridge.collector.controller;
|
||||
|
||||
/**
|
||||
* Created by root on 16. 11. 15.
|
||||
*/
|
||||
public class CollectorController {
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
package com.loafle.bridge.collector.entity;
|
||||
|
||||
/**
|
||||
* Created by root on 16. 11. 15.
|
||||
*/
|
||||
public class Collector {
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
package com.loafle.bridge.collector.repository;
|
||||
|
||||
/**
|
||||
* Created by root on 16. 11. 15.
|
||||
*/
|
||||
public class CollectorRepository {
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
package com.loafle.bridge.discovering.controller;
|
||||
|
||||
/**
|
||||
* Created by root on 16. 11. 15.
|
||||
*/
|
||||
public class DiscoveringController {
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
package com.loafle.bridge.discovering.entity;
|
||||
|
||||
/**
|
||||
* Created by root on 16. 11. 15.
|
||||
*/
|
||||
public class Discovering {
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
package com.loafle.bridge.discovering.repository;
|
||||
|
||||
/**
|
||||
* Created by root on 16. 11. 15.
|
||||
*/
|
||||
public class DiscoveringRepository {
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
package com.loafle.bridge.discoveryhost.controller;
|
||||
|
||||
/**
|
||||
* Created by root on 16. 11. 15.
|
||||
*/
|
||||
public class DiscoveryHostController {
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
package com.loafle.bridge.discoveryhost.entity;
|
||||
|
||||
/**
|
||||
* Created by root on 16. 11. 15.
|
||||
*/
|
||||
public class DiscoveryHost {
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
package com.loafle.bridge.discoveryhost.repository;
|
||||
|
||||
/**
|
||||
* Created by root on 16. 11. 15.
|
||||
*/
|
||||
public class DiscoveryHostRepository {
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
package com.loafle.bridge.discoveryport.controller;
|
||||
|
||||
/**
|
||||
* Created by root on 16. 11. 15.
|
||||
*/
|
||||
public class DiscoveryPortController {
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
package com.loafle.bridge.discoveryport.entity;
|
||||
|
||||
/**
|
||||
* Created by root on 16. 11. 15.
|
||||
*/
|
||||
public class DiscoveryPort {
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
package com.loafle.bridge.discoveryport.repository;
|
||||
|
||||
/**
|
||||
* Created by root on 16. 11. 15.
|
||||
*/
|
||||
public class DiscoveryPortRepository {
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
package com.loafle.bridge.discoveryservice.controller;
|
||||
|
||||
/**
|
||||
* Created by root on 16. 11. 15.
|
||||
*/
|
||||
public class DiscoveryServiceController {
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
package com.loafle.bridge.discoveryservice.entity;
|
||||
|
||||
/**
|
||||
* Created by root on 16. 11. 15.
|
||||
*/
|
||||
public class DiscoveryService {
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
package com.loafle.bridge.discoveryservice.repository;
|
||||
|
||||
/**
|
||||
* Created by root on 16. 11. 15.
|
||||
*/
|
||||
public class DiscoveryServiceRepository {
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
package com.loafle.bridge.discoveryzone.controller;
|
||||
|
||||
/**
|
||||
* Created by root on 16. 11. 15.
|
||||
*/
|
||||
public class DiscoveryZoneController {
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
package com.loafle.bridge.discoveryzone.entity;
|
||||
|
||||
/**
|
||||
* Created by root on 16. 11. 15.
|
||||
*/
|
||||
public class DiscoveryZone {
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
package com.loafle.bridge.discoveryzone.repository;
|
||||
|
||||
/**
|
||||
* Created by root on 16. 11. 15.
|
||||
*/
|
||||
public class DiscoveryZoneRepository {
|
||||
}
|
55
src/main/java/hello/HelloController.java
Normal file
55
src/main/java/hello/HelloController.java
Normal file
|
@ -0,0 +1,55 @@
|
|||
package hello;
|
||||
|
||||
import hello.entity.Member;
|
||||
import hello.repository.MemberRepository;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Created by jackdaw on 16. 11. 9.
|
||||
*/
|
||||
@RestController
|
||||
public class HelloController {
|
||||
|
||||
@Autowired
|
||||
MemberRepository memberRepository;
|
||||
|
||||
// @RequestMapping("/member")
|
||||
// public List<Member> index() {
|
||||
// return memberRepository.findAll();
|
||||
// }
|
||||
|
||||
@RequestMapping(value = "/member/{id}", method = RequestMethod.GET)
|
||||
public Member get(@PathVariable(value = "id") long id) {
|
||||
return memberRepository.findOne(id);
|
||||
}
|
||||
|
||||
@RequestMapping(value = "/member", method = RequestMethod.GET)
|
||||
@ResponseBody
|
||||
public List<Member> getList() {
|
||||
return memberRepository.findAll();
|
||||
}
|
||||
|
||||
// @RequestMapping(value = "/member/{id}", method = RequestMethod.PATCH)
|
||||
// @ResponseBody
|
||||
// public Member patch(@PathVariable(value = "id") long id, @RequestBody Member member) {
|
||||
// memberRepository.save(member);
|
||||
// return member;
|
||||
// }
|
||||
//
|
||||
// @RequestMapping(value = "/member/{id}", method = RequestMethod.PUT)
|
||||
// @ResponseBody
|
||||
// public Member update(@PathVariable(value = "id") long id, @RequestBody Member member) {
|
||||
// memberRepository.save(member);
|
||||
// return member;
|
||||
// }
|
||||
//
|
||||
// @RequestMapping(value = "/member/{id}", method = RequestMethod.DELETE)
|
||||
// @ResponseBody
|
||||
// public List<Member> delete(@PathVariable(value = "id") long id) {
|
||||
// memberRepository.delete(id);
|
||||
// return memberRepository.findAll();
|
||||
// }
|
||||
}
|
23
src/main/java/hello/JPAConfiguration.java
Normal file
23
src/main/java/hello/JPAConfiguration.java
Normal file
|
@ -0,0 +1,23 @@
|
|||
package hello;
|
||||
|
||||
import hello.entity.Member;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.data.rest.core.config.RepositoryRestConfiguration;
|
||||
import org.springframework.data.rest.webmvc.config.RepositoryRestMvcConfiguration;
|
||||
|
||||
|
||||
/**
|
||||
* Created by jackdaw on 16. 11. 11.
|
||||
*/
|
||||
@Configuration
|
||||
public class JPAConfiguration extends RepositoryRestMvcConfiguration {
|
||||
|
||||
@Override
|
||||
protected void configureRepositoryRestConfiguration(RepositoryRestConfiguration config) {
|
||||
config.exposeIdsFor(Member.class);
|
||||
//config.setDefaultMediaType(MediaType.APPLICATION_JSON);
|
||||
//config.useHalAsDefaultJsonMediaType(false);
|
||||
|
||||
}
|
||||
}
|
||||
|
60
src/main/java/hello/entity/Member.java
Normal file
60
src/main/java/hello/entity/Member.java
Normal file
|
@ -0,0 +1,60 @@
|
|||
package hello.entity;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
||||
|
||||
import javax.persistence.*;
|
||||
|
||||
/**
|
||||
* Created by jackdaw on 16. 11. 10.
|
||||
*/
|
||||
|
||||
@Entity
|
||||
@JsonIgnoreProperties(ignoreUnknown = true)
|
||||
public class Member {
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.AUTO)
|
||||
private long id;
|
||||
|
||||
@Column
|
||||
private String name;
|
||||
|
||||
@Column
|
||||
private int age;
|
||||
|
||||
public Member() {}
|
||||
|
||||
public Member(String name, int age) {
|
||||
this.name = name;
|
||||
this.age = age;
|
||||
}
|
||||
|
||||
public long getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(long id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public void setName(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public int getAge() {
|
||||
return age;
|
||||
}
|
||||
|
||||
public void setAge(int age) {
|
||||
this.age = age;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "[" + id + "] name = " + name + ", age = " + age;
|
||||
}
|
||||
|
||||
}
|
19
src/main/java/hello/repository/MemberRepository.java
Normal file
19
src/main/java/hello/repository/MemberRepository.java
Normal file
|
@ -0,0 +1,19 @@
|
|||
package hello.repository;
|
||||
|
||||
import hello.entity.Member;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
import org.springframework.data.rest.core.annotation.RepositoryRestResource;
|
||||
|
||||
/**
|
||||
* Created by jackdaw on 16. 11. 10.
|
||||
*/
|
||||
|
||||
@RepositoryRestResource(collectionResourceRel = "member", path = "member")
|
||||
public interface MemberRepository extends JpaRepository<Member,Long> {
|
||||
// List<Member> findByNameAndAgeLessThan(String name, int age);
|
||||
//
|
||||
// @Query("select t from Member t where name=:name and age < :age")
|
||||
// List<Member> findByNameAndAgeLessThanSQL(@Param("name") String name, @Param("age") int age);
|
||||
//
|
||||
// List<Member> findByNameAndAgeLessThanOrderByAgeDesc(String name, int age);
|
||||
}
|
15
src/main/resources/database.properties
Normal file
15
src/main/resources/database.properties
Normal file
|
@ -0,0 +1,15 @@
|
|||
## DataSource configuration
|
||||
spring.datasource.url=jdbc:h2:file:~/data/test
|
||||
spring.datasource.username=sa
|
||||
spring.datasource.password=qwe123
|
||||
spring.datasource.driver-class-name=org.h2.Driver
|
||||
|
||||
#spring.datasource.url=jdbc:mysql://192.168.1.215:3306/test_db?charset=utf8&parseTime=True&loc=Local
|
||||
#spring.datasource.username=root
|
||||
#spring.datasource.password=qwe123
|
||||
|
||||
## Hibernate configuration
|
||||
spring.jpa.database=h2
|
||||
spring.jpa.hibernate.ddl-auto=update
|
||||
spring.jpa.hibernate.naming-strategy=org.hibernate.cfg.ImprovedNamingStrategy
|
||||
spring.jpa.show-sql=true
|
154
src/test/java/hello/HelloControllerTest.java
Normal file
154
src/test/java/hello/HelloControllerTest.java
Normal file
|
@ -0,0 +1,154 @@
|
|||
package hello;
|
||||
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import hello.entity.Member;
|
||||
import hello.repository.MemberRepository;
|
||||
import org.apache.log4j.Logger;
|
||||
import org.junit.After;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.test.WebIntegrationTest;
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.test.context.ContextConfiguration;
|
||||
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
|
||||
import org.springframework.test.web.servlet.MockMvc;
|
||||
import org.springframework.test.web.servlet.MvcResult;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import static org.hamcrest.CoreMatchers.equalTo;
|
||||
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*;
|
||||
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content;
|
||||
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
|
||||
import static org.springframework.test.web.servlet.setup.MockMvcBuilders.standaloneSetup;
|
||||
|
||||
/**
|
||||
* Created by jackdaw on 16. 11. 10.
|
||||
*/
|
||||
|
||||
@RunWith(SpringJUnit4ClassRunner.class)
|
||||
@ContextConfiguration(classes = Application.class)
|
||||
@WebIntegrationTest
|
||||
public class HelloControllerTest {
|
||||
|
||||
private MockMvc mockMvc;
|
||||
// @Autowired
|
||||
// MemberRe controller;
|
||||
@Autowired
|
||||
MemberRepository repo;
|
||||
Logger logger = Logger.getLogger(this.getClass());
|
||||
|
||||
@Before
|
||||
public void setUp() throws Exception {
|
||||
mockMvc = standaloneSetup(repo).build();
|
||||
repo.save(new Member("1",1));
|
||||
repo.save(new Member("2",2));
|
||||
repo.save(new Member("2",2));
|
||||
}
|
||||
|
||||
private String jsonStringFromObject(Object object) throws JsonProcessingException {
|
||||
ObjectMapper mapper = new ObjectMapper();
|
||||
return mapper.writeValueAsString(object);
|
||||
}
|
||||
|
||||
@After
|
||||
public void tearDown() throws Exception {
|
||||
repo.deleteAll();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void index() throws Exception {
|
||||
|
||||
String jsonString = jsonStringFromObject(repo.findAll());
|
||||
logger.info(jsonString);
|
||||
mockMvc.perform(get("/member")).andExpect(status().isOk()).andExpect(content().contentTypeCompatibleWith(MediaType.APPLICATION_JSON))
|
||||
.andExpect(content().string(equalTo(jsonString)));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getMember() throws Exception {
|
||||
List<Member> list = repo.findAll();
|
||||
String jsonString = this.jsonStringFromObject(list.get(0));
|
||||
logger.info(jsonString);
|
||||
mockMvc.perform(get("/member/{id}", list.get(0).getId()))
|
||||
.andExpect(status().isOk())
|
||||
.andExpect(content().contentTypeCompatibleWith(MediaType.APPLICATION_JSON))
|
||||
.andExpect(content().string(equalTo(jsonString)));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void createMember() throws Exception {
|
||||
Member b = new Member("111",1111);
|
||||
String jsonString = this.jsonStringFromObject(b);
|
||||
|
||||
MvcResult result = mockMvc.perform(post("/member")
|
||||
.contentType(MediaType.APPLICATION_JSON)
|
||||
.content(jsonString))
|
||||
.andExpect(status().isOk())
|
||||
.andReturn();
|
||||
|
||||
logger.info(result.getResponse().getContentAsString());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void patchMember() throws Exception {
|
||||
List<Member> list = repo.findAll();
|
||||
String jsonString = this.jsonStringFromObject(list.get(0));
|
||||
logger.info(jsonString);
|
||||
list.get(0).setName("test");
|
||||
list.get(0).setAge(9999);
|
||||
jsonString = this.jsonStringFromObject(list.get(0));
|
||||
|
||||
|
||||
MvcResult result = mockMvc.perform(
|
||||
patch("/member/{id}",list.get(0).getId()).
|
||||
contentType(MediaType.APPLICATION_JSON).
|
||||
content(jsonString)).
|
||||
andExpect(status().isOk()).
|
||||
andReturn();
|
||||
logger.info(result.getResponse().getContentAsString());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void updateMember() throws Exception {
|
||||
List<Member> list = repo.findAll();
|
||||
String jsonString = this.jsonStringFromObject(list.get(0));
|
||||
logger.info(jsonString);
|
||||
list.get(0).setName("test");
|
||||
list.get(0).setAge(9999);
|
||||
jsonString = this.jsonStringFromObject(list.get(0));
|
||||
|
||||
|
||||
MvcResult result = mockMvc.perform(
|
||||
put("/member/{id}",list.get(0).getId()).
|
||||
contentType(MediaType.APPLICATION_JSON).
|
||||
content(jsonString)).
|
||||
andExpect(status().isOk()).
|
||||
andReturn();
|
||||
logger.info(result.getResponse().getContentAsString());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void deleteMember() throws Exception {
|
||||
List<Member> list = repo.findAll();
|
||||
|
||||
long id = list.get(0).getId();
|
||||
String jsonString = this.jsonStringFromObject(list);
|
||||
|
||||
list.remove(0);
|
||||
String compareString = this.jsonStringFromObject(list);
|
||||
|
||||
mockMvc.perform(delete("/member/{id}", id)
|
||||
.content(jsonString))
|
||||
.andExpect(status().isOk())
|
||||
.andExpect(content().string(equalTo(compareString)));
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
73
src/test/java/hello/repository/MemberRepositoryTest.java
Normal file
73
src/test/java/hello/repository/MemberRepositoryTest.java
Normal file
|
@ -0,0 +1,73 @@
|
|||
package hello.repository;
|
||||
|
||||
import hello.Application;
|
||||
import hello.entity.Member;
|
||||
import org.junit.After;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.test.context.ContextConfiguration;
|
||||
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
|
||||
/**
|
||||
* Created by jackdaw on 16. 11. 10.
|
||||
*/
|
||||
|
||||
@RunWith(SpringJUnit4ClassRunner.class)
|
||||
@ContextConfiguration(classes = Application.class)
|
||||
public class MemberRepositoryTest {
|
||||
@Autowired
|
||||
MemberRepository repo;
|
||||
|
||||
@Before
|
||||
public void setup() {
|
||||
repo.deleteAll();
|
||||
repo.save(new Member("1",1));
|
||||
repo.save(new Member("2",2));
|
||||
repo.save(new Member("3",3));
|
||||
repo.save(new Member("4",4));
|
||||
repo.save(new Member("5",5));
|
||||
}
|
||||
|
||||
@After
|
||||
public void down() {
|
||||
repo.deleteAll();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void create() {
|
||||
Member m = new Member("test",1);
|
||||
Member n = repo.save(m);
|
||||
|
||||
assertEquals(m.getId(),n.getId());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getAll() {
|
||||
assertEquals(repo.findAll().size(),5);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void delete() {
|
||||
List<Member> l = repo.findAll();
|
||||
Member m = l.get(0);
|
||||
repo.delete(m.getId());
|
||||
assertEquals(repo.findAll().size(),4);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void update() {
|
||||
List<Member> l = repo.findAll();
|
||||
Member m = l.get(0);
|
||||
m.setName("TTTTT");
|
||||
|
||||
Member n = repo.save(m);
|
||||
assertEquals(m.getName(),n.getName());
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in New Issue
Block a user