From 1b244f34513b0638576484a73e3a5d805d36b645 Mon Sep 17 00:00:00 2001 From: Dave Syer Date: Mon, 18 Jan 2016 17:38:38 +0000 Subject: [PATCH] Add sample for eureka server with non-integration test See https://github.com/spring-cloud/spring-cloud-netflix/issues/759 --- eureka-server/pom.xml | 112 ++++++++++++++++++ .../src/main/java/demo/EurekaApplication.java | 14 +++ .../src/main/resources/application.yml | 8 ++ .../demo/EurekaFirstApplicationTests.java | 33 ++++++ 4 files changed, 167 insertions(+) create mode 100644 eureka-server/pom.xml create mode 100644 eureka-server/src/main/java/demo/EurekaApplication.java create mode 100644 eureka-server/src/main/resources/application.yml create mode 100644 eureka-server/src/test/java/demo/EurekaFirstApplicationTests.java diff --git a/eureka-server/pom.xml b/eureka-server/pom.xml new file mode 100644 index 0000000..59e0371 --- /dev/null +++ b/eureka-server/pom.xml @@ -0,0 +1,112 @@ + + + 4.0.0 + + org.springframework.cloud + spring-cloud-sample-eureka-server + Brixton.BUILD-SNAPSHOT + jar + + spring-cloud-sample-eureka-server + Demo project for Spring Cloud + + + org.springframework.cloud + spring-cloud-starter-parent + Brixton.BUILD-SNAPSHOT + + + + + UTF-8 + demo.DemoApplication + 1.7 + + + + + org.springframework.cloud + spring-cloud-starter-eureka-server + + + org.springframework.boot + spring-boot-starter-actuator + + + org.springframework.boot + spring-boot-starter-test + test + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + maven-deploy-plugin + + true + + + + + + + + spring-snapshots + Spring Snapshots + http://repo.spring.io/libs-snapshot-local + + true + + + + spring-milestones + Spring Milestones + http://repo.spring.io/libs-milestone-local + + false + + + + spring-releases + Spring Releases + http://repo.spring.io/release + + false + + + + + + spring-snapshots + Spring Snapshots + http://repo.spring.io/libs-snapshot-local + + true + + + + spring-milestones + Spring Milestones + http://repo.spring.io/libs-milestone-local + + false + + + + spring-releases + Spring Releases + http://repo.spring.io/release + + false + + + + + diff --git a/eureka-server/src/main/java/demo/EurekaApplication.java b/eureka-server/src/main/java/demo/EurekaApplication.java new file mode 100644 index 0000000..ea0586e --- /dev/null +++ b/eureka-server/src/main/java/demo/EurekaApplication.java @@ -0,0 +1,14 @@ +package demo; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer; + +@SpringBootApplication +@EnableEurekaServer +public class EurekaApplication { + + public static void main(String[] args) { + SpringApplication.run(EurekaApplication.class, args); + } +} diff --git a/eureka-server/src/main/resources/application.yml b/eureka-server/src/main/resources/application.yml new file mode 100644 index 0000000..22c8712 --- /dev/null +++ b/eureka-server/src/main/resources/application.yml @@ -0,0 +1,8 @@ +server: + port: 8761 +spring: + application: + name: eureka +eureka: + client: + register-with-eureka: false \ No newline at end of file diff --git a/eureka-server/src/test/java/demo/EurekaFirstApplicationTests.java b/eureka-server/src/test/java/demo/EurekaFirstApplicationTests.java new file mode 100644 index 0000000..3b28fe1 --- /dev/null +++ b/eureka-server/src/test/java/demo/EurekaFirstApplicationTests.java @@ -0,0 +1,33 @@ +package demo; + +import static org.junit.Assert.assertTrue; + +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.SpringApplicationConfiguration; +import org.springframework.cloud.client.discovery.DiscoveryClient; +import org.springframework.cloud.netflix.eureka.EurekaDiscoveryClient; +import org.springframework.test.annotation.DirtiesContext; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; +import org.springframework.test.context.web.WebAppConfiguration; + +@RunWith(SpringJUnit4ClassRunner.class) +@SpringApplicationConfiguration(classes = EurekaApplication.class) +@DirtiesContext +@WebAppConfiguration +public class EurekaFirstApplicationTests { + + @Autowired + DiscoveryClient discoveryClient; + + @Test + public void contextLoads() { + } + + @Test + public void discoveryClientIsEureka() { + assertTrue("discoveryClient is wrong type: " + this.discoveryClient, this.discoveryClient instanceof EurekaDiscoveryClient); + } + +}