Interface DataProvider

All Known Implementing Classes:
GroovyDataProvider

public interface DataProvider
DataProvider is a facility used for getting (reading/generating) data for Contract test suite.
Author:
Dan Vernon
  • Method Details

    • get

      Object get(Class<?> dataTypeName, String name, String componentName, int sequenceNumber, boolean isMultivalue)
      Gets data value by the specified parameters
      Parameters:
      dataTypeName -
      name -
      componentName -
      sequenceNumber -
      isMultivalue - switch between single and multivalue query
      Returns:
      Throws:
      ObjectNotFoundException
    • get

      Object get(Class<?> dataTypeName, String name, String componentName)
      Gets data value by the specified parameters
      Parameters:
      dataTypeName -
      name -
      componentName -
      Returns:
      Throws:
      ObjectNotFoundException
    • getString

      String getString(String name, String componentName, int sequenceNumber)
      Gets data value by the specified parameters
      Parameters:
      name -
      componentName -
      sequenceNumber -
      Returns:
      Throws:
      ObjectNotFoundException
    • getString

      String getString(String name, String componentName)
      Gets data value by the specified parameters
      Parameters:
      name -
      componentName -
      Returns:
      Throws:
      ObjectNotFoundException
    • getConnectorAttribute

      Object getConnectorAttribute(String propName)
      Gets data value by the specified parameters
      Parameters:
      propName -
      Returns:
      Throws:
      ObjectNotFoundException
    • getTestSuiteAttribute

      Object getTestSuiteAttribute(String propName)
      Gets test suite attribute
      Parameters:
      propName -
      Returns:
      Throws:
      ObjectNotFoundException
    • getTestSuiteAttribute

      Object getTestSuiteAttribute(String propName, String testName)
      Gets test suite attribute
      Parameters:
      propName -
      Returns:
      Throws:
      ObjectNotFoundException
    • get

      Object get(String name)
      Acquire a property value for given name
    • get

      Object get(String name, int sequenceNumber)
      Aquire a property value marked with given iteration, for example i1.testProperty
      Parameters:
      name - the suffix
      sequenceNumber -
      Returns:
      the property value
    • generate

      Object generate(String pattern, Class<?> clazz)

      Random generator uses a pattern to generate a random sequence based on given pattern.

      the supported characters are (can appear in pattern string):

      • # - numeric
      • a - lowercase letter
      • A - uppercase letter
      • ? - lowercase and uppercase letter
      • . - any character

      Any other character inside the pattern is directly printed to the output.

      Backslash is used to escape any character. For instance pattern "###\\.##" prints a floating point random number

      Parameters:
      pattern - the pattern for generation
      clazz - the type of returned random object
      Returns:
      randomly generated object with content based on given type.
    • generate

      Object generate(String pattern)
      generates a random string dynamically. generate(String, Class)
    • loadConfiguration

      void loadConfiguration(String propertyName, Configuration cfg)
      adds to 'cfg' the complete map defined by property 'propertyName'
      Parameters:
      propertyName - the name of property which represents the submap that will be converted to configuration
      cfg - the configuration that will be updated by information from property 'propertyName'

      Sample usage:

           static final String DEFAULT_CONFIGURATINON = "configuration.init"
      
           // attempt to create the database in the directory..
           config = new ConnectorConfiguration();
      
           // LOAD THE submap in 'configuration' prefix to 'config' object.
           dataProvider.loadConfiguration(DEFAULT_CONFIGURATINON, config);
       //////// The groovy configuration
      
           // account configurations
           configuration{
             init.driver="foo"
             init.hostName="bar"
             init.port="boo"
           }
       
      Throws:
      NoSuchMethodException - the Setter method for the property in the configuration does not exist
      IllegalAccessException
      InvocationTargetException
      SecurityException
    • getAttributeSet

      Set<Attribute> getAttributeSet(String propertySetName)
      converts the given property submap to Attribute set.
      Parameters:
      propertySetName - the property that marks the submap for conversion.
      Returns:
      the converted attribute set

      Sample usage:

        createAttrs = dataProvider.getAttributeSet("account.create");
      
        //////// The groovy configuration
      
           // account sets
           account{
             create.driver="foo"
             create.hostName="bar"
             create.port="boo"
      
             update.driver="foo2"
             update.hostName="bar2"
             update.port="boo2"
           }
       
    • dispose

      void dispose()
      free the allocated resources