Skip to content

Commit 6ad669e

Browse files
committed
chore: Fix static code errors #1815
1 parent ff652bf commit 6ad669e

File tree

3 files changed

+37
-16
lines changed

3 files changed

+37
-16
lines changed

consumer/junit5/src/main/kotlin/au/com/dius/pact/consumer/junit5/AsynchronousMessageContext.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,4 @@ class AsynchronousMessageContext(
99
override fun getDisplayName(invocationIndex: Int): String {
1010
return message.description
1111
}
12-
}
12+
}

consumer/junit5/src/main/kotlin/au/com/dius/pact/consumer/junit5/PactConsumerTest.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,4 @@ import java.lang.annotation.RetentionPolicy
1212
@Target(
1313
AnnotationTarget.ANNOTATION_CLASS, AnnotationTarget.CLASS
1414
)
15-
annotation class PactConsumerTest
15+
annotation class PactConsumerTest

consumer/junit5/src/main/kotlin/au/com/dius/pact/consumer/junit5/PactConsumerTestExt.kt

+35-14
Original file line numberDiff line numberDiff line change
@@ -30,11 +30,19 @@ import au.com.dius.pact.core.support.expressions.DataType
3030
import au.com.dius.pact.core.support.expressions.ExpressionParser
3131
import au.com.dius.pact.core.support.isNotEmpty
3232
import io.github.oshai.kotlinlogging.KLogging
33-
import org.apache.hc.core5.util.ReflectionUtils
3433
import org.junit.jupiter.api.Disabled
3534
import org.junit.jupiter.api.Nested
3635
import org.junit.jupiter.api.TestTemplate
37-
import org.junit.jupiter.api.extension.*
36+
import org.junit.jupiter.api.extension.AfterAllCallback
37+
import org.junit.jupiter.api.extension.AfterTestExecutionCallback
38+
import org.junit.jupiter.api.extension.BeforeAllCallback
39+
import org.junit.jupiter.api.extension.BeforeTestExecutionCallback
40+
import org.junit.jupiter.api.extension.Extension
41+
import org.junit.jupiter.api.extension.ExtensionContext
42+
import org.junit.jupiter.api.extension.ParameterContext
43+
import org.junit.jupiter.api.extension.ParameterResolver
44+
import org.junit.jupiter.api.extension.TestTemplateInvocationContext
45+
import org.junit.jupiter.api.extension.TestTemplateInvocationContextProvider
3846
import org.junit.platform.commons.support.AnnotationSupport
3947
import org.junit.platform.commons.support.HierarchyTraversalMode
4048
import org.junit.platform.commons.support.ReflectionSupport
@@ -45,6 +53,10 @@ import java.util.concurrent.ConcurrentHashMap
4553
import java.util.stream.Stream
4654
import kotlin.reflect.full.findAnnotation
4755

56+
private const val PACT_DSL_WITH_PROVIDER = "au.com.dius.pact.consumer.dsl.PactDslWithProvider"
57+
private const val MESSAGE_PACT_BUILDER = "au.com.dius.pact.consumer.MessagePactBuilder"
58+
private const val SYNCHRONOUS_MESSAGE_PACT_BUILDER = "au.com.dius.pact.consumer.dsl.SynchronousMessagePactBuilder"
59+
4860
class PactConsumerTestExt : Extension, BeforeTestExecutionCallback, BeforeAllCallback, ParameterResolver,
4961
AfterTestExecutionCallback, AfterAllCallback, TestTemplateInvocationContextProvider {
5062

@@ -107,10 +119,14 @@ class PactConsumerTestExt : Extension, BeforeTestExecutionCallback, BeforeAllCal
107119
return testTemplate != null && testTemplate.parameters[0].type == AsynchronousMessageContext::class.java
108120
}
109121

