Class AsyncApiControlPlaneImpl

java.lang.Object
org.mockserver.async.controlplane.AsyncApiControlPlaneImpl
All Implemented Interfaces:
AsyncApiControlPlane

public class AsyncApiControlPlaneImpl extends Object implements AsyncApiControlPlane
Implementation of AsyncApiControlPlane that lives in the mockserver-async module and is registered into the core's AsyncApiControlPlaneRegistry at server startup.

Handles:

  • Loading AsyncAPI specs via the REST control-plane
  • Creating publishers and subscribers for each channel
  • Schema validation of generated and consumed messages
  • Returning status including recorded messages
  • Resetting all state on server reset
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    com.fasterxml.jackson.databind.JsonNode
    load(String requestBody)
    Load an AsyncAPI spec and start mocking (publishing and/or subscribing).
    static void
    Register this implementation into the core registry.
    void
    Reset all async mocking state — stop publishers/subscribers, clear recorded messages.
    com.fasterxml.jackson.databind.JsonNode
    Return the current status: loaded spec info, active channels, publishers, subscribers, and recorded messages.
    verify(String verificationJson)
    Verify that recorded messages match the given criteria.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • AsyncApiControlPlaneImpl

      public AsyncApiControlPlaneImpl()
  • Method Details

    • registerIfAvailable

      public static void registerIfAvailable()
      Register this implementation into the core registry. Call at server startup (e.g. from MockServerLifeCycle or Main).
    • load

      public com.fasterxml.jackson.databind.JsonNode load(String requestBody)
      Description copied from interface: AsyncApiControlPlane
      Load an AsyncAPI spec and start mocking (publishing and/or subscribing).
      Specified by:
      load in interface AsyncApiControlPlane
      Parameters:
      requestBody - the raw request body — either a plain AsyncAPI spec (JSON/YAML) or a JSON wrapper {"spec": "...", "brokerConfig": {...}}
      Returns:
      a JSON status node describing what was loaded and started
    • status

      public com.fasterxml.jackson.databind.JsonNode status()
      Description copied from interface: AsyncApiControlPlane
      Return the current status: loaded spec info, active channels, publishers, subscribers, and recorded messages.
      Specified by:
      status in interface AsyncApiControlPlane
      Returns:
      a JSON status node
    • verify

      public String verify(String verificationJson)
      Description copied from interface: AsyncApiControlPlane
      Verify that recorded messages match the given criteria.

      The verification request is a JSON string with fields:

      • channel (required) — the channel/topic to check
      • payloadSubstring (optional) — payload must contain this substring
      • payloadJsonPath (optional) — a dot-notation JSON path to extract
      • expectedValue (optional) — the expected value at the JSON path
      • count (optional) — object with atLeast, atMost, or exactly fields; defaults to atLeast: 1
      Specified by:
      verify in interface AsyncApiControlPlane
      Parameters:
      verificationJson - the JSON verification request
      Returns:
      null or empty string if the verification passes; a human-readable failure description if it does not
    • reset

      public void reset()
      Description copied from interface: AsyncApiControlPlane
      Reset all async mocking state — stop publishers/subscribers, clear recorded messages. Called from HttpState.reset().
      Specified by:
      reset in interface AsyncApiControlPlane