Class CustomDb

All Implemented Interfaces:
SqlConfig<CustomDb>, SqlGet, SqlPost

public class CustomDb extends JdbcExecutor<CustomDb>
Class for interacting with custom DB (that not supported by default)

For one instance run recommended: CustomDb db = CustomDb.getInstance()

Supports only basic features:
  • Get all data for allure on failed not supported
  • Get data all data by conditions not supported
  • Get data all data from table not supported
  • Specific conditions(JSON_*, REGEX) not supported (only basic conditions)

Contains methods for:

asserts with await, change data (create, update, clean)
more info JdbcExecutor
  • Field Details

  • Constructor Details

    • CustomDb

      public CustomDb(String dbUrl, String username, String passwd)
      Creates a new Custom database helper instance with the specified connection parameters.
      Parameters:
      dbUrl - the JDBC connection URL for the Custom database
      username - the username used to authenticate with the database
      passwd - the password used to authenticate with the database
      Throws:
      IllegalArgumentException - if any of the required parameters are null or empty
    • CustomDb

      public CustomDb()
      Constructs custom database (that not yet supported) client configuration.

      Loads configuration values from a YAML file.

      Example:

      CustomDb db = new CustomDb();

       custom-db: # reserved type
         url: jdbc:mysql://localhost:3308
         username: mysql_user
         password: mysql_pass
         await: 600 (optional)
       
      more info JdbcExecutor(String dbType, String getColumnsQuery)
  • Method Details

    • getInstance

      public static CustomDb getInstance()
      Returns the singleton instance of CustomDb with config builder CustomDb().

      This implementation is thread-safe using method-level synchronization.

      Returns:
      the singleton instance of CustomDb
    • assertCountInTableBuilder

      @Step("(DB)[ASSERT] Count records in {tableName} {conditions} EQUAL {expectedCount}") protected void assertCountInTableBuilder(String tableName, String conditions, @Param(mode=HIDDEN) Object[][] conditionsArray, String expectedCount, @Param(mode=HIDDEN) int awaitMs)
    • recordExistsBuilder

      @Step("(DB)[ASSERT] Record/s exists in {tableName} {conditions}") protected void recordExistsBuilder(String tableName, String conditions, @Param(mode=HIDDEN) Object[][] conditionsArray, @Param(mode=HIDDEN) int awaitMs)
    • showDataFromTableMethod

      protected void showDataFromTableMethod(String tableName)
    • seeInDbByCondMethod

      @Step("(DB)[ASSERT] Records exists in {tableName}: {conditions}") protected void seeInDbByCondMethod(String tableName, String conditions)
    • getTableColumns

      protected String[] getTableColumns(String tableName)
      Get array with table column list
      Parameters:
      tableName - table name
      Returns:
      Strings... with columns names