java.lang.Object
org.springframework.cloud.contract.stubrunner.junit.StubRunnerRule
All Implemented Interfaces:
org.junit.rules.TestRule, StubFinder, StubTrigger
Direct Known Subclasses:
StubRunnerRule.PortStubRunnerRule

public class StubRunnerRule extends Object implements org.junit.rules.TestRule, StubFinder
JUnit class rule that allows you to download the provided stubs.
Author:
Marcin Grzejszczak
  • Constructor Details

    • StubRunnerRule

      public StubRunnerRule()
  • Method Details

    • apply

      public org.junit.runners.model.Statement apply(org.junit.runners.model.Statement base, org.junit.runner.Description description)
      Specified by:
      apply in interface org.junit.rules.TestRule
    • messageVerifierSender

      public StubRunnerRule messageVerifierSender(org.springframework.cloud.contract.verifier.messaging.MessageVerifierSender messageVerifier)
    • messageVerifierReceiver

      public StubRunnerRule messageVerifierReceiver(org.springframework.cloud.contract.verifier.messaging.MessageVerifierReceiver messageVerifier)
    • options

      public StubRunnerRule options(StubRunnerOptions stubRunnerOptions)
    • minPort

      public StubRunnerRule minPort(int minPort)
    • maxPort

      public StubRunnerRule maxPort(int maxPort)
    • repoRoot

      public StubRunnerRule repoRoot(String repoRoot)
    • stubsMode

      public StubRunnerRule stubsMode(StubRunnerProperties.StubsMode stubsMode)
    • downloadStub

      public StubRunnerRule.PortStubRunnerRule downloadStub(String groupId, String artifactId, String version, String classifier)
    • downloadLatestStub

      public StubRunnerRule.PortStubRunnerRule downloadLatestStub(String groupId, String artifactId, String classifier)
    • downloadStub

      public StubRunnerRule.PortStubRunnerRule downloadStub(String groupId, String artifactId, String version)
    • downloadStub

      public StubRunnerRule.PortStubRunnerRule downloadStub(String groupId, String artifactId)
    • downloadStub

      public StubRunnerRule.PortStubRunnerRule downloadStub(String ivyNotation)
    • downloadStubs

      public StubRunnerRule downloadStubs(String... ivyNotations)
    • downloadStubs

      public StubRunnerRule downloadStubs(List<String> ivyNotations)
    • withStubPerConsumer

      public StubRunnerRule withStubPerConsumer(boolean stubPerConsumer)
    • withConsumerName

      public StubRunnerRule withConsumerName(String consumerName)
    • withMappingsOutputFolder

      public StubRunnerRule withMappingsOutputFolder(String mappingsOutputFolder)
    • withDeleteStubsAfterTest

      public StubRunnerRule withDeleteStubsAfterTest(boolean deleteStubsAfterTest)
    • withGenerateStubs

      public StubRunnerRule withGenerateStubs(boolean generateStubs)
    • failOnNoStubs

      public StubRunnerRule failOnNoStubs(boolean failOnNoStubs)
    • withProperties

      public StubRunnerRule withProperties(Map<String,String> properties)
    • withHttpServerStubConfigurer

      public StubRunnerRule withHttpServerStubConfigurer(Class<? extends HttpServerStubConfigurer> httpServerStubConfigurer)
    • findStubUrl

      public URL findStubUrl(String groupId, String artifactId)
      Description copied from interface: StubFinder
      For the given groupId and artifactId tries to find the matching URL of the running stub.
      Specified by:
      findStubUrl in interface StubFinder
      Parameters:
      groupId - - might be null. In that case a search only via artifactId takes place
      artifactId - - artifact id of the stub
      Returns:
      URL of a running stub or throws exception if not found
    • findStubUrl

      public URL findStubUrl(String ivyNotation)
      Description copied from interface: StubFinder
      For the given Ivy notation [groupId]:artifactId:[version]:[classifier] tries to find the matching URL of the running stub. You can also pass only artifactId.
      Specified by:
      findStubUrl in interface StubFinder
      Parameters:
      ivyNotation - - Ivy representation of the Maven artifact
      Returns:
      URL of a running stub or throws exception if not found
    • findAllRunningStubs

      public RunningStubs findAllRunningStubs()
      Specified by:
      findAllRunningStubs in interface StubFinder
      Returns:
      all running stubs
    • getContracts

      public Map<StubConfiguration,Collection<org.springframework.cloud.contract.spec.Contract>> getContracts()
      Specified by:
      getContracts in interface StubFinder
      Returns:
      the list of Contracts
    • trigger

      public boolean trigger(String ivyNotation, String labelName)
      Description copied from interface: StubTrigger
      Triggers an event by a given label for a given groupid:artifactid notation. You can use only artifactId too. Feature related to messaging.
      Specified by:
      trigger in interface StubTrigger
      Parameters:
      ivyNotation - ivy notation of a stub
      labelName - name of the label to trigger
      Returns:
      true - if managed to run a trigger
    • trigger

      public boolean trigger(String labelName)
      Description copied from interface: StubTrigger
      Triggers an event by a given label. Feature related to messaging.
      Specified by:
      trigger in interface StubTrigger
      Parameters:
      labelName - name of the label to trigger
      Returns:
      true - if managed to run a trigger
    • trigger

      public boolean trigger()
      Description copied from interface: StubTrigger
      Triggers all possible events. Feature related to messaging.
      Specified by:
      trigger in interface StubTrigger
      Returns:
      true - if managed to run a trigger
    • labels

      public Map<String,Collection<String>> labels()
      Description copied from interface: StubTrigger
      Feature related to messaging.
      Specified by:
      labels in interface StubTrigger
      Returns:
      a mapping of ivy notation of a dependency to all the labels it has.