@ExpectedLogs(
      expectedLogs = {
        @ExpectedLog(
            dbType = DB.TYPE_DB2,
            expectedLog = "Unable to process runnable:",
            expectedType = ExpectedType.PREFIX),
        @ExpectedLog(
            dbType = DB.TYPE_HYPERSONIC,
            expectedLog =
                "Unable to process runnable: user lacks privilege or " + "object not found:",
            expectedType = ExpectedType.PREFIX),
        @ExpectedLog(
            dbType = DB.TYPE_MYSQL,
            expectedLog = "Unable to process runnable: Table ",
            expectedType = ExpectedType.PREFIX),
        @ExpectedLog(
            dbType = DB.TYPE_ORACLE,
            expectedLog =
                "Unable to process runnable: ORA-00942: table or view" + " does not exist",
            expectedType = ExpectedType.PREFIX),
        @ExpectedLog(
            dbType = DB.TYPE_POSTGRESQL,
            expectedLog =
                "Unable to process runnable: ERROR: relation " + "\"unknown\" does not exist",
            expectedType = ExpectedType.PREFIX),
        @ExpectedLog(
            dbType = DB.TYPE_SYBASE,
            expectedLog = "Unable to process runnable: Unknown not found.",
            expectedType = ExpectedType.PREFIX)
      },
      level = "ERROR",
      loggerClass = ThrowableAwareRunnable.class)
  @Test(expected = BulkException.class)
  public void testVerifyParallelUnknownModelWithUnknownPKColumnName() throws Exception {

    VerifiableUUIDModel[] verifiableUUIDModels =
        new VerifiableUUIDModel[PropsValues.VERIFY_PROCESS_CONCURRENCY_THRESHOLD];

    for (int i = 0; i < PropsValues.VERIFY_PROCESS_CONCURRENCY_THRESHOLD; i++) {

      verifiableUUIDModels[i] =
          new VerifiableUUIDModel() {

            @Override
            public String getPrimaryKeyColumnName() {
              return _UNKNOWN;
            }

            @Override
            public String getTableName() {
              return _UNKNOWN;
            }
          };
    }

    VerifyUUID.verify(verifiableUUIDModels);
  }
  @ExpectedLogs(
      expectedLogs = {
        @ExpectedLog(
            dbType = DB.TYPE_DB2,
            expectedLog = "Unable to process runnable:",
            expectedType = ExpectedType.PREFIX),
        @ExpectedLog(
            dbType = DB.TYPE_HYPERSONIC,
            expectedLog =
                "Unable to process runnable: user lacks privilege or " + "object not found:",
            expectedType = ExpectedType.PREFIX),
        @ExpectedLog(
            dbType = DB.TYPE_MYSQL,
            expectedLog =
                "Unable to process runnable: Unknown column 'Unknown' " + "in 'field list'",
            expectedType = ExpectedType.EXACT),
        @ExpectedLog(
            dbType = DB.TYPE_ORACLE,
            expectedLog =
                "Unable to process runnable: ORA-00904: \"UNKNOWN\":" + " invalid identifier",
            expectedType = ExpectedType.PREFIX),
        @ExpectedLog(
            dbType = DB.TYPE_POSTGRESQL,
            expectedLog =
                "Unable to process runnable: ERROR: column \"unknown\" " + "does not exist",
            expectedType = ExpectedType.PREFIX),
        @ExpectedLog(
            dbType = DB.TYPE_SYBASE,
            expectedLog = "Unable to process runnable: Invalid column name " + "'Unknown'.",
            expectedType = ExpectedType.PREFIX)
      },
      level = "ERROR",
      loggerClass = ThrowableAwareRunnable.class)
  @Test(expected = BulkException.class)
  public void testVerifyModelWithUnknownPKColumnName() throws Exception {
    VerifyUUID.verify(
        new VerifiableUUIDModel() {

          @Override
          public String getPrimaryKeyColumnName() {
            return _UNKNOWN;
          }

          @Override
          public String getTableName() {
            return "Layout";
          }
        });
  }
  @ExpectedLogs(
      expectedLogs = {
        @ExpectedLog(
            dbType = DB.TYPE_DB2,
            expectedLog = "Unable to process runnable:",
            expectedType = ExpectedType.PREFIX),
        @ExpectedLog(
            dbType = DB.TYPE_HYPERSONIC,
            expectedLog =
                "Unable to process runnable: user lacks privilege or " + "object not found:",
            expectedType = ExpectedType.PREFIX),
        @ExpectedLog(
            dbType = DB.TYPE_MYSQL,
            expectedLog = "Unable to process runnable: Table ",
            expectedType = ExpectedType.PREFIX),
        @ExpectedLog(
            dbType = DB.TYPE_ORACLE,
            expectedLog =
                "Unable to process runnable: ORA-00942: table or view" + " does not exist",
            expectedType = ExpectedType.PREFIX),
        @ExpectedLog(
            dbType = DB.TYPE_POSTGRESQL,
            expectedLog =
                "Unable to process runnable: ERROR: relation \"unknown\" " + "does not exist",
            expectedType = ExpectedType.PREFIX),
        @ExpectedLog(
            dbType = DB.TYPE_SYBASE,
            expectedLog = "Unable to process runnable: Unknown not found.",
            expectedType = ExpectedType.PREFIX)
      },
      level = "ERROR",
      loggerClass = ThrowableAwareRunnable.class)
  @Test(expected = BulkException.class)
  public void testVerifyUnknownModelWithUnknownPKColumnName() throws Exception {

    VerifyUUID.verify(
        new VerifiableUUIDModel() {

          @Override
          public String getPrimaryKeyColumnName() {
            return _UNKNOWN;
          }

          @Override
          public String getTableName() {
            return _UNKNOWN;
          }
        });
  }
 @Test
 public void testVerifyModel() throws Exception {
   VerifyUUID.verify(new LayoutVerifiableModel());
 }