java.lang.Object
org.evomaster.client.java.controller.problem.rpc.schema.InterfaceSchema

public final class InterfaceSchema extends Object
schema dto of the RCP service
  • Constructor Details

    • InterfaceSchema

      public InterfaceSchema(String name, List<EndpointSchema> endpoints, String client, RPCType rpcType)
      Parameters:
      name - is the name of the interface
      endpoints - is a list of endpoints which are involved for testing
      client - is the client name
      rpcType - is the rpc type
    • InterfaceSchema

      public InterfaceSchema(String name, List<EndpointSchema> endpoints, String client, RPCType rpcType, List<String> skippedEndpoints, Map<Integer,EndpointSchema> authEndpoints, List<EndpointSchema> endpointsForAuth)
      Parameters:
      name - is the name of the interface
      endpoints - is a list of endpoints which are involved for testing
      client - is the client name
      rpcType - is the rpc type
      skippedEndpoints - is a list of endpoints which are specified to be skipped
      authEndpoints - is a map of authentication info which could be handled with the endpoint key - index of authentication info in the driver value - the endpoint which contains concrete info for its invocation
      endpointsForAuth - is a list of endpoints in this interface that are responsible for auth setup
  • Method Details

    • getAuthEndpoints

      public Map<Integer,EndpointSchema> getAuthEndpoints()
    • registerType

      public void registerType(TypeSchema type, NamedTypedValue param, boolean isTypeToIdentify)
      this method is used to collect all objects in sut
      Parameters:
      type - is the type schema of the param for an object
      param - is the concrete param example note that multiple params could belong to the same type schema
      isTypeToIdentify - is the type to identify which likely does not exist in client library
    • getObjParamCollections

      public Map<String,NamedTypedValue> getObjParamCollections()
    • getTypeOrNull

      public TypeSchema getTypeOrNull(String name)
    • getEndpoints

      public List<EndpointSchema> getEndpoints()
    • getRpcType

      public RPCType getRpcType()
    • findEndpoints

      public List<EndpointSchema> findEndpoints(String name)
      find endpoints based on the name note that [endpoints] and [endpointsForAuth] contains all endpoints could be invoked in this interface
      Parameters:
      name - is the name of an endpoint
      Returns:
      a list of endpoints based on the specified name
    • getOneEndpoint

      public EndpointSchema getOneEndpoint(RPCActionDto dto)
      Parameters:
      dto - is a rpc action dto
      Returns:
      one endpoint based on an action dto note that there should only exist one endpoint which conforms with the specified dto.
    • getOneEndpointWithSeededDto

      public EndpointSchema getOneEndpointWithSeededDto(SeededRPCActionDto dto)
      find an endpoint in this interface with seeded schema
      Parameters:
      dto - the seeded rpc action dto
      Returns:
      an endpoint schema
    • getName

      public String getName()
    • getClientInfo

      public String getClientInfo()
    • getTypeCollections

      public Map<String,TypeSchema> getTypeCollections()
    • getDto

      public RPCInterfaceSchemaDto getDto()
      Returns:
      a dto of the RPC interface schema which would be sent to core as a part of sut info