CORDA-716 Configure api scanner for test modules (#2259)

This commit is contained in:
Andrzej Cichocki 2018-01-04 10:09:04 +00:00 committed by GitHub
parent d84105b60e
commit 8a3299fa2a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
15 changed files with 32 additions and 1 deletions

View File

@ -3522,6 +3522,9 @@ public static final class net.corda.client.jackson.StringToMethodCallParser$Unpa
public <init>(String) public <init>(String)
@org.jetbrains.annotations.NotNull public final String getMethodName() @org.jetbrains.annotations.NotNull public final String getMethodName()
## ##
public static interface net.corda.testing.node.InMemoryMessagingNetwork$LatencyCalculator
@org.jetbrains.annotations.NotNull public abstract java.time.Duration between(net.corda.core.messaging.SingleMessageRecipient, net.corda.core.messaging.SingleMessageRecipient)
##
public final class net.corda.client.rpc.CordaRPCClient extends java.lang.Object public final class net.corda.client.rpc.CordaRPCClient extends java.lang.Object
public <init>(net.corda.core.utilities.NetworkHostAndPort) public <init>(net.corda.core.utilities.NetworkHostAndPort)
public <init>(net.corda.core.utilities.NetworkHostAndPort, net.corda.client.rpc.CordaRPCClientConfiguration) public <init>(net.corda.core.utilities.NetworkHostAndPort, net.corda.client.rpc.CordaRPCClientConfiguration)

View File

@ -2,6 +2,7 @@ apply plugin: 'kotlin'
apply plugin: 'kotlin-jpa' apply plugin: 'kotlin-jpa'
apply plugin: 'net.corda.plugins.quasar-utils' apply plugin: 'net.corda.plugins.quasar-utils'
apply plugin: 'net.corda.plugins.publish-utils' apply plugin: 'net.corda.plugins.publish-utils'
apply plugin: 'net.corda.plugins.api-scanner'
apply plugin: 'com.jfrog.artifactory' apply plugin: 'com.jfrog.artifactory'
//noinspection GroovyAssignabilityCheck //noinspection GroovyAssignabilityCheck

View File

@ -3,6 +3,7 @@
package net.corda.testing.driver package net.corda.testing.driver
import net.corda.client.rpc.CordaRPCClient import net.corda.client.rpc.CordaRPCClient
import net.corda.core.DoNotImplement
import net.corda.core.concurrent.CordaFuture import net.corda.core.concurrent.CordaFuture
import net.corda.core.identity.CordaX500Name import net.corda.core.identity.CordaX500Name
import net.corda.core.identity.Party import net.corda.core.identity.Party
@ -30,6 +31,7 @@ import java.util.concurrent.atomic.AtomicInteger
*/ */
data class NotaryHandle(val identity: Party, val validating: Boolean, val nodeHandles: CordaFuture<List<NodeHandle>>) data class NotaryHandle(val identity: Party, val validating: Boolean, val nodeHandles: CordaFuture<List<NodeHandle>>)
@DoNotImplement
sealed class NodeHandle { sealed class NodeHandle {
abstract val nodeInfo: NodeInfo abstract val nodeInfo: NodeInfo
/** /**
@ -90,6 +92,7 @@ data class WebserverHandle(
val process: Process val process: Process
) )
@DoNotImplement
sealed class PortAllocation { sealed class PortAllocation {
abstract fun nextPort(): Int abstract fun nextPort(): Int
fun nextHostAndPort() = NetworkHostAndPort("localhost", nextPort()) fun nextHostAndPort() = NetworkHostAndPort("localhost", nextPort())

View File

@ -1,5 +1,6 @@
package net.corda.testing.driver package net.corda.testing.driver
import net.corda.core.DoNotImplement
import net.corda.core.concurrent.CordaFuture import net.corda.core.concurrent.CordaFuture
import net.corda.core.identity.CordaX500Name import net.corda.core.identity.CordaX500Name
import net.corda.core.identity.Party import net.corda.core.identity.Party
@ -10,6 +11,7 @@ import net.corda.nodeapi.internal.config.User
import net.corda.testing.node.NotarySpec import net.corda.testing.node.NotarySpec
import java.nio.file.Path import java.nio.file.Path
@DoNotImplement
interface DriverDSL { interface DriverDSL {
/** Returns a list of [NotaryHandle]s matching the list of [NotarySpec]s passed into [driver]. */ /** Returns a list of [NotaryHandle]s matching the list of [NotarySpec]s passed into [driver]. */
val notaryHandles: List<NotaryHandle> val notaryHandles: List<NotaryHandle>

View File

@ -1,5 +1,6 @@
package net.corda.testing.node package net.corda.testing.node
import net.corda.core.DoNotImplement
import net.corda.core.crypto.CompositeKey import net.corda.core.crypto.CompositeKey
import net.corda.core.identity.CordaX500Name import net.corda.core.identity.CordaX500Name
import net.corda.core.identity.Party import net.corda.core.identity.Party
@ -120,7 +121,7 @@ class InMemoryMessagingNetwork internal constructor(
} }
} }
interface LatencyCalculator { interface LatencyCalculator { // XXX: Used?
fun between(sender: SingleMessageRecipient, receiver: SingleMessageRecipient): Duration fun between(sender: SingleMessageRecipient, receiver: SingleMessageRecipient): Duration
} }
@ -178,6 +179,7 @@ class InMemoryMessagingNetwork internal constructor(
/** /**
* Mock service loadbalancing * Mock service loadbalancing
*/ */
@DoNotImplement
sealed class ServicePeerAllocationStrategy { sealed class ServicePeerAllocationStrategy {
abstract fun <A> pickNext(service: ServiceHandle, pickFrom: List<A>): A abstract fun <A> pickNext(service: ServiceHandle, pickFrom: List<A>): A
class Random(val random: SplittableRandom = SplittableRandom()) : ServicePeerAllocationStrategy() { class Random(val random: SplittableRandom = SplittableRandom()) : ServicePeerAllocationStrategy() {

View File

@ -4,6 +4,7 @@ import com.google.common.jimfs.Configuration.unix
import com.google.common.jimfs.Jimfs import com.google.common.jimfs.Jimfs
import com.nhaarman.mockito_kotlin.doReturn import com.nhaarman.mockito_kotlin.doReturn
import com.nhaarman.mockito_kotlin.whenever import com.nhaarman.mockito_kotlin.whenever
import net.corda.core.DoNotImplement
import net.corda.core.crypto.entropyToKeyPair import net.corda.core.crypto.entropyToKeyPair
import net.corda.core.crypto.random63BitValue import net.corda.core.crypto.random63BitValue
import net.corda.core.identity.CordaX500Name import net.corda.core.identity.CordaX500Name
@ -490,6 +491,7 @@ fun StartedNode<MockNetwork.MockNode>.setMessagingServiceSpy(messagingServiceSpy
} }
private fun mockNodeConfiguration(): NodeConfiguration { private fun mockNodeConfiguration(): NodeConfiguration {
@DoNotImplement
abstract class AbstractNodeConfiguration : NodeConfiguration abstract class AbstractNodeConfiguration : NodeConfiguration
return rigorousMock<AbstractNodeConfiguration>().also { return rigorousMock<AbstractNodeConfiguration>().also {
doReturn("cordacadevpass").whenever(it).keyStorePassword doReturn("cordacadevpass").whenever(it).keyStorePassword

View File

@ -1,5 +1,6 @@
package net.corda.testing.node package net.corda.testing.node
import net.corda.core.DoNotImplement
import net.corda.core.identity.CordaX500Name import net.corda.core.identity.CordaX500Name
import net.corda.node.services.config.VerifierType import net.corda.node.services.config.VerifierType
import net.corda.nodeapi.internal.config.User import net.corda.nodeapi.internal.config.User
@ -12,6 +13,7 @@ data class NotarySpec(
val cluster: ClusterSpec? = null val cluster: ClusterSpec? = null
) )
@DoNotImplement
sealed class ClusterSpec { sealed class ClusterSpec {
abstract val clusterSize: Int abstract val clusterSize: Int

View File

@ -1,4 +1,5 @@
apply plugin: 'net.corda.plugins.publish-utils' apply plugin: 'net.corda.plugins.publish-utils'
apply plugin: 'net.corda.plugins.api-scanner'
apply plugin: 'com.jfrog.artifactory' apply plugin: 'com.jfrog.artifactory'
dependencies { dependencies {

View File

@ -2,6 +2,7 @@ apply plugin: 'kotlin'
apply plugin: 'kotlin-jpa' apply plugin: 'kotlin-jpa'
apply plugin: 'net.corda.plugins.quasar-utils' apply plugin: 'net.corda.plugins.quasar-utils'
apply plugin: 'net.corda.plugins.publish-utils' apply plugin: 'net.corda.plugins.publish-utils'
apply plugin: 'net.corda.plugins.api-scanner'
apply plugin: 'com.jfrog.artifactory' apply plugin: 'com.jfrog.artifactory'
description 'Testing utilities for Corda' description 'Testing utilities for Corda'

View File

@ -1,6 +1,7 @@
package net.corda.testing package net.corda.testing
import com.google.common.util.concurrent.SettableFuture import com.google.common.util.concurrent.SettableFuture
import net.corda.core.DoNotImplement
import net.corda.core.internal.uncheckedCast import net.corda.core.internal.uncheckedCast
import net.corda.core.utilities.getOrThrow import net.corda.core.utilities.getOrThrow
import org.slf4j.Logger import org.slf4j.Logger
@ -189,6 +190,7 @@ fun <S, E : Any> S.genericExpectEvents(
finishFuture.getOrThrow() finishFuture.getOrThrow()
} }
@DoNotImplement
sealed class ExpectCompose<out E> { sealed class ExpectCompose<out E> {
internal class Single<out E, T : E>(val expect: Expect<E, T>) : ExpectCompose<E>() internal class Single<out E, T : E>(val expect: Expect<E, T>) : ExpectCompose<E>()
internal class Sequential<out E>(val sequence: List<ExpectCompose<E>>) : ExpectCompose<E>() internal class Sequential<out E>(val sequence: List<ExpectCompose<E>>) : ExpectCompose<E>()

View File

@ -2,6 +2,7 @@ package net.corda.testing
import com.nhaarman.mockito_kotlin.* import com.nhaarman.mockito_kotlin.*
import net.corda.client.rpc.internal.KryoClientSerializationScheme import net.corda.client.rpc.internal.KryoClientSerializationScheme
import net.corda.core.DoNotImplement
import net.corda.core.internal.staticField import net.corda.core.internal.staticField
import net.corda.core.serialization.internal.* import net.corda.core.serialization.internal.*
import net.corda.node.serialization.KryoServerSerializationScheme import net.corda.node.serialization.KryoServerSerializationScheme
@ -62,6 +63,7 @@ class SerializationEnvironmentRule(private val inheritable: Boolean = false) : T
} }
} }
@DoNotImplement
interface GlobalSerializationEnvironment : SerializationEnvironment { interface GlobalSerializationEnvironment : SerializationEnvironment {
/** Unset this environment. */ /** Unset this environment. */
fun unset() fun unset()

View File

@ -1,5 +1,6 @@
package net.corda.testing.contracts package net.corda.testing.contracts
import net.corda.core.DoNotImplement
import net.corda.core.contracts.* import net.corda.core.contracts.*
import net.corda.core.identity.AbstractParty import net.corda.core.identity.AbstractParty
import net.corda.core.identity.Party import net.corda.core.identity.Party
@ -12,6 +13,7 @@ data class DummyContract(val blank: Any? = null) : Contract {
val PROGRAM_ID = "net.corda.testing.contracts.DummyContract" val PROGRAM_ID = "net.corda.testing.contracts.DummyContract"
@DoNotImplement // State is effectively a sealed class.
interface State : ContractState { interface State : ContractState {
val magicNumber: Int val magicNumber: Int
} }

View File

@ -1,5 +1,6 @@
package net.corda.testing.dsl package net.corda.testing.dsl
import net.corda.core.DoNotImplement
import net.corda.core.contracts.ContractState import net.corda.core.contracts.ContractState
import net.corda.core.contracts.StateAndRef import net.corda.core.contracts.StateAndRef
import net.corda.core.contracts.TransactionState import net.corda.core.contracts.TransactionState
@ -14,6 +15,7 @@ import java.io.InputStream
* This interface defines output state lookup by label. It is split from the interpreter interfaces so that outputs may * This interface defines output state lookup by label. It is split from the interpreter interfaces so that outputs may
* be looked up both in ledger{..} and transaction{..} blocks. * be looked up both in ledger{..} and transaction{..} blocks.
*/ */
@DoNotImplement
interface OutputStateLookup { interface OutputStateLookup {
/** /**
* Retrieves an output previously defined by [TransactionDSLInterpreter.output] with a label passed in. * Retrieves an output previously defined by [TransactionDSLInterpreter.output] with a label passed in.
@ -27,6 +29,7 @@ interface OutputStateLookup {
/** /**
* This interface asserts that the DSL at hand is capable of verifying its underlying construct(ledger/transaction). * This interface asserts that the DSL at hand is capable of verifying its underlying construct(ledger/transaction).
*/ */
@DoNotImplement
interface Verifies { interface Verifies {
/** /**
* Verifies the ledger/transaction, throws if the verification fails. * Verifies the ledger/transaction, throws if the verification fails.
@ -83,6 +86,7 @@ interface Verifies {
* *
* TODO (Kotlin 1.1): Use type synonyms to make the type params less unwieldy * TODO (Kotlin 1.1): Use type synonyms to make the type params less unwieldy
*/ */
@DoNotImplement
interface LedgerDSLInterpreter<out T : TransactionDSLInterpreter> : Verifies, OutputStateLookup { interface LedgerDSLInterpreter<out T : TransactionDSLInterpreter> : Verifies, OutputStateLookup {
/** /**
* Creates and adds a transaction to the ledger. * Creates and adds a transaction to the ledger.

View File

@ -1,5 +1,6 @@
package net.corda.testing.dsl package net.corda.testing.dsl
import net.corda.core.DoNotImplement
import net.corda.core.contracts.* import net.corda.core.contracts.*
import net.corda.core.cordapp.CordappProvider import net.corda.core.cordapp.CordappProvider
import net.corda.core.crypto.* import net.corda.core.crypto.*
@ -50,6 +51,7 @@ import kotlin.collections.set
* will have as the last line either an accept or a failure test. The name is deliberately long to help make sense of * will have as the last line either an accept or a failure test. The name is deliberately long to help make sense of
* the triggered diagnostic. * the triggered diagnostic.
*/ */
@DoNotImplement
sealed class EnforceVerifyOrFail { sealed class EnforceVerifyOrFail {
internal object Token : EnforceVerifyOrFail() internal object Token : EnforceVerifyOrFail()
} }

View File

@ -1,5 +1,6 @@
package net.corda.testing.dsl package net.corda.testing.dsl
import net.corda.core.DoNotImplement
import net.corda.core.contracts.* import net.corda.core.contracts.*
import net.corda.core.crypto.SecureHash import net.corda.core.crypto.SecureHash
import net.corda.core.identity.Party import net.corda.core.identity.Party
@ -14,6 +15,7 @@ import java.time.Instant
* @param <R> The return type of [verifies]/[failsWith] and the like. It is generic so that we have control over whether * @param <R> The return type of [verifies]/[failsWith] and the like. It is generic so that we have control over whether
* we want to enforce users to call these methods (see [EnforceVerifyOrFail]) or not. * we want to enforce users to call these methods (see [EnforceVerifyOrFail]) or not.
*/ */
@DoNotImplement
interface TransactionDSLInterpreter : Verifies, OutputStateLookup { interface TransactionDSLInterpreter : Verifies, OutputStateLookup {
/** /**
* A reference to the enclosing ledger{..}'s interpreter. * A reference to the enclosing ledger{..}'s interpreter.