Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MockWebServer Named annotations #8210

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
2 changes: 2 additions & 0 deletions gradle/libs.versions.toml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ com-squareup-moshi = "1.15.0"
com-squareup-okio = "3.7.0"
de-mannodermaus-junit5 = "1.4.0"
graalvm = "22.3.2"
javaxInject = "1"
kotlinx-serialization = "1.6.2"
mockserverClient = "5.15.0"
org-bouncycastle = "1.76"
Expand Down Expand Up @@ -51,6 +52,7 @@ gradlePlugin-spotless = "com.diffplug.spotless:spotless-plugin-gradle:6.24.0"
guava-jre = "com.google.guava:guava:32.1.3-jre"
hamcrestLibrary = "org.hamcrest:hamcrest-library:2.2"
httpClient5 = "org.apache.httpcomponents.client5:httpclient5:5.3"
javax-inject = { module = "javax.inject:javax.inject", version.ref = "javaxInject" }
jettyClient = "org.eclipse.jetty:jetty-client:9.4.53.v20231009"
jnr-unixsocket = "com.github.jnr:jnr-unixsocket:0.38.21"
jsoup = "org.jsoup:jsoup:1.17.2"
Expand Down
4 changes: 2 additions & 2 deletions mockwebserver-junit5/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,8 +56,8 @@ Multiple instances can be obtained by naming additional ones:
```
class MyTest(
private val server: MockWebServer,
@MockWebServerInstance("server2") private val server2: MockWebServer,
@MockWebServerInstance("server3") private val server3: MockWebServer
@Named("server2") private val server2: MockWebServer,
@Named("server3") private val server3: MockWebServer
) {
@Test
fun test() {
Expand Down
1 change: 1 addition & 0 deletions mockwebserver-junit5/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ dependencies {
api(projects.mockwebserver3)
api(libs.junit.jupiter.api)
compileOnly(libs.animalsniffer.annotations)
api(libs.javax.inject)

testRuntimeOnly(libs.junit.jupiter.engine)
testImplementation(libs.kotlin.junit5)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ import org.junit.jupiter.api.extension.ParameterResolver
* There are 3 ids for instances
* - The test instance default (passed into constructor)
* - The test lifecycle default (passed into test method, plus @BeforeEach, @AfterEach)
* - named instances with @MockWebServerInstance.
* - named instances with @Named.
*/
@ExperimentalOkHttpApi
class MockWebServerExtension :
Expand Down Expand Up @@ -111,10 +111,10 @@ class MockWebServerExtension :
parameterContext: ParameterContext,
extensionContext: ExtensionContext,
): Any {
val nameAnnotation = parameterContext.findAnnotation(MockWebServerInstance::class.java)
val nameAnnotation = parameterContext.findAnnotation(javax.inject.Named::class.java)
val name =
if (nameAnnotation.isPresent) {
nameAnnotation.get().name
nameAnnotation.get().value
} else {
defaultName
}
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ import assertk.assertThat
import assertk.assertions.isEqualTo
import assertk.assertions.isNotEqualTo
import assertk.assertions.isTrue
import javax.inject.Named
import mockwebserver3.MockWebServer
import org.junit.jupiter.api.AfterEach
import org.junit.jupiter.api.BeforeEach
Expand All @@ -32,8 +33,8 @@ class ExtensionMultipleInstancesTest {
@BeforeEach
fun setup(
defaultInstance: MockWebServer,
@MockWebServerInstance("A") instanceA: MockWebServer,
@MockWebServerInstance("B") instanceB: MockWebServer,
@Named("A") instanceA: MockWebServer,
@Named("B") instanceB: MockWebServer,
) {
defaultInstancePort = defaultInstance.port
instanceAPort = instanceA.port
Expand All @@ -48,8 +49,8 @@ class ExtensionMultipleInstancesTest {
@AfterEach
fun tearDown(
defaultInstance: MockWebServer,
@MockWebServerInstance("A") instanceA: MockWebServer,
@MockWebServerInstance("B") instanceB: MockWebServer,
@Named("A") instanceA: MockWebServer,
@Named("B") instanceB: MockWebServer,
) {
assertThat(defaultInstance.port).isEqualTo(defaultInstancePort)
assertThat(instanceA.port).isEqualTo(instanceAPort)
Expand All @@ -59,8 +60,8 @@ class ExtensionMultipleInstancesTest {
@Test
fun testClient(
defaultInstance: MockWebServer,
@MockWebServerInstance("A") instanceA: MockWebServer,
@MockWebServerInstance("B") instanceB: MockWebServer,
@Named("A") instanceA: MockWebServer,
@Named("B") instanceB: MockWebServer,
) {
assertThat(defaultInstance.port).isEqualTo(defaultInstancePort)
assertThat(instanceA.port).isEqualTo(instanceAPort)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,14 +17,15 @@ package mockwebserver3.junit5.internal

import assertk.assertThat
import assertk.assertions.isTrue
import javax.inject.Named
import mockwebserver3.MockWebServer
import org.junit.jupiter.api.Test

class ExtensionMultipleTestsTest {
@Test
fun testClient1(
defaultInstance: MockWebServer,
@MockWebServerInstance("A") instanceA: MockWebServer,
@Named("A") instanceA: MockWebServer,
) {
assertThat(seenInstances.add(defaultInstance.port)).isTrue()
assertThat(seenInstances.add(instanceA.port)).isTrue()
Expand All @@ -33,7 +34,7 @@ class ExtensionMultipleTestsTest {
@Test
fun testClient2(
defaultInstance: MockWebServer,
@MockWebServerInstance("A") instanceA: MockWebServer,
@Named("A") instanceA: MockWebServer,
) {
assertThat(seenInstances.add(defaultInstance.port)).isTrue()
assertThat(seenInstances.add(instanceA.port)).isTrue()
Expand Down
6 changes: 3 additions & 3 deletions okhttp/src/test/java/okhttp3/CacheTest.kt
Original file line number Diff line number Diff line change
Expand Up @@ -35,13 +35,13 @@ import java.util.Locale
import java.util.TimeZone
import java.util.concurrent.TimeUnit
import java.util.concurrent.atomic.AtomicReference
import javax.inject.Named
import javax.net.ssl.HostnameVerifier
import kotlin.test.assertFailsWith
import mockwebserver3.MockResponse
import mockwebserver3.MockWebServer
import mockwebserver3.RecordedRequest
import mockwebserver3.SocketPolicy.DisconnectAtEnd
import mockwebserver3.junit5.internal.MockWebServerInstance
import okhttp3.Cache.Companion.key
import okhttp3.Headers.Companion.headersOf
import okhttp3.MediaType.Companion.toMediaType
Expand Down Expand Up @@ -84,8 +84,8 @@ class CacheTest {

@BeforeEach
fun setUp(
@MockWebServerInstance(name = "1") server: MockWebServer,
@MockWebServerInstance(name = "2") server2: MockWebServer,
@Named("1") server: MockWebServer,
@Named("2") server2: MockWebServer,
) {
this.server = server
this.server2 = server2
Expand Down
4 changes: 2 additions & 2 deletions okhttp/src/test/java/okhttp3/CallTest.kt
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@ import java.util.concurrent.TimeUnit
import java.util.concurrent.atomic.AtomicBoolean
import java.util.concurrent.atomic.AtomicInteger
import java.util.concurrent.atomic.AtomicReference
import javax.inject.Named
import javax.net.ssl.SSLException
import javax.net.ssl.SSLHandshakeException
import javax.net.ssl.SSLPeerUnverifiedException
Expand All @@ -73,7 +74,6 @@ import mockwebserver3.SocketPolicy.FailHandshake
import mockwebserver3.SocketPolicy.HalfCloseAfterRequest
import mockwebserver3.SocketPolicy.NoResponse
import mockwebserver3.SocketPolicy.StallSocketAtStart
import mockwebserver3.junit5.internal.MockWebServerInstance
import okhttp3.CallEvent.CallEnd
import okhttp3.CallEvent.ConnectStart
import okhttp3.CallEvent.ConnectionAcquired
Expand Down Expand Up @@ -154,7 +154,7 @@ open class CallTest {
@BeforeEach
fun setUp(
server: MockWebServer,
@MockWebServerInstance("server2") server2: MockWebServer,
@Named("server2") server2: MockWebServer,
) {
this.server = server
this.server2 = server2
Expand Down
4 changes: 2 additions & 2 deletions okhttp/src/test/java/okhttp3/RouteFailureTest.kt
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,10 @@ import java.net.InetAddress
import java.net.InetSocketAddress
import java.net.Proxy
import java.net.SocketTimeoutException
import javax.inject.Named
import mockwebserver3.MockResponse
import mockwebserver3.MockWebServer
import mockwebserver3.SocketPolicy.ResetStreamAtStart
import mockwebserver3.junit5.internal.MockWebServerInstance
import okhttp3.internal.http.RecordingProxySelector
import okhttp3.internal.http2.ErrorCode
import okhttp3.testing.PlatformRule
Expand Down Expand Up @@ -68,7 +68,7 @@ class RouteFailureTest {
@BeforeEach
fun setUp(
server: MockWebServer,
@MockWebServerInstance("server2") server2: MockWebServer,
@Named("server2") server2: MockWebServer,
) {
this.server1 = server
this.server2 = server2
Expand Down
4 changes: 2 additions & 2 deletions okhttp/src/test/java/okhttp3/URLConnectionTest.kt
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,7 @@ import java.util.Locale
import java.util.concurrent.TimeUnit
import java.util.concurrent.atomic.AtomicReference
import java.util.zip.GZIPInputStream
import javax.inject.Named
import javax.net.SocketFactory
import javax.net.ssl.SSLException
import javax.net.ssl.SSLHandshakeException
Expand All @@ -75,7 +76,6 @@ import mockwebserver3.SocketPolicy.DisconnectAtEnd
import mockwebserver3.SocketPolicy.FailHandshake
import mockwebserver3.SocketPolicy.ShutdownInputAtEnd
import mockwebserver3.SocketPolicy.ShutdownOutputAtEnd
import mockwebserver3.junit5.internal.MockWebServerInstance
import okhttp3.Credentials.basic
import okhttp3.Headers.Companion.headersOf
import okhttp3.HttpUrl.Companion.toHttpUrl
Expand Down Expand Up @@ -130,7 +130,7 @@ class URLConnectionTest {
@BeforeEach
fun setUp(
server: MockWebServer,
@MockWebServerInstance("server2") server2: MockWebServer,
@Named("server2") server2: MockWebServer,
) {
this.server = server
this.server2 = server2
Expand Down