Skip to content

Commit 01681dd

Browse files
author
Nickolay Savchenko
committed
Update
1 parent 1fe63f1 commit 01681dd

File tree

4 files changed

+50
-5
lines changed

4 files changed

+50
-5
lines changed

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ buildscript {
99
google()
1010
}
1111
dependencies {
12-
classpath 'com.android.tools.build:gradle:3.0.1'
12+
classpath 'com.android.tools.build:gradle:3.2.1'
1313
classpath 'com.github.dcendents:android-maven-gradle-plugin:1.5'
1414

1515
// NOTE: Do not place your application dependencies here; they belong

gradle/wrapper/gradle-wrapper.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME
33
distributionPath=wrapper/dists
44
zipStoreBase=GRADLE_USER_HOME
55
zipStorePath=wrapper/dists
6-
distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip
6+
distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-all.zip

test-server/build.gradle

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
group 'ua.naiksoftware.example_server'
2-
version '1.0-SNAPSHOT'
1+
group 'ua.naiksoftware.test_server'
2+
version '1.0'
33

44
buildscript {
55

@@ -27,12 +27,24 @@ repositories {
2727
}
2828

2929
dependencies {
30-
compile("org.springframework.boot:spring-boot-starter-websocket")
30+
compile 'org.springframework.boot:spring-boot-starter-websocket'
31+
compile 'org.springframework.boot:spring-boot-starter-web'
3132
compile 'org.codehaus.groovy:groovy-all:2.4.15'
33+
34+
testCompile 'org.springframework.boot:spring-boot-starter-test'
35+
testCompile 'org.springframework.security:spring-security-test'
36+
testCompile 'org.testcontainers:testcontainers:1.8.0'
37+
testCompile 'org.spockframework:spock-core:1.1-groovy-2.4'
38+
testCompile 'org.spockframework:spock-spring:1.1-groovy-2.4'
3239
}
3340

3441
dependencyManagement {
3542
imports {
3643
mavenBom "org.springframework.cloud:spring-cloud-dependencies:${springCloudVersion}"
3744
}
3845
}
46+
47+
bootJar {
48+
destinationDir = new File("./build/artifacts")
49+
}
50+
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
import org.springframework.boot.test.context.SpringBootTest
2+
import org.springframework.context.ApplicationContextInitializer
3+
import org.springframework.context.ConfigurableApplicationContext
4+
import org.springframework.test.context.ActiveProfiles
5+
import org.springframework.test.context.ContextConfiguration
6+
import org.testcontainers.containers.BindMode
7+
import org.testcontainers.containers.GenericContainer
8+
import org.testcontainers.containers.wait.strategy.Wait
9+
import spock.lang.Shared
10+
import spock.lang.Specification
11+
import ua.naiksoftware.test_server.Main
12+
13+
@ActiveProfiles(['test'])
14+
@SpringBootTest(classes = Main.class, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
15+
@ContextConfiguration(initializers = BaseContextLoader.class)
16+
class BaseContextLoader extends Specification implements ApplicationContextInitializer<ConfigurableApplicationContext> {
17+
18+
@Shared
19+
static GenericContainer testServer
20+
21+
@Override
22+
void initialize(ConfigurableApplicationContext configurableApplicationContext) {
23+
24+
new ProcessBuilder('./gradlew bootJar')
25+
.start().waitForProcessOutput(System.out as Appendable, System.err as Appendable)
26+
27+
testServer = new GenericContainer('openjdk:8-jre-alpine')
28+
.withClasspathResourceMapping('./build/artifacts/test-server-1.0.jar', '/app.jar', BindMode.READ_ONLY)
29+
.withCommand('java -jar /app.jar')
30+
.waitingFor(Wait.forHttp('/health'))
31+
.withExposedPorts(80)
32+
}
33+
}

0 commit comments

Comments
 (0)