110-
override fun provideTestTemplateInvocationContexts(extensionContext: ExtensionContext): Stream<TestTemplateInvocationContext> {
122+
override fun provideTestTemplateInvocationContexts(
123+
extensionContext: ExtensionContext
124+
): Stream<TestTemplateInvocationContext> {
111125
val providerInfo = this.lookupProviderInfo(extensionContext)
112126
val pact = setupPactForTest(providerInfo[0].first, providerInfo[0].second, extensionContext)
113-
return pact.asV4Pact().unwrap().interactions.map { AsynchronousMessageContext(it.asAsynchronousMessage()!!) }.stream() as Stream<TestTemplateInvocationContext>
127+
return pact.asV4Pact().unwrap().interactions.map {
128+
AsynchronousMessageContext(it.asAsynchronousMessage()!!)
129+
}.stream() as Stream<TestTemplateInvocationContext>
114130
}
115131

116132
override fun resolveParameter(parameterContext: ParameterContext, extensionContext: ExtensionContext): Any {
@@ -271,8 +287,8 @@ class PactConsumerTestExt : Extension, BeforeTestExecutionCallback, BeforeAllCal
271287
val key = "pact:${providerInfo.providerName}"
272288
var methods = pactMethods
273289
if (methods.isEmpty()) {
274-
methods = AnnotationSupport.findAnnotatedMethods(context.requiredTestClass, Pact::class.java, HierarchyTraversalMode.TOP_DOWN)
275-
.map { m -> m.name}
290+
methods = AnnotationSupport.findAnnotatedMethods(context.requiredTestClass, Pact::class.java,
291+
HierarchyTraversalMode.TOP_DOWN).map { m -> m.name}
276292
}
277293

278294
return when {
@@ -513,19 +529,23 @@ class PactConsumerTestExt : Extension, BeforeTestExecutionCallback, BeforeAllCal
513529
if (method == null) {
514530
throw UnsupportedOperationException("No method annotated with @Pact was found on test class " +
515531
context.requiredTestClass.simpleName + " for provider '${providerInfo.providerName}'")
516-
} else if (providerType == ProviderType.SYNCH && !JUnitTestSupport.conformsToSignature(method, providerInfo.pactVersion ?: PactSpecVersion.V4)) {
532+
} else if (providerType == ProviderType.SYNCH &&
533+
!JUnitTestSupport.conformsToSignature(method, providerInfo.pactVersion ?: PactSpecVersion.V4)) {
517534
throw UnsupportedOperationException("Method ${method.name} does not conform to required method signature " +
518535
"'public [RequestResponsePact|V4Pact] xxx(PactBuilder builder)'")
519-
} else if (providerType == ProviderType.ASYNCH && !JUnitTestSupport.conformsToMessagePactSignature(method, providerInfo.pactVersion ?: PactSpecVersion.V4)) {
536+
} else if (providerType == ProviderType.ASYNCH &&
537+
!JUnitTestSupport.conformsToMessagePactSignature(method, providerInfo.pactVersion ?: PactSpecVersion.V4)) {
520538
throw UnsupportedOperationException("Method ${method.name} does not conform to required method signature " +
521539
"'public [MessagePact|V4Pact] xxx(PactBuilder builder)'")
522-
} else if (providerType == ProviderType.SYNCH_MESSAGE && !JUnitTestSupport.conformsToSynchMessagePactSignature(method, providerInfo.pactVersion ?: PactSpecVersion.V4)) {
540+
} else if (providerType == ProviderType.SYNCH_MESSAGE &&
541+
!JUnitTestSupport.conformsToSynchMessagePactSignature(method, providerInfo.pactVersion ?: PactSpecVersion.V4)) {
523542
throw UnsupportedOperationException("Method ${method.name} does not conform to required method signature " +
524543
"'public V4Pact xxx(PactBuilder builder)'")
525544
}
526545

527546
val pactAnnotation = AnnotationSupport.findAnnotation(method, Pact::class.java).get()
528-
val pactConsumer = ep.parseExpression(pactAnnotation.consumer, DataType.STRING)?.toString() ?: pactAnnotation.consumer
547+
val pactConsumer = ep.parseExpression(pactAnnotation.consumer, DataType.STRING)?.toString()
548+
?: pactAnnotation.consumer
529549
logger.debug {
530550
"Invoking method '${method.name}' to get Pact for the test " +
531551
"'${context.testMethod.map { it.name }.orElse("unknown")}'"
@@ -535,7 +555,7 @@ class PactConsumerTestExt : Extension, BeforeTestExecutionCallback, BeforeAllCal
535555
val providerNameToUse = if (provider.isNullOrEmpty()) providerName else provider
536556
val pact = when (providerType) {
537557
ProviderType.SYNCH, ProviderType.UNSPECIFIED -> {
538-
if (method.parameterTypes[0].isAssignableFrom(Class.forName("au.com.dius.pact.consumer.dsl.PactDslWithProvider"))) {
558+
if (method.parameterTypes[0].isAssignableFrom(Class.forName(PACT_DSL_WITH_PROVIDER))) {
539559
val consumerPactBuilder = ConsumerPactBuilder.consumer(pactConsumer)
540560
if (providerInfo.pactVersion != null) {
541561
consumerPactBuilder.pactSpecVersion(providerInfo.pactVersion)
@@ -551,7 +571,7 @@ class PactConsumerTestExt : Extension, BeforeTestExecutionCallback, BeforeAllCal
551571
}
552572
}
553573
ProviderType.ASYNCH -> {
554-
if (method.parameterTypes[0].isAssignableFrom(Class.forName("au.com.dius.pact.consumer.MessagePactBuilder"))) {
574+
if (method.parameterTypes[0].isAssignableFrom(Class.forName(MESSAGE_PACT_BUILDER))) {
555575
ReflectionSupport.invokeMethod(
556576
method, context.testInstance,
557577
MessagePactBuilder(providerInfo.pactVersion ?: PactSpecVersion.V3)
@@ -566,7 +586,7 @@ class PactConsumerTestExt : Extension, BeforeTestExecutionCallback, BeforeAllCal
566586
}
567587
}
568588
ProviderType.SYNCH_MESSAGE -> {
569-
if (method.parameterTypes[0].isAssignableFrom(Class.forName("au.com.dius.pact.consumer.dsl.SynchronousMessagePactBuilder"))) {
589+
if (method.parameterTypes[0].isAssignableFrom(Class.forName(SYNCHRONOUS_MESSAGE_PACT_BUILDER))) {
570590
ReflectionSupport.invokeMethod(
571591
method, context.requiredTestInstance,
572592
SynchronousMessagePactBuilder(providerInfo.pactVersion ?: PactSpecVersion.V4)
@@ -642,7 +662,8 @@ class PactConsumerTestExt : Extension, BeforeTestExecutionCallback, BeforeAllCal
642662
} else {
643663
JUnitTestSupport.validateMockServerResult(result)
644664
}
645-
} else if (provider.providerType == ProviderType.ASYNCH || provider.providerType == ProviderType.SYNCH_MESSAGE) {
665+
} else if (provider.providerType == ProviderType.ASYNCH ||
666+
provider.providerType == ProviderType.SYNCH_MESSAGE) {
646667
if (!context.executionException.isPresent) {
647668
storePactForWrite(store, provider, null)
648669
}

0 commit comments

Comments
 (0)