@Test
  public void allConstraintsPresent() throws TException {
    Table table = testTables[0];
    Table parentTable = testTables[1];
    SQLAllTableConstraints expected = new SQLAllTableConstraints();
    // Set col1 as primary key Constraint in default catalog and database
    List<SQLPrimaryKey> pk = new SQLPrimaryKeyBuilder().onTable(table).addColumn("col1").setConstraintName("col1_pk")
        .build(metaStore.getConf());
    client.addPrimaryKey(pk);
    expected.setPrimaryKeys(pk);

    // Set col2 with Unique Constraint in default catalog and database
    String uniqueConstraintName = "col2_unique";
    List<SQLUniqueConstraint> uc =
        new SQLUniqueConstraintBuilder().onTable(table).addColumn("col2").setConstraintName("col2_unique")
            .build(metaStore.getConf());
    client.addUniqueConstraint(uc);
    expected.setUniqueConstraints(uc);

    // Set col3 with default Constraint in default catalog and database
    List<SQLDefaultConstraint> dv =
        new SQLDefaultConstraintBuilder().onTable(table).addColumn("col3").setConstraintName("col3_default")
            .setDefaultVal(false).build(metaStore.getConf());
    client.addDefaultConstraint(dv);
    expected.setDefaultConstraints(dv);

    // Set col3 with not null constraint in default catalog and database;
    List<SQLNotNullConstraint> nn =
        new SQLNotNullConstraintBuilder().onTable(table).addColumn("col3").setConstraintName("col3_not_null")
            .build(metaStore.getConf());
    client.addNotNullConstraint(nn);
    expected.setNotNullConstraints(nn);

    // Set col2 with not check constraint in default catalog and database;
    List<SQLCheckConstraint> cc =
        new SQLCheckConstraintBuilder().onTable(table).addColumn("col2").setConstraintName("col2_check")
            .setCheckExpression("= 5").build(metaStore.getConf());
    client.addCheckConstraint(cc);
    expected.setCheckConstraints(cc);

    // Set col1 of parent table to PK and Set Col4 of table to FK
    List<SQLPrimaryKey> parentPk =
        new SQLPrimaryKeyBuilder().onTable(parentTable).addColumn("col1").setConstraintName("parentpk")
            .build(metaStore.getConf());
    client.addPrimaryKey(parentPk);
    String fkConstraintName = "fk";
    List<SQLForeignKey> fk =
        new SQLForeignKeyBuilder().fromPrimaryKey(parentPk).onTable(table).setConstraintName(fkConstraintName)
            .addColumn("col4").build(metaStore.getConf());
    client.addForeignKey(fk);
    expected.setForeignKeys(fk);

    // Fetch all constraints for the table in default catalog and database
    AllTableConstraintsRequest request =
        new AllTableConstraintsRequest(table.getDbName(), table.getTableName(), table.getCatName());
    SQLAllTableConstraints actual = client.getAllTableConstraints(request);
    Assert.assertEquals(expected, actual);
  }
Test to verify all constraint are present in table
@throws TException
standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/client/TestGetAllTableConstraints.java