forked from Mikuu/Pact-JVM-Example
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbuild.gradle
126 lines (98 loc) · 3.28 KB
/
build.gradle
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:1.5.8.RELEASE")
classpath("org.thymeleaf:thymeleaf:3.0.8.RELEASE")
classpath("au.com.dius:pact-jvm-provider-gradle_2.12:3.5.10")
}
}
allprojects {
apply plugin: 'java'
apply plugin: 'idea'
repositories {
mavenCentral()
}
}
subprojects {
apply plugin: 'org.springframework.boot'
sourceCompatibility = 1.8
targetCompatibility = 1.8
dependencies {
compile("org.springframework.boot:spring-boot-starter-web")
compile("org.springframework.boot:spring-boot-starter-thymeleaf")
compile("org.springframework.boot:spring-boot-devtools")
testCompile('org.springframework.boot:spring-boot-starter-test')
testCompile("junit:junit")
testCompile("au.com.dius:pact-jvm-consumer-junit_2.12:3.5.12")
testCompile("au.com.dius:pact-jvm-consumer-java8_2.12:3.5.12")
}
}
project(':example-consumer-miku') {
version '1.0.0'
apply plugin: 'au.com.dius.pact'
jar {
baseName = 'example-consumer-miku'
version = '1.0.0'
}
test {
systemProperties['pact.rootDir'] = "$rootDir/Pacts/Miku"
}
pact {
publish {
pactDirectory = "$rootDir/Pacts/Miku"
pactBrokerUrl = mybrokerUrl
pactBrokerUsername = mybrokerUser
pactBrokerPassword = mybrokerPassword
// This is to local Pact Broker in Docker
// pactBrokerUrl = "http://localhost"
}
}
}
project(':example-consumer-nanoha') {
jar {
baseName = 'example-consumer-nanoha'
version = '1.0.0'
}
test {
systemProperties['pact.rootDir'] = "$rootDir/Pacts/Nanoha"
}
}
import java.net.URL
project(':example-provider') {
apply plugin: 'au.com.dius.pact'
jar {
baseName = 'example-provider'
version = '1.0.0'
}
pact {
serviceProviders {
ExampleProvider {
protocol = 'http'
host = 'localhost'
port = 8080
path = '/'
// Test Pacts from local Miku
hasPactWith('Miku - Base contract') {
pactSource = file("$rootDir/Pacts/Miku/BaseConsumer-ExampleProvider.json")
}
hasPactsWith('Miku - All contracts') {
pactFileLocation = file("$rootDir/Pacts/Miku")
}
// Test Pacts from Pact Broker
hasPactsFromPactBroker(mybrokerUrl, authentication: ['Basic', mybrokerUser, mybrokerPassword])
// This is for local Pact Broker in Docker
// hasPactsFromPactBroker("http://localhost")
// Test Pacts from local Nanoha
// hasPactWith('Nanoha - With Nantionality') {
// pactSource = file("$rootDir/Pacts/Nanoha/ConsumerNanohaWithNationality-ExampleProvider.json")
// }
// hasPactWith('Nanoha - No Nantionality') {
// stateChangeUrl = new URL('http://localhost:8080/pactStateChange')
// pactSource = file("$rootDir/Pacts/Nanoha/ConsumerNanohaNoNationality-ExampleProvider.json")
// }
}
}
}
}