Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in / Register
Toggle navigation
S
spring-boot
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
DEMO
spring-boot
Commits
7e51e1a0
Commit
7e51e1a0
authored
Feb 12, 2019
by
Andy Wilkinson
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch '2.1.x'
parents
8e0cc278
365ea31a
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
28 additions
and
99 deletions
+28
-99
pom.xml
spring-boot-project/spring-boot-parent/pom.xml
+11
-5
pom.xml
spring-boot-project/spring-boot-test-autoconfigure/pom.xml
+5
-0
DataNeo4jTestIntegrationTests.java
...toconfigure/data/neo4j/DataNeo4jTestIntegrationTests.java
+6
-5
DataNeo4jTestWithIncludeFilterIntegrationTests.java
...neo4j/DataNeo4jTestWithIncludeFilterIntegrationTests.java
+6
-5
Neo4jContainer.java
...ework/boot/testsupport/testcontainers/Neo4jContainer.java
+0
-84
No files found.
spring-boot-project/spring-boot-parent/pom.xml
View file @
7e51e1a0
...
...
@@ -26,6 +26,7 @@
<maven.version>
3.5.4
</maven.version>
<maven-resolver.version>
1.1.1
</maven-resolver.version>
<spock.version>
1.0-groovy-2.4
</spock.version>
<testcontainers.version>
1.10.6
</testcontainers.version>
<dependency-management-plugin.version>
1.0.6.RELEASE
</dependency-management-plugin.version>
<spring-doc-resources.version>
0.1.0.BUILD-SNAPSHOT
</spring-doc-resources.version>
</properties>
...
...
@@ -97,11 +98,6 @@
<artifactId>
mockwebserver
</artifactId>
<version>
3.9.0
</version>
</dependency>
<dependency>
<groupId>
org.testcontainers
</groupId>
<artifactId>
testcontainers
</artifactId>
<version>
1.10.6
</version>
</dependency>
<dependency>
<groupId>
com.vaadin.external.google
</groupId>
<artifactId>
android-json
</artifactId>
...
...
@@ -243,6 +239,16 @@
<artifactId>
spock-spring
</artifactId>
<version>
${spock.version}
</version>
</dependency>
<dependency>
<groupId>
org.testcontainers
</groupId>
<artifactId>
neo4j
</artifactId>
<version>
${testcontainers.version}
</version>
</dependency>
<dependency>
<groupId>
org.testcontainers
</groupId>
<artifactId>
testcontainers
</artifactId>
<version>
${testcontainers.version}
</version>
</dependency>
<dependency>
<groupId>
org.zeroturnaround
</groupId>
<artifactId>
zt-zip
</artifactId>
...
...
spring-boot-project/spring-boot-test-autoconfigure/pom.xml
View file @
7e51e1a0
...
...
@@ -294,6 +294,11 @@
<artifactId>
spring-plugin-core
</artifactId>
<scope>
test
</scope>
</dependency>
<dependency>
<groupId>
org.testcontainers
</groupId>
<artifactId>
neo4j
</artifactId>
<scope>
test
</scope>
</dependency>
<dependency>
<groupId>
org.testcontainers
</groupId>
<artifactId>
testcontainers
</artifactId>
...
...
spring-boot-project/spring-boot-test-autoconfigure/src/test/java/org/springframework/boot/test/autoconfigure/data/neo4j/DataNeo4jTestIntegrationTests.java
View file @
7e51e1a0
/*
* Copyright 2012-201
8
the original author or authors.
* Copyright 2012-201
9
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,11 +20,11 @@ import org.junit.ClassRule;
import
org.junit.Test
;
import
org.junit.runner.RunWith
;
import
org.neo4j.ogm.session.Session
;
import
org.testcontainers.containers.Neo4jContainer
;
import
org.springframework.beans.factory.NoSuchBeanDefinitionException
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.boot.test.util.TestPropertyValues
;
import
org.springframework.boot.testsupport.testcontainers.Neo4jContainer
;
import
org.springframework.context.ApplicationContext
;
import
org.springframework.context.ApplicationContextInitializer
;
import
org.springframework.context.ConfigurableApplicationContext
;
...
...
@@ -39,6 +39,7 @@ import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
*
* @author Eddú Meléndez
* @author Stephane Nicoll
* @author Michael Simons
*/
@RunWith
(
SpringRunner
.
class
)
@ContextConfiguration
(
initializers
=
DataNeo4jTestIntegrationTests
.
Initializer
.
class
)
...
...
@@ -46,7 +47,8 @@ import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
public
class
DataNeo4jTestIntegrationTests
{
@ClassRule
public
static
Neo4jContainer
neo4j
=
new
Neo4jContainer
();
public
static
Neo4jContainer
<?>
neo4j
=
new
Neo4jContainer
<>()
.
withAdminPassword
(
null
);
@Autowired
private
Session
session
;
...
...
@@ -79,8 +81,7 @@ public class DataNeo4jTestIntegrationTests {
@Override
public
void
initialize
(
ConfigurableApplicationContext
configurableApplicationContext
)
{
TestPropertyValues
.
of
(
"spring.data.neo4j.uri=bolt://localhost:"
+
neo4j
.
getMappedPort
())
TestPropertyValues
.
of
(
"spring.data.neo4j.uri="
+
neo4j
.
getBoltUrl
())
.
applyTo
(
configurableApplicationContext
.
getEnvironment
());
}
...
...
spring-boot-project/spring-boot-test-autoconfigure/src/test/java/org/springframework/boot/test/autoconfigure/data/neo4j/DataNeo4jTestWithIncludeFilterIntegrationTests.java
View file @
7e51e1a0
/*
* Copyright 2012-201
8
the original author or authors.
* Copyright 2012-201
9
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,10 +19,10 @@ package org.springframework.boot.test.autoconfigure.data.neo4j;
import
org.junit.ClassRule
;
import
org.junit.Test
;
import
org.junit.runner.RunWith
;
import
org.testcontainers.containers.Neo4jContainer
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.boot.test.util.TestPropertyValues
;
import
org.springframework.boot.testsupport.testcontainers.Neo4jContainer
;
import
org.springframework.context.ApplicationContextInitializer
;
import
org.springframework.context.ConfigurableApplicationContext
;
import
org.springframework.context.annotation.ComponentScan.Filter
;
...
...
@@ -36,6 +36,7 @@ import static org.assertj.core.api.Assertions.assertThat;
* Integration test with custom include filter for {@link DataNeo4jTest}.
*
* @author Eddú Meléndez
* @author Michael Simons
*/
@RunWith
(
SpringRunner
.
class
)
@ContextConfiguration
(
initializers
=
DataNeo4jTestWithIncludeFilterIntegrationTests
.
Initializer
.
class
)
...
...
@@ -43,7 +44,8 @@ import static org.assertj.core.api.Assertions.assertThat;
public
class
DataNeo4jTestWithIncludeFilterIntegrationTests
{
@ClassRule
public
static
Neo4jContainer
neo4j
=
new
Neo4jContainer
();
public
static
Neo4jContainer
<?>
neo4j
=
new
Neo4jContainer
<>()
.
withAdminPassword
(
null
);
@Autowired
private
ExampleService
service
;
...
...
@@ -59,8 +61,7 @@ public class DataNeo4jTestWithIncludeFilterIntegrationTests {
@Override
public
void
initialize
(
ConfigurableApplicationContext
configurableApplicationContext
)
{
TestPropertyValues
.
of
(
"spring.data.neo4j.uri=bolt://localhost:"
+
neo4j
.
getMappedPort
())
TestPropertyValues
.
of
(
"spring.data.neo4j.uri="
+
neo4j
.
getBoltUrl
())
.
applyTo
(
configurableApplicationContext
.
getEnvironment
());
}
...
...
spring-boot-project/spring-boot-tools/spring-boot-test-support/src/main/java/org/springframework/boot/testsupport/testcontainers/Neo4jContainer.java
deleted
100644 → 0
View file @
8e0cc278
/*
* Copyright 2012-2018 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
.
boot
.
testsupport
.
testcontainers
;
import
java.util.concurrent.Callable
;
import
java.util.concurrent.TimeUnit
;
import
org.neo4j.ogm.config.Configuration
;
import
org.neo4j.ogm.session.SessionFactory
;
import
org.rnorth.ducttape.TimeoutException
;
import
org.rnorth.ducttape.unreliables.Unreliables
;
import
org.testcontainers.containers.GenericContainer
;
import
org.testcontainers.containers.wait.strategy.HostPortWaitStrategy
;
/**
* A {@link GenericContainer} for Neo4J.
*
* @author Andy Wilkinson
* @author Madhura Bhave
*/
public
class
Neo4jContainer
extends
Container
{
private
static
final
int
PORT
=
7687
;
public
Neo4jContainer
()
{
super
(
"neo4j:3.3.1"
,
PORT
,
(
container
)
->
container
.
waitingFor
(
new
WaitStrategy
(
container
)).
withEnv
(
"NEO4J_AUTH"
,
"none"
));
}
private
static
final
class
WaitStrategy
extends
HostPortWaitStrategy
{
private
final
GenericContainer
<?>
container
;
private
WaitStrategy
(
GenericContainer
<?>
container
)
{
this
.
container
=
container
;
}
@Override
public
void
waitUntilReady
()
{
super
.
waitUntilReady
();
Configuration
configuration
=
new
Configuration
.
Builder
()
.
uri
(
"bolt://localhost:"
+
this
.
container
.
getMappedPort
(
Neo4jContainer
.
PORT
))
.
build
();
SessionFactory
sessionFactory
=
new
SessionFactory
(
configuration
,
"org.springframework.boot.test.autoconfigure.data.neo4j"
);
try
{
Unreliables
.
retryUntilTrue
((
int
)
this
.
startupTimeout
.
getSeconds
(),
TimeUnit
.
SECONDS
,
checkConnection
(
sessionFactory
));
}
catch
(
TimeoutException
ex
)
{
throw
new
IllegalStateException
(
ex
);
}
}
private
Callable
<
Boolean
>
checkConnection
(
SessionFactory
sessionFactory
)
{
return
()
->
{
try
{
sessionFactory
.
openSession
().
beginTransaction
().
close
();
return
true
;
}
catch
(
Exception
ex
)
{
return
false
;
}
};
}
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment