org.springframework.boot
spring-boot-starter-security
diff --git a/mongodb/security/src/main/java/example/springdata/mongodb/security/Application.java b/mongodb/security/src/main/java/example/springdata/mongodb/security/ApplicationConfiguration.java
similarity index 97%
rename from mongodb/security/src/main/java/example/springdata/mongodb/security/Application.java
rename to mongodb/security/src/main/java/example/springdata/mongodb/security/ApplicationConfiguration.java
index f6dda983..7bc23845 100644
--- a/mongodb/security/src/main/java/example/springdata/mongodb/security/Application.java
+++ b/mongodb/security/src/main/java/example/springdata/mongodb/security/ApplicationConfiguration.java
@@ -28,7 +28,7 @@ import org.springframework.security.data.repository.query.SecurityEvaluationCont
* @author Thomas Darimont
*/
@SpringBootApplication
-class Application {
+class ApplicationConfiguration {
@Bean
public EvaluationContextExtension securityExtension() {
diff --git a/mongodb/security/src/test/java/example/springdata/mongodb/security/PersonRepositoryIntegrationTest.java b/mongodb/security/src/test/java/example/springdata/mongodb/security/PersonRepositoryIntegrationTest.java
index d8928163..a0616833 100644
--- a/mongodb/security/src/test/java/example/springdata/mongodb/security/PersonRepositoryIntegrationTest.java
+++ b/mongodb/security/src/test/java/example/springdata/mongodb/security/PersonRepositoryIntegrationTest.java
@@ -18,16 +18,10 @@ package example.springdata.mongodb.security;
import static org.hamcrest.Matchers.*;
import static org.junit.Assert.*;
-import example.springdata.mongodb.security.Application;
-import example.springdata.mongodb.security.Person;
-import example.springdata.mongodb.security.PersonRepository;
-import example.springdata.mongodb.util.RequiresMongoDB;
-
import java.util.Collections;
import java.util.List;
import org.junit.Before;
-import org.junit.ClassRule;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
@@ -41,14 +35,12 @@ import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
* Integration test for {@link PersonRepository}.
*
* @author Thomas Darimont
- * @authot Oliver Gierke
+ * @author Oliver Gierke
*/
@RunWith(SpringJUnit4ClassRunner.class)
-@SpringApplicationConfiguration(classes = Application.class)
+@SpringApplicationConfiguration(classes = ApplicationConfiguration.class)
public class PersonRepositoryIntegrationTest {
- @ClassRule public static RequiresMongoDB mongodbAvailable = RequiresMongoDB.anyVersion();
-
@Autowired PersonRepository repository;
Person dave, oliver, carter, admin;
diff --git a/mongodb/security/src/test/resources/application.properties b/mongodb/security/src/test/resources/application.properties
new file mode 100644
index 00000000..c59a689b
--- /dev/null
+++ b/mongodb/security/src/test/resources/application.properties
@@ -0,0 +1,2 @@
+# Random port for embedded MongoDB
+spring.data.mongodb.port=0
diff --git a/mongodb/text-search/pom.xml b/mongodb/text-search/pom.xml
index 0b04942e..3e50d2c8 100644
--- a/mongodb/text-search/pom.xml
+++ b/mongodb/text-search/pom.xml
@@ -13,15 +13,11 @@
+
com.fasterxml.jackson.core
jackson-databind
-
- ${project.groupId}
- spring-data-mongodb-utils
- ${project.version}
- test
-
+
diff --git a/mongodb/text-search/src/test/java/example/springdata/mongodb/textsearch/TextSearchRepositoryTests.java b/mongodb/text-search/src/test/java/example/springdata/mongodb/textsearch/TextSearchRepositoryTests.java
index f1cba0e3..f6d94fd9 100644
--- a/mongodb/text-search/src/test/java/example/springdata/mongodb/textsearch/TextSearchRepositoryTests.java
+++ b/mongodb/text-search/src/test/java/example/springdata/mongodb/textsearch/TextSearchRepositoryTests.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014 the original author or authors.
+ * Copyright 2014-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.
@@ -19,18 +19,14 @@ import static example.springdata.mongodb.util.ConsoleResultPrinter.*;
import java.util.List;
-import org.junit.ClassRule;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.mapping.TextScore;
import org.springframework.data.mongodb.core.query.TextCriteria;
-import org.springframework.data.util.Version;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
-import example.springdata.mongodb.util.RequiresMongoDB;
-
/**
* Integration tests showing the text search functionality using repositories.
*
@@ -44,8 +40,6 @@ public class TextSearchRepositoryTests {
@Autowired BlogPostRepository repo;
- @ClassRule public static RequiresMongoDB mongodbAvailable = RequiresMongoDB.atLeast(new Version(2, 6));
-
/**
* Show how to do simple matching.
* Note that text search is case insensitive and will also find entries like {@literal releases}.
diff --git a/mongodb/text-search/src/test/java/example/springdata/mongodb/textsearch/TextSearchTemplateTests.java b/mongodb/text-search/src/test/java/example/springdata/mongodb/textsearch/TextSearchTemplateTests.java
index f67a3c03..4cd520f1 100644
--- a/mongodb/text-search/src/test/java/example/springdata/mongodb/textsearch/TextSearchTemplateTests.java
+++ b/mongodb/text-search/src/test/java/example/springdata/mongodb/textsearch/TextSearchTemplateTests.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014 the original author or authors.
+ * Copyright 2014-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.
@@ -20,47 +20,41 @@ import static org.springframework.data.mongodb.core.query.Query.*;
import java.util.List;
-import org.junit.Before;
-import org.junit.ClassRule;
import org.junit.Test;
-import org.springframework.boot.autoconfigure.mongo.MongoProperties;
+import org.junit.runner.RunWith;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoOperations;
-import org.springframework.data.mongodb.core.MongoTemplate;
-import org.springframework.data.mongodb.core.index.TextIndexDefinition;
-import org.springframework.data.mongodb.core.index.TextIndexDefinition.TextIndexDefinitionBuilder;
import org.springframework.data.mongodb.core.query.TextCriteria;
import org.springframework.data.mongodb.core.query.TextQuery;
-import org.springframework.data.util.Version;
-
-import example.springdata.mongodb.util.BlogPostInitializer;
-import example.springdata.mongodb.util.RequiresMongoDB;
+import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
/**
* @author Christoph Strobl
* @author Thomas Darimont
*/
+@RunWith(SpringJUnit4ClassRunner.class)
+@ContextConfiguration(classes = { MongoTestConfiguration.class })
public class TextSearchTemplateTests {
- MongoOperations operations;
+ @Autowired MongoOperations operations;
- @ClassRule public static RequiresMongoDB mongodbAvailable = RequiresMongoDB.atLeast(new Version(2, 6));
-
- @Before
- public void setUp() throws Exception {
-
- MongoProperties properties = new MongoProperties();
-
- operations = new MongoTemplate(properties.createMongoClient(null), properties.getMongoClientDatabase());
- operations.dropCollection(BlogPost.class);
-
- createIndex();
-
- BlogPostInitializer.INSTANCE.initialize(this.operations);
- }
+ // @Before
+ // public void setUp() throws Exception {
+ //
+ // MongoProperties properties = new MongoProperties();
+ //
+ // operations = new MongoTemplate(properties.createMongoClient(null), properties.getMongoClientDatabase());
+ // operations.dropCollection(BlogPost.class);
+ //
+ // createIndex();
+ //
+ // BlogPostInitializer.INSTANCE.initialize(this.operations);
+ // }
/**
- * Show how to do simple matching.
- * Note that text search is case insensitive and will also find entries like {@literal releases}.
+ * Show how to do simple matching. Note that text search is case insensitive and will also find entries like
+ * {@literal releases}.
*/
@Test
public void findAllBlogPostsWithRelease() {
@@ -87,36 +81,4 @@ public class TextSearchTemplateTests {
printResult(blogPosts, criteria);
}
-
- /**
- * Creates the mongodb text index for {@link BlogPost}.
- *
- *
- *
- * db.collection.ensureIndex(
- * {
- * "title" : "text"
- * "content" : "text"
- * "categories" : "text",
- * },
- * {
- * weights : {
- * "title" : 3,
- * "content" : 2
- * }
- * }
- * )
- *
- *
- */
- private void createIndex() {
-
- TextIndexDefinition textIndex = new TextIndexDefinitionBuilder()//
- .onField("title", 3F) //
- .onField("content", 2F) //
- .onField("categories") //
- .build();
-
- operations.indexOps(BlogPost.class).ensureIndex(textIndex);
- }
}
diff --git a/mongodb/util/pom.xml b/mongodb/util/pom.xml
deleted file mode 100644
index 6333f4b0..00000000
--- a/mongodb/util/pom.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-
- 4.0.0
-
- spring-data-mongodb-utils
-
- Spring Data MongoDB - Example utilities
-
-
- org.springframework.data.examples
- spring-data-mongodb-examples
- 1.0.0.BUILD-SNAPSHOT
-
-
-
-
- org.springframework.boot
- spring-boot-starter-test
-
-
-
diff --git a/mongodb/util/src/main/java/example/springdata/mongodb/util/RequiresMongoDB.java b/mongodb/util/src/main/java/example/springdata/mongodb/util/RequiresMongoDB.java
deleted file mode 100644
index 753c9525..00000000
--- a/mongodb/util/src/main/java/example/springdata/mongodb/util/RequiresMongoDB.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
- * Copyright 2014-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 example.springdata.mongodb.util;
-
-import java.net.UnknownHostException;
-
-import org.junit.AssumptionViolatedException;
-import org.junit.ClassRule;
-import org.junit.Rule;
-import org.junit.rules.ExternalResource;
-import org.junit.rules.TestRule;
-import org.springframework.data.util.Version;
-import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
-
-import com.mongodb.BasicDBObjectBuilder;
-import com.mongodb.CommandResult;
-import com.mongodb.DB;
-import com.mongodb.MongoClient;
-
-/**
- * {@link TestRule} verifying server tests are executed against match a given version. This one can be used as
- * {@link ClassRule} e.g. in context depending tests run with {@link SpringJUnit4ClassRunner} when the context would
- * fail to start in case of invalid version, or as simple {@link Rule} on specific tests.
- *
- * @author Christoph Strobl
- * @author Alexander Golonzovsky
- * @since 1.6
- */
-public class RequiresMongoDB extends ExternalResource {
-
- private String host = "localhost";
- private int port = 27017;
-
- private final Version minVersion;
- private final Version maxVersion;
-
- private Version currentVersion;
-
- public RequiresMongoDB(Version min, Version max) {
- this.minVersion = min;
- this.maxVersion = max;
- }
-
- public static RequiresMongoDB anyVersion() {
- return new RequiresMongoDB(new Version(0, 0, 0), new Version(9999, 9999, 9999));
- }
-
- public static RequiresMongoDB atLeast(Version minVersion) {
- return new RequiresMongoDB(minVersion, new Version(9999, 9999, 9999));
- }
-
- public static RequiresMongoDB atMost(Version maxVersion) {
- return new RequiresMongoDB(new Version(0, 0, 0), maxVersion);
- }
-
- public RequiresMongoDB serverRunningAt(String host, int port) {
- this.host = host;
- this.port = port;
-
- return this;
- }
-
- @Override
- protected void before() throws Throwable {
-
- initCurrentVersion();
-
- if (currentVersion.isLessThan(minVersion) || currentVersion.isGreaterThan(maxVersion)) {
- throw new AssumptionViolatedException(String.format(
- "Expected mongodb server to be in range %s to %s but found %s", minVersion, maxVersion, currentVersion));
- }
- }
-
- private void initCurrentVersion() {
-
- if (currentVersion == null) {
- try {
- DB db = new MongoClient(host, port).getDB("test");
- CommandResult result = db.command(new BasicDBObjectBuilder().add("buildInfo", 1).get());
- this.currentVersion = Version.parse(result.get("version").toString());
- } catch (com.mongodb.MongoTimeoutException | UnknownHostException e) {
- throw new AssumptionViolatedException("Seems as mongodb server is not running.", e);
- }
- }
- }
-}
diff --git a/rest/multi-store/pom.xml b/rest/multi-store/pom.xml
index adeb324a..2c5deb0f 100644
--- a/rest/multi-store/pom.xml
+++ b/rest/multi-store/pom.xml
@@ -21,6 +21,7 @@
org.springframework.boot
spring-boot-starter-data-jpa
+