From 4da41dbbdacc4dc349b3627231147a977cc91004 Mon Sep 17 00:00:00 2001
From: Antoine Rey <antoine.rey@gmail.com>
Date: Fri, 24 Jun 2016 21:18:38 +0200
Subject: [PATCH] #164 Disable cache configuration for unit tests

---
 .../samples/petclinic/PetClinicApplication.java    |  1 -
 .../samples/petclinic/config/CacheConfig.java      | 14 ++++++++++++++
 src/main/resources/application.properties          |  3 +++
 .../petclinic/web/OwnerControllerTests.java        |  2 ++
 .../samples/petclinic/web/PetControllerTests.java  |  1 +
 .../samples/petclinic/web/VetControllerTests.java  |  2 ++
 .../petclinic/web/VisitControllerTests.java        |  2 ++
 7 files changed, 24 insertions(+), 1 deletion(-)
 create mode 100644 src/main/java/org/springframework/samples/petclinic/config/CacheConfig.java

diff --git a/src/main/java/org/springframework/samples/petclinic/PetClinicApplication.java b/src/main/java/org/springframework/samples/petclinic/PetClinicApplication.java
index 934acfd..470b622 100644
--- a/src/main/java/org/springframework/samples/petclinic/PetClinicApplication.java
+++ b/src/main/java/org/springframework/samples/petclinic/PetClinicApplication.java
@@ -45,7 +45,6 @@ import org.springframework.web.servlet.view.xml.MarshallingView;
  */
 @Configuration
 @EnableAutoConfiguration
-@EnableCaching
 @ComponentScan
 public class PetClinicApplication extends SpringBootServletInitializer {
 
diff --git a/src/main/java/org/springframework/samples/petclinic/config/CacheConfig.java b/src/main/java/org/springframework/samples/petclinic/config/CacheConfig.java
new file mode 100644
index 0000000..fc4a0bc
--- /dev/null
+++ b/src/main/java/org/springframework/samples/petclinic/config/CacheConfig.java
@@ -0,0 +1,14 @@
+package org.springframework.samples.petclinic.config;
+
+import org.springframework.cache.annotation.EnableCaching;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Profile;
+
+/**
+ * Cache could be disable in unit test.
+ */
+@Configuration
+@EnableCaching
+@Profile("production")
+public class CacheConfig {
+}
diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties
index 688ae20..81832a6 100644
--- a/src/main/resources/application.properties
+++ b/src/main/resources/application.properties
@@ -21,3 +21,6 @@ management.contextPath: /manage
 
 # Logging
 logging.level.org.springframework=INFO
+
+# Active Spring profiles
+spring.profiles.active=production
diff --git a/src/test/java/org/springframework/samples/petclinic/web/OwnerControllerTests.java b/src/test/java/org/springframework/samples/petclinic/web/OwnerControllerTests.java
index adafee2..c6e0aed 100644
--- a/src/test/java/org/springframework/samples/petclinic/web/OwnerControllerTests.java
+++ b/src/test/java/org/springframework/samples/petclinic/web/OwnerControllerTests.java
@@ -6,6 +6,7 @@ import org.junit.runner.RunWith;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.test.SpringApplicationConfiguration;
 import org.springframework.samples.petclinic.PetClinicApplication;
+import org.springframework.test.context.ActiveProfiles;
 import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
 import org.springframework.test.context.web.WebAppConfiguration;
 import org.springframework.test.web.servlet.MockMvc;
@@ -25,6 +26,7 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.
 @RunWith(SpringJUnit4ClassRunner.class)
 @SpringApplicationConfiguration(classes = PetClinicApplication.class)
 @WebAppConfiguration
+@ActiveProfiles("test")
 public class OwnerControllerTests {
 
     private static final int TEST_OWNER_ID = 1;
diff --git a/src/test/java/org/springframework/samples/petclinic/web/PetControllerTests.java b/src/test/java/org/springframework/samples/petclinic/web/PetControllerTests.java
index a28d06b..fb327fe 100644
--- a/src/test/java/org/springframework/samples/petclinic/web/PetControllerTests.java
+++ b/src/test/java/org/springframework/samples/petclinic/web/PetControllerTests.java
@@ -29,6 +29,7 @@ import org.springframework.test.web.servlet.setup.MockMvcBuilders;
 @RunWith(SpringJUnit4ClassRunner.class)
 @SpringApplicationConfiguration(classes = PetClinicApplication.class)
 @WebAppConfiguration
+@ActiveProfiles("test")
 public class PetControllerTests {
 
     private static final int TEST_OWNER_ID = 1;
diff --git a/src/test/java/org/springframework/samples/petclinic/web/VetControllerTests.java b/src/test/java/org/springframework/samples/petclinic/web/VetControllerTests.java
index 816c4e5..c15ee25 100644
--- a/src/test/java/org/springframework/samples/petclinic/web/VetControllerTests.java
+++ b/src/test/java/org/springframework/samples/petclinic/web/VetControllerTests.java
@@ -7,6 +7,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.test.SpringApplicationConfiguration;
 import org.springframework.http.MediaType;
 import org.springframework.samples.petclinic.PetClinicApplication;
+import org.springframework.test.context.ActiveProfiles;
 import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
 import org.springframework.test.context.web.WebAppConfiguration;
 import org.springframework.test.web.servlet.MockMvc;
@@ -22,6 +23,7 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.
 @RunWith(SpringJUnit4ClassRunner.class)
 @SpringApplicationConfiguration(classes = PetClinicApplication.class)
 @WebAppConfiguration
+@ActiveProfiles("test")
 public class VetControllerTests {
 
     @Autowired
diff --git a/src/test/java/org/springframework/samples/petclinic/web/VisitControllerTests.java b/src/test/java/org/springframework/samples/petclinic/web/VisitControllerTests.java
index 42a665a..b5e28cd 100644
--- a/src/test/java/org/springframework/samples/petclinic/web/VisitControllerTests.java
+++ b/src/test/java/org/springframework/samples/petclinic/web/VisitControllerTests.java
@@ -6,6 +6,7 @@ import org.junit.runner.RunWith;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.test.SpringApplicationConfiguration;
 import org.springframework.samples.petclinic.PetClinicApplication;
+import org.springframework.test.context.ActiveProfiles;
 import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
 import org.springframework.test.context.web.WebAppConfiguration;
 import org.springframework.test.web.servlet.MockMvc;
@@ -23,6 +24,7 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.
 @RunWith(SpringJUnit4ClassRunner.class)
 @SpringApplicationConfiguration(classes = PetClinicApplication.class)
 @WebAppConfiguration
+@ActiveProfiles("test")
 public class VisitControllerTests {
 
     private static final int TEST_PET_ID = 1;
-- 
GitLab