Skip to content

Commit 2c33644

Browse files
Bump com.squareup.okhttp3:mockwebserver from 4.12.0 to 5.1.0 in /services/hanke-service (#1119)
* Bump com.squareup.okhttp3:mockwebserver in /services/hanke-service Bumps [com.squareup.okhttp3:mockwebserver](https://github.com/square/okhttp) from 4.12.0 to 5.1.0. - [Changelog](https://github.com/square/okhttp/blob/master/CHANGELOG.md) - [Commits](square/okhttp@parent-4.12.0...parent-5.1.0) --- updated-dependencies: - dependency-name: com.squareup.okhttp3:mockwebserver dependency-version: 5.1.0 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> * Use mockwebserver3 --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Teemu Hiltunen <teemu.hiltunen@gofore.com>
1 parent 7309c68 commit 2c33644

10 files changed

Lines changed: 247 additions & 203 deletions

File tree

services/hanke-service/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ dependencies {
9999
testImplementation("io.mockk:mockk:1.14.5")
100100
testImplementation("com.ninja-squad:springmockk:4.0.2")
101101
testImplementation("com.willowtreeapps.assertk:assertk-jvm:0.28.1")
102-
testImplementation("com.squareup.okhttp3:mockwebserver:4.12.0")
102+
testImplementation("com.squareup.okhttp3:mockwebserver3:5.1.0")
103103
testImplementation("com.icegreen:greenmail-junit5:2.1.5")
104104

105105
// Pdf generation

services/hanke-service/src/integrationTest/kotlin/fi/hel/haitaton/hanke/allu/AlluClientITests.kt

Lines changed: 173 additions & 137 deletions
Large diffs are not rendered by default.

services/hanke-service/src/integrationTest/kotlin/fi/hel/haitaton/hanke/attachment/application/ApplicationAttachmentServiceITest.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ import io.mockk.clearAllMocks
5353
import io.mockk.confirmVerified
5454
import io.mockk.verify
5555
import java.util.UUID
56-
import okhttp3.mockwebserver.MockWebServer
56+
import mockwebserver3.MockWebServer
5757
import org.junit.jupiter.api.AfterEach
5858
import org.junit.jupiter.api.BeforeEach
5959
import org.junit.jupiter.api.Nested
@@ -85,7 +85,7 @@ class ApplicationAttachmentServiceITest(
8585

8686
@AfterEach
8787
fun tearDown() {
88-
mockClamAv.shutdown()
88+
mockClamAv.close()
8989
checkUnnecessaryStub()
9090
confirmVerified(alluClient)
9191
}

services/hanke-service/src/integrationTest/kotlin/fi/hel/haitaton/hanke/attachment/common/FileScanClientITest.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ import fi.hel.haitaton.hanke.attachment.failResult
99
import fi.hel.haitaton.hanke.attachment.response
1010
import fi.hel.haitaton.hanke.attachment.successResult
1111
import fi.hel.haitaton.hanke.attachment.testFile
12-
import okhttp3.mockwebserver.MockResponse
13-
import okhttp3.mockwebserver.MockWebServer
12+
import mockwebserver3.MockResponse
13+
import mockwebserver3.MockWebServer
1414
import org.junit.jupiter.api.AfterEach
1515
import org.junit.jupiter.api.BeforeEach
1616
import org.junit.jupiter.api.Test
@@ -36,7 +36,7 @@ class FileScanClientITest : IntegrationTest() {
3636

3737
@AfterEach
3838
fun tearDown() {
39-
mockWebServer.shutdown()
39+
mockWebServer.close()
4040
}
4141

4242
@Test
@@ -60,7 +60,7 @@ class FileScanClientITest : IntegrationTest() {
6060
@ValueSource(ints = [400, 500])
6161
@ParameterizedTest
6262
fun `scanFiles when http error should throw`(status: Int) {
63-
mockWebServer.enqueue(MockResponse().setResponseCode(status))
63+
mockWebServer.enqueue(MockResponse.Builder().code(status).build())
6464

6565
assertThrows<WebClientResponseException> { scanClient.scan(testFiles) }
6666
}

services/hanke-service/src/integrationTest/kotlin/fi/hel/haitaton/hanke/attachment/hanke/HankeAttachmentServiceITest.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ import fi.hel.haitaton.hanke.factory.HankeIdentifierFactory
3535
import fi.hel.haitaton.hanke.test.Asserts.isRecent
3636
import fi.hel.haitaton.hanke.test.USERNAME
3737
import java.util.UUID
38-
import okhttp3.mockwebserver.MockWebServer
38+
import mockwebserver3.MockWebServer
3939
import org.junit.jupiter.api.AfterEach
4040
import org.junit.jupiter.api.BeforeEach
4141
import org.junit.jupiter.api.Nested
@@ -62,7 +62,7 @@ class HankeAttachmentServiceITest(
6262

6363
@AfterEach
6464
fun tearDown() {
65-
mockClamAv.shutdown()
65+
mockClamAv.close()
6666
}
6767

6868
@Nested

services/hanke-service/src/integrationTest/kotlin/fi/hel/haitaton/hanke/attachment/muutosilmoitus/MuutosilmoitusAttachmentServiceITest.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ import fi.hel.haitaton.hanke.test.USERNAME
4242
import io.mockk.checkUnnecessaryStub
4343
import io.mockk.clearAllMocks
4444
import java.util.UUID
45-
import okhttp3.mockwebserver.MockWebServer
45+
import mockwebserver3.MockWebServer
4646
import org.junit.jupiter.api.AfterEach
4747
import org.junit.jupiter.api.BeforeEach
4848
import org.junit.jupiter.api.Nested
@@ -71,7 +71,7 @@ class MuutosilmoitusAttachmentServiceITest(
7171

7272
@AfterEach
7373
fun tearDown() {
74-
mockClamAv.shutdown()
74+
mockClamAv.close()
7575
checkUnnecessaryStub()
7676
}
7777

services/hanke-service/src/integrationTest/kotlin/fi/hel/haitaton/hanke/attachment/taydennys/TaydennysAttachmentServiceITest.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ import fi.hel.haitaton.hanke.test.USERNAME
4242
import io.mockk.checkUnnecessaryStub
4343
import io.mockk.clearAllMocks
4444
import java.util.UUID
45-
import okhttp3.mockwebserver.MockWebServer
45+
import mockwebserver3.MockWebServer
4646
import org.junit.jupiter.api.AfterEach
4747
import org.junit.jupiter.api.BeforeEach
4848
import org.junit.jupiter.api.Nested
@@ -71,7 +71,7 @@ class TaydennysAttachmentServiceITest(
7171

7272
@AfterEach
7373
fun tearDown() {
74-
mockClamAv.shutdown()
74+
mockClamAv.close()
7575
checkUnnecessaryStub()
7676
}
7777

services/hanke-service/src/integrationTest/kotlin/fi/hel/haitaton/hanke/profiili/ProfiiliClientITest.kt

Lines changed: 33 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,10 @@ import fi.hel.haitaton.hanke.toJsonString
1919
import io.mockk.checkUnnecessaryStub
2020
import io.mockk.clearAllMocks
2121
import java.net.URLEncoder
22+
import mockwebserver3.MockResponse
23+
import mockwebserver3.MockWebServer
24+
import mockwebserver3.QueueDispatcher
2225
import okhttp3.HttpUrl
23-
import okhttp3.mockwebserver.MockResponse
24-
import okhttp3.mockwebserver.MockWebServer
25-
import okhttp3.mockwebserver.QueueDispatcher
2626
import org.junit.jupiter.api.AfterEach
2727
import org.junit.jupiter.api.BeforeEach
2828
import org.junit.jupiter.api.Nested
@@ -44,8 +44,11 @@ class ProfiiliClientITest {
4444
clearAllMocks()
4545

4646
mockApiTokensApi = MockWebServer()
47+
mockApiTokensApi.start()
4748
mockGraphQl = MockWebServer()
49+
mockGraphQl.start()
4850
mockConfigurationApi = MockWebServer()
51+
mockConfigurationApi.start()
4952

5053
val issuer = mockConfigurationApi.url("/auth/realms/helsinki-tunnistus").toString()
5154

@@ -59,9 +62,9 @@ class ProfiiliClientITest {
5962

6063
@AfterEach
6164
fun tearDown() {
62-
mockApiTokensApi.shutdown()
63-
mockGraphQl.shutdown()
64-
mockConfigurationApi.shutdown()
65+
mockApiTokensApi.close()
66+
mockGraphQl.close()
67+
mockConfigurationApi.close()
6568
checkUnnecessaryStub()
6669
}
6770

@@ -71,7 +74,7 @@ class ProfiiliClientITest {
7174
fun `throws exception when OpenID configuration can't be found`() {
7275
mockConfigurationApi.dispatcher = QueueDispatcher()
7376
mockConfigurationApi.enqueue(
74-
MockResponse().setResponseCode(404).setBody("This is the message body from error")
77+
MockResponse.Builder().code(404).body("This is the message body from error").build()
7578
)
7679

7780
val failure = assertFailure { profiiliClient.getVerifiedName(ACCESS_TOKEN) }
@@ -111,19 +114,19 @@ class ProfiiliClientITest {
111114
profiiliClient.getVerifiedName(ACCESS_TOKEN)
112115

113116
val request = mockConfigurationApi.takeRequest()
114-
assertThat(request.requestUrl)
117+
assertThat(request.url)
115118
.isNotNull()
116119
.prop(HttpUrl::toString)
117120
.isEqualTo(
118121
"http://localhost:${mockConfigurationApi.port}/auth/realms/helsinki-tunnistus/.well-known/openid-configuration"
119122
)
120-
assertThat(request.getHeader("Authorization")).isNull()
121-
assertThat(request.getHeader("Accept")).isEqualTo(MediaType.APPLICATION_JSON_VALUE)
123+
assertThat(request.headers["Authorization"]).isNull()
124+
assertThat(request.headers["Accept"]).isEqualTo(MediaType.APPLICATION_JSON_VALUE)
122125
}
123126

124127
@Test
125128
fun `throws exception when API tokens not found`() {
126-
mockApiTokensApi.enqueue(MockResponse().setResponseCode(404))
129+
mockApiTokensApi.enqueue(MockResponse.Builder().code(404).build())
127130

128131
val failure = assertFailure { profiiliClient.getVerifiedName(ACCESS_TOKEN) }
129132

@@ -170,13 +173,13 @@ class ProfiiliClientITest {
170173
profiiliClient.getVerifiedName(ACCESS_TOKEN)
171174

172175
val request = mockApiTokensApi.takeRequest()
173-
assertThat(request.requestUrl)
176+
assertThat(request.url)
174177
.isNotNull()
175178
.prop(HttpUrl::toString)
176179
.isEqualTo("http://localhost:${mockApiTokensApi.port}/api-tokens/")
177-
assertThat(request.getHeader("Authorization")).isEqualTo("Bearer $ACCESS_TOKEN")
178-
assertThat(request.getHeader("Accept")).isEqualTo(MediaType.APPLICATION_JSON_VALUE)
179-
assertThat(request.getHeader("Content-Type"))
180+
assertThat(request.headers["Authorization"]).isEqualTo("Bearer $ACCESS_TOKEN")
181+
assertThat(request.headers["Accept"]).isEqualTo(MediaType.APPLICATION_JSON_VALUE)
182+
assertThat(request.headers["Content-Type"])
180183
.isEqualTo(MediaType.APPLICATION_FORM_URLENCODED_VALUE)
181184
}
182185

@@ -195,13 +198,13 @@ class ProfiiliClientITest {
195198
val encodedPermission = URLEncoder.encode(ProfiiliClient.TOKEN_API_PERMISSION, "UTF-8")
196199
val expectedBody =
197200
"audience=$encodedAudience&grant_type=$encodedGrantType&permission=$encodedPermission"
198-
assertThat(request.body.readUtf8()).isEqualTo(expectedBody)
201+
assertThat(request.body?.utf8()).isEqualTo(expectedBody)
199202
}
200203

201204
@Test
202205
fun `throws exception when GraphQL request fails`() {
203206
mockApiToken()
204-
mockGraphQl.enqueue(MockResponse().setResponseCode(404))
207+
mockGraphQl.enqueue(MockResponse.Builder().code(404).build())
205208

206209
val failure = assertFailure { profiiliClient.getVerifiedName(ACCESS_TOKEN) }
207210

@@ -266,14 +269,13 @@ class ProfiiliClientITest {
266269
profiiliClient.getVerifiedName(ACCESS_TOKEN)
267270

268271
val request = mockGraphQl.takeRequest()
269-
assertThat(request.requestUrl)
272+
assertThat(request.url)
270273
.isNotNull()
271274
.prop(HttpUrl::toString)
272275
.isEqualTo("http://localhost:${mockGraphQl.port}/graphql/")
273-
assertThat(request.getHeader("Authorization")).isEqualTo("Bearer $API_TOKEN")
274-
assertThat(request.getHeader("Accept")).isEqualTo(MediaType.APPLICATION_JSON_VALUE)
275-
assertThat(request.getHeader("Content-Type"))
276-
.isEqualTo(MediaType.APPLICATION_JSON_VALUE)
276+
assertThat(request.headers["Authorization"]).isEqualTo("Bearer $API_TOKEN")
277+
assertThat(request.headers["Accept"]).isEqualTo(MediaType.APPLICATION_JSON_VALUE)
278+
assertThat(request.headers["Content-Type"]).isEqualTo(MediaType.APPLICATION_JSON_VALUE)
277279
}
278280

279281
@Test
@@ -284,7 +286,7 @@ class ProfiiliClientITest {
284286
profiiliClient.getVerifiedName(ACCESS_TOKEN)
285287

286288
val request = mockGraphQl.takeRequest()
287-
val body = request.body.readUtf8()
289+
val body = request.body?.utf8()!!
288290
val query: ProfiiliClient.GraphQlQuery = OBJECT_MAPPER.readValue(body)
289291
assertThat(query).all {
290292
prop(ProfiiliClient.GraphQlQuery::variables).isNull()
@@ -309,10 +311,11 @@ class ProfiiliClientITest {
309311

310312
private fun MockWebServer.enqueueSuccess(body: String) {
311313
enqueue(
312-
MockResponse()
313-
.setResponseCode(200)
314+
MockResponse.Builder()
315+
.code(200)
314316
.setHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE)
315-
.setBody(body)
317+
.body(body)
318+
.build()
316319
)
317320
}
318321

@@ -322,10 +325,11 @@ class ProfiiliClientITest {
322325

323326
private fun mockApiToken() {
324327
mockApiTokensApi.enqueue(
325-
MockResponse()
326-
.setResponseCode(200)
328+
MockResponse.Builder()
329+
.code(200)
327330
.setHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE)
328-
.setBody(mapOf("access_token" to API_TOKEN).toJsonString())
331+
.body(mapOf("access_token" to API_TOKEN).toJsonString())
332+
.build()
329333
)
330334
}
331335

services/hanke-service/src/test/kotlin/fi/hel/haitaton/hanke/attachment/AttachmentTestUtil.kt

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import fi.hel.haitaton.hanke.attachment.common.FileScanResponse
77
import fi.hel.haitaton.hanke.getResourceAsBytes
88
import fi.hel.haitaton.hanke.hankeError
99
import fi.hel.haitaton.hanke.toJsonString
10-
import okhttp3.mockwebserver.MockResponse
10+
import mockwebserver3.MockResponse
1111
import org.springframework.http.MediaType.APPLICATION_JSON_VALUE
1212
import org.springframework.http.MediaType.APPLICATION_PDF_VALUE
1313
import org.springframework.mock.web.MockMultipartFile
@@ -36,10 +36,11 @@ fun ResultActions.andExpectError(error: HankeError): ResultActions =
3636
andExpect(unauthenticated()).andExpect(status().isUnauthorized).andExpect(hankeError(error))
3737

3838
fun response(data: String): MockResponse =
39-
MockResponse()
40-
.setBody(data)
39+
MockResponse.Builder()
40+
.body(data)
4141
.addHeader(CONTENT_TYPE_HEADER, APPLICATION_JSON_VALUE)
42-
.setResponseCode(200)
42+
.code(200)
43+
.build()
4344

4445
fun body(success: Boolean = true, results: List<FileResult>): String =
4546
FileScanResponse(success, FileScanData(result = results)).toJsonString()

services/hanke-service/src/test/kotlin/fi/hel/haitaton/hanke/pdf/WmsMapGeneratorTest.kt

Lines changed: 23 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,12 @@ import fi.hel.haitaton.hanke.getResourceAsText
1313
import fi.hel.haitaton.hanke.hakemus.KaivuilmoitusAlue
1414
import java.io.ByteArrayInputStream
1515
import javax.imageio.ImageIO
16+
import mockwebserver3.Dispatcher
17+
import mockwebserver3.MockResponse
18+
import mockwebserver3.MockWebServer
19+
import mockwebserver3.RecordedRequest
1620
import net.pwall.mustache.Template
1721
import okhttp3.HttpUrl
18-
import okhttp3.mockwebserver.Dispatcher
19-
import okhttp3.mockwebserver.MockResponse
20-
import okhttp3.mockwebserver.MockWebServer
21-
import okhttp3.mockwebserver.RecordedRequest
2222
import okio.Buffer
2323
import org.geotools.ows.wms.WebMapServer
2424
import org.junit.jupiter.api.AfterEach
@@ -56,7 +56,7 @@ class WmsMapGeneratorTest {
5656

5757
@AfterEach
5858
fun tearDown() {
59-
mockWmsServer.shutdown()
59+
mockWmsServer.close()
6060
}
6161

6262
@Test
@@ -66,8 +66,9 @@ class WmsMapGeneratorTest {
6666
assertThat(mockWmsServer.requestCount).isEqualTo(2)
6767
val capabilityRequest = mockWmsServer.takeRequest()
6868
assertThat(capabilityRequest).all {
69-
prop(RecordedRequest::path)
69+
prop(RecordedRequest::url)
7070
.isNotNull()
71+
.transform { it.toString() }
7172
.contains(
7273
"/capabilities",
7374
"REQUEST=GetCapabilities",
@@ -77,8 +78,9 @@ class WmsMapGeneratorTest {
7778
}
7879
val mapRequest = mockWmsServer.takeRequest()
7980
assertThat(mapRequest).all {
80-
prop(RecordedRequest::path)
81+
prop(RecordedRequest::url)
8182
.isNotNull()
83+
.transform { it.toString() }
8284
.contains(
8385
"/image", // The URL is read from the capabilities XML.
8486
"REQUEST=GetMap",
@@ -264,13 +266,12 @@ class WmsMapGeneratorTest {
264266

265267
class GeoserverDispatcher(private val baseUrl: HttpUrl) : Dispatcher() {
266268
override fun dispatch(request: RecordedRequest): MockResponse {
267-
return request.path?.let { path ->
268-
if (path.startsWith("/capabilities")) {
269-
capabilityResponse()
270-
} else if (path.startsWith("/image")) {
271-
imageResponse()
272-
} else null
273-
} ?: MockResponse().setResponseCode(404)
269+
val path = request.url.encodedPath
270+
return when {
271+
path.startsWith("/capabilities") -> capabilityResponse()
272+
path.startsWith("/image") -> imageResponse()
273+
else -> MockResponse.Builder().code(404).build()
274+
}
274275
}
275276

276277
private fun capabilityResponse(): MockResponse {
@@ -280,19 +281,21 @@ class WmsMapGeneratorTest {
280281
)
281282
val params = mapOf("baseUrl" to baseUrl)
282283

283-
return MockResponse()
284-
.setResponseCode(200)
284+
return MockResponse.Builder()
285+
.code(200)
285286
.setHeader("Content-Type", "application/vnd.ogc.wms_xml")
286-
.setBody(responseTemplate.processToString(params))
287+
.body(responseTemplate.processToString(params))
288+
.build()
287289
}
288290

289291
private fun imageResponse(): MockResponse {
290292
val bytes = "/fi/hel/haitaton/hanke/pdf-test-data/blank.png".getResourceAsBytes()
291293

292-
return MockResponse()
293-
.setResponseCode(200)
294+
return MockResponse.Builder()
295+
.code(200)
294296
.setHeader("Content-Type", "image/png")
295-
.setBody(Buffer().write(bytes))
297+
.body(Buffer().write(bytes))
298+
.build()
296299
}
297300
}
298301
}

0 commit comments

Comments
 (0)