@Test
/**
 * Tests the merge partition without dedupe and the merge partition with dedupe
 */
public void testMergeNonPartitioned() throws Exception {

    // Insert one record to start
    hiveShell.execute(
        "insert into emp_sr.employee_np (`id`, `timestamp`, `name`,`company`,`zip`,`phone`,`email`,  `hired`, `country`)  values (60, '1', 'Billy',"
        + "'ABC',"
        + "'94550',"
        + "'555-1212',"
        + "'billy@acme.org','2015-01-01', 'USA');");
    List<String> results = fetchEmployees(targetSchema, targetTableNP);
    assertEquals(1, results.size());
    // Call merge without dedupe
    mergeSyncSupport.doMerge(sourceSchema, sourceTable, targetSchema, targetTableNP, specNP, processingPartition, false);
    // We should have 5 records 4 from the sourceTable and 1 existing
    results = fetchEmployees(targetSchema, targetTableNP);
    assertEquals(5, results.size());
    // Now create a duplicate record and ensure we don't see it in the final table
    hiveShell.execute("insert into emp_sr.employee_np (`id`, `timestamp`, `name`,`company`,`zip`,`phone`,`email`,  `hired`, `country`)  "
                      + "values (100, '1', 'Bruce','ABC','94550','555-1212','bruce@acme.org','2016-01-01', 'Canada');");
    mergeSyncSupport.doMerge(sourceSchema, sourceTable, targetSchema, targetTableNP, specNP, "20160119974350", true);
    results = fetchEmployees(targetSchema, targetTableNP);
    assertEquals(7, results.size());
    verifyUnique(results);
}