diff --git a/pom.xml b/pom.xml
index ceb7fcb6..cafae230 100644
--- a/pom.xml
+++ b/pom.xml
@@ -30,8 +30,8 @@
spring-cloud-consul-config
spring-cloud-consul-discovery
spring-cloud-consul-bus
- spring-cloud-consul-sidecar
spring-cloud-consul-sample
+ spring-cloud-consul-tests
@@ -107,6 +107,11 @@
spring-cloud-config-client
1.0.0.BUILD-SNAPSHOT
+
+ org.springframework.cloud
+ spring-cloud-starter-zuul
+ 1.0.0.BUILD-SNAPSHOT
+
org.springframework.cloud
spring-cloud-netflix-sidecar
diff --git a/spring-cloud-consul-discovery/src/main/java/org/springframework/cloud/consul/discovery/ConsulRibbonClientConfiguration.java b/spring-cloud-consul-discovery/src/main/java/org/springframework/cloud/consul/discovery/ConsulRibbonClientConfiguration.java
index feca80f1..dd67fb91 100644
--- a/spring-cloud-consul-discovery/src/main/java/org/springframework/cloud/consul/discovery/ConsulRibbonClientConfiguration.java
+++ b/spring-cloud-consul-discovery/src/main/java/org/springframework/cloud/consul/discovery/ConsulRibbonClientConfiguration.java
@@ -93,13 +93,14 @@ public class ConsulRibbonClientConfiguration implements BeanPostProcessor {
}
private void wrapServerList(DynamicServerListLoadBalancer> balancer) {
- @SuppressWarnings("unchecked")
- DynamicServerListLoadBalancer dynamic = (DynamicServerListLoadBalancer) balancer;
- ServerList list = dynamic.getServerListImpl();
- if (list instanceof ConsulServerList) {
- ConsulServerList csl = (ConsulServerList) list;
- csl.setClient(client);
- }
+ // TODO: fix this set client hack
+ @SuppressWarnings("unchecked")
+ DynamicServerListLoadBalancer dynamic = (DynamicServerListLoadBalancer) balancer;
+ ServerList list = dynamic.getServerListImpl();
+ if (list instanceof ConsulServerList) {
+ ConsulServerList csl = (ConsulServerList) list;
+ csl.setClient(client);
+ }
}
protected void setProp(String serviceId, String suffix, String value) {
diff --git a/spring-cloud-consul-sidecar/src/main/java/org/springframework/cloud/consul/sidecar/ConsulSidecarConfiguration.java b/spring-cloud-consul-sidecar/src/main/java/org/springframework/cloud/consul/sidecar/ConsulSidecarConfiguration.java
deleted file mode 100644
index 4107dad2..00000000
--- a/spring-cloud-consul-sidecar/src/main/java/org/springframework/cloud/consul/sidecar/ConsulSidecarConfiguration.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package org.springframework.cloud.consul.sidecar;
-
-import org.springframework.context.annotation.Configuration;
-
-/**
- * @author Spencer Gibb
- */
-@Configuration
-public class ConsulSidecarConfiguration {
-}
diff --git a/spring-cloud-consul-sidecar/src/main/java/org/springframework/cloud/consul/sidecar/EnableSidecar.java b/spring-cloud-consul-sidecar/src/main/java/org/springframework/cloud/consul/sidecar/EnableSidecar.java
deleted file mode 100644
index 3ec902df..00000000
--- a/spring-cloud-consul-sidecar/src/main/java/org/springframework/cloud/consul/sidecar/EnableSidecar.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package org.springframework.cloud.consul.sidecar;
-
-import org.springframework.cloud.client.circuitbreaker.EnableCircuitBreaker;
-import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
-import org.springframework.cloud.netflix.sidecar.SidecarConfiguration;
-import org.springframework.cloud.netflix.zuul.EnableZuulProxy;
-import org.springframework.context.annotation.Import;
-
-import java.lang.annotation.*;
-
-/**
- * @author Spencer Gibb
- */
-@EnableCircuitBreaker
-@EnableDiscoveryClient
-@EnableZuulProxy
-@Target(ElementType.TYPE)
-@Retention(RetentionPolicy.RUNTIME)
-@Documented
-@Import({SidecarConfiguration.class, ConsulSidecarConfiguration.class})
-public @interface EnableSidecar {
-
-}
diff --git a/spring-cloud-consul-sidecar/pom.xml b/spring-cloud-consul-tests/pom.xml
similarity index 85%
rename from spring-cloud-consul-sidecar/pom.xml
rename to spring-cloud-consul-tests/pom.xml
index 4c076453..61dbdcc3 100644
--- a/spring-cloud-consul-sidecar/pom.xml
+++ b/spring-cloud-consul-tests/pom.xml
@@ -4,10 +4,10 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0
- spring-cloud-consul-sidecar
+ spring-cloud-consul-tests
jar
- Spring Cloud Consul Sidecar
- Spring Cloud Consul Sidecar
+ Spring Cloud Consul Tests
+ Spring Cloud Consul Tests
org.springframework.cloud
@@ -33,6 +33,10 @@
org.springframework.cloud
spring-cloud-consul-discovery
+
+ org.springframework.cloud
+ spring-cloud-starter-zuul
+
org.springframework.cloud
spring-cloud-netflix-sidecar
diff --git a/spring-cloud-consul-sidecar/run-server.sh b/spring-cloud-consul-tests/run-server.sh
similarity index 100%
rename from spring-cloud-consul-sidecar/run-server.sh
rename to spring-cloud-consul-tests/run-server.sh
diff --git a/spring-cloud-consul-sidecar/src/test/java/org/springframework/cloud/consul/sidecar/SidecarApplicationTests.java b/spring-cloud-consul-tests/src/test/java/org/springframework/cloud/consul/sidecar/SidecarApplicationTests.java
similarity index 82%
rename from spring-cloud-consul-sidecar/src/test/java/org/springframework/cloud/consul/sidecar/SidecarApplicationTests.java
rename to spring-cloud-consul-tests/src/test/java/org/springframework/cloud/consul/sidecar/SidecarApplicationTests.java
index b586b01f..f66eb31a 100644
--- a/spring-cloud-consul-sidecar/src/test/java/org/springframework/cloud/consul/sidecar/SidecarApplicationTests.java
+++ b/spring-cloud-consul-tests/src/test/java/org/springframework/cloud/consul/sidecar/SidecarApplicationTests.java
@@ -23,11 +23,17 @@ import org.springframework.boot.actuate.metrics.repository.InMemoryMetricReposit
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.test.IntegrationTest;
import org.springframework.boot.test.SpringApplicationConfiguration;
+import org.springframework.cloud.client.circuitbreaker.EnableCircuitBreaker;
+import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.netflix.sidecar.*;
+import org.springframework.cloud.netflix.zuul.EnableZuulProxy;
import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Import;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.web.bind.annotation.RestController;
+import java.lang.annotation.*;
+
@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration(classes = SidecarApplicationTests.SidecarApplication.class)
@IntegrationTest("server.port=0")
@@ -39,7 +45,10 @@ public class SidecarApplicationTests {
@SpringBootApplication
- @org.springframework.cloud.netflix.sidecar.EnableSidecar
+ @EnableCircuitBreaker
+ @EnableDiscoveryClient
+ @EnableZuulProxy
+ @Import(SidecarConfiguration.class)
@RestController
public static class SidecarApplication {
diff --git a/spring-cloud-consul-tests/src/test/java/org/springframework/cloud/consul/sidecar/ZuulApplicationTests.java b/spring-cloud-consul-tests/src/test/java/org/springframework/cloud/consul/sidecar/ZuulApplicationTests.java
new file mode 100644
index 00000000..a45a2252
--- /dev/null
+++ b/spring-cloud-consul-tests/src/test/java/org/springframework/cloud/consul/sidecar/ZuulApplicationTests.java
@@ -0,0 +1,58 @@
+/*
+ * Copyright 2013-2015 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.springframework.cloud.consul.sidecar;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.actuate.metrics.repository.InMemoryMetricRepository;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.boot.test.IntegrationTest;
+import org.springframework.boot.test.SpringApplicationConfiguration;
+import org.springframework.cloud.client.circuitbreaker.EnableCircuitBreaker;
+import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
+import org.springframework.cloud.netflix.zuul.EnableZuulProxy;
+import org.springframework.context.annotation.Bean;
+import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+
+@RunWith(SpringJUnit4ClassRunner.class)
+@SpringApplicationConfiguration(classes = ZuulApplicationTests.ZuulApplication.class)
+@IntegrationTest("server.port=0")
+public class ZuulApplicationTests {
+
+ @Test
+ public void contextLoads() {
+ }
+
+
+ @SpringBootApplication
+ @EnableCircuitBreaker
+ @EnableDiscoveryClient
+ @EnableZuulProxy
+ public static class ZuulApplication {
+
+ @Bean
+ public InMemoryMetricRepository inMemoryMetricRepository() {
+ return new InMemoryMetricRepository();
+ }
+
+ public static void main(String[] args) {
+ SpringApplication.run(ZuulApplication.class, args);
+ }
+
+ }
+}
diff --git a/spring-cloud-consul-sidecar/src/test/resources/application.yml b/spring-cloud-consul-tests/src/test/resources/application.yml
similarity index 100%
rename from spring-cloud-consul-sidecar/src/test/resources/application.yml
rename to spring-cloud-consul-tests/src/test/resources/application.yml
diff --git a/spring-cloud-consul-sidecar/src/test/resources/bootstrap.yml b/spring-cloud-consul-tests/src/test/resources/bootstrap.yml
similarity index 100%
rename from spring-cloud-consul-sidecar/src/test/resources/bootstrap.yml
rename to spring-cloud-consul-tests/src/test/resources/bootstrap.yml
diff --git a/spring-cloud-consul-sidecar/src/test/resources/health.json b/spring-cloud-consul-tests/src/test/resources/health.json
similarity index 100%
rename from spring-cloud-consul-sidecar/src/test/resources/health.json
rename to spring-cloud-consul-tests/src/test/resources/health.json