private void validateCreateRepoOsTable(Capture<List<DBAccessor.DBColumnInfo>> addRepoOsTableCapturedColumns,
                                         Capture<List<DBAccessor.DBColumnInfo>> addRepoDefinitionTableCapturedColumns,
                                         Capture<List<DBAccessor.DBColumnInfo>> addRepoTagsTableCapturedColumns,
                                         Capture<String[]> insertRepoOsTableRowColumns, Capture<String[]> insertRepoOsTableRowValues,
                                         Capture<String[]> insertAmbariSequencesRowColumns, Capture<String[]> insertAmbariSequencesRowValues) {
    Assert.assertTrue(addRepoOsTableCapturedColumns.hasCaptured());
    validateColumns(addRepoOsTableCapturedColumns.getValue(),
        Arrays.asList(
            new DBAccessor.DBColumnInfo(REPO_OS_ID_COLUMN, Long.class, null, null, false),
            new DBAccessor.DBColumnInfo(REPO_OS_REPO_VERSION_ID_COLUMN, Long.class, null, null, false),
            new DBAccessor.DBColumnInfo(REPO_OS_FAMILY_COLUMN, String.class, 255, null, false),
            new DBAccessor.DBColumnInfo(REPO_OS_AMBARI_MANAGED_COLUMN, Integer.class, null, 1, true)
        )
    );

    Assert.assertTrue(addRepoDefinitionTableCapturedColumns.hasCaptured());
    validateColumns(addRepoDefinitionTableCapturedColumns.getValue(),
        Arrays.asList(
            new DBAccessor.DBColumnInfo(REPO_DEFINITION_ID_COLUMN, Long.class, null, null, false),
            new DBAccessor.DBColumnInfo(REPO_DEFINITION_REPO_OS_ID_COLUMN, Long.class, null, null, false),
            new DBAccessor.DBColumnInfo(REPO_DEFINITION_REPO_NAME_COLUMN, String.class, 255, null, false),
            new DBAccessor.DBColumnInfo(REPO_DEFINITION_REPO_ID_COLUMN, String.class, 255, null, false),
            new DBAccessor.DBColumnInfo(REPO_DEFINITION_BASE_URL_COLUMN, String.class, 2048, null, true),
            new DBAccessor.DBColumnInfo(REPO_DEFINITION_DISTRIBUTION_COLUMN, String.class, 2048, null, true),
            new DBAccessor.DBColumnInfo(REPO_DEFINITION_COMPONENTS_COLUMN, String.class, 2048, null, true),
            new DBAccessor.DBColumnInfo(REPO_DEFINITION_UNIQUE_REPO_COLUMN, Integer.class, 1, 1, true),
            new DBAccessor.DBColumnInfo(REPO_DEFINITION_MIRRORS_COLUMN, String.class, 2048, null, true)
        )
    );

    Assert.assertTrue(addRepoTagsTableCapturedColumns.hasCaptured());
    validateColumns(addRepoTagsTableCapturedColumns.getValue(),
        Arrays.asList(
            new DBAccessor.DBColumnInfo(REPO_TAGS_REPO_DEFINITION_ID_COLUMN, Long.class, null, null, false),
            new DBAccessor.DBColumnInfo(REPO_TAGS_TAG_COLUMN, String.class, 255, null, false)
        )
    );

    List<String[]> values;

    Assert.assertTrue(insertRepoOsTableRowColumns.hasCaptured());
    values = insertRepoOsTableRowColumns.getValues();
    Assert.assertEquals(1, values.size());
    Assert.assertArrayEquals(new String[] {REPO_OS_ID_COLUMN, REPO_OS_REPO_VERSION_ID_COLUMN, REPO_OS_AMBARI_MANAGED_COLUMN, REPO_OS_FAMILY_COLUMN}, values.get(0));

    Assert.assertTrue(insertRepoOsTableRowValues.hasCaptured());
    values = insertRepoOsTableRowValues.getValues();
    Assert.assertEquals(1, values.size());
    Assert.assertArrayEquals(new String[] {"1", "1", "1", "'redhat7'"}, values.get(0));

    Assert.assertTrue(insertAmbariSequencesRowColumns.hasCaptured());
    values = insertAmbariSequencesRowColumns.getValues();
    Assert.assertEquals(2, values.size());
    Assert.assertArrayEquals(new String[]{AMBARI_SEQUENCES_SEQUENCE_NAME_COLUMN, AMBARI_SEQUENCES_SEQUENCE_VALUE_COLUMN}, values.get(0));
    Assert.assertArrayEquals(new String[]{AMBARI_SEQUENCES_SEQUENCE_NAME_COLUMN, AMBARI_SEQUENCES_SEQUENCE_VALUE_COLUMN}, values.get(1));

    Assert.assertTrue(insertAmbariSequencesRowValues.hasCaptured());
    values = insertAmbariSequencesRowValues.getValues();
    Assert.assertEquals(2, values.size());
    Assert.assertArrayEquals(new String[]{"'repo_os_id_seq'", "2"}, values.get(0));
    Assert.assertArrayEquals(new String[]{"'repo_definition_id_seq'", "1"}, values.get(1));


  }
@return sample JSON data from repo_version data (no repositories defined) where 'OperatingSystems/ambari_managed_repositories' is missing
ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog270Test.java