@Test
public void testTempSessionFileCleanup() throws Exception {
EmbeddedThriftBinaryCLIService service = new EmbeddedThriftBinaryCLIService();
HiveConf hiveConf = new HiveConf();
hiveConf
.setVar(HiveConf.ConfVars.HIVE_AUTHORIZATION_MANAGER,
"org.apache.hadoop.hive.ql.security.authorization.plugin.sqlstd.SQLStdHiveAuthorizerFactory");
service.init(hiveConf);
ThriftCLIServiceClient client = new ThriftCLIServiceClient(service);
Set<String> existingPipeoutFiles = new HashSet<String>(Arrays.asList(getPipeoutFiles()));
SessionHandle sessionHandle = client.openSession("user1", "foobar",
Collections.<String, String>emptyMap());
client.executeStatement(sessionHandle, "set a=b", null);
File operationLogRootDir = new File(
new HiveConf().getVar(ConfVars.HIVE_SERVER2_LOGGING_OPERATION_LOG_LOCATION));
Assert.assertNotEquals(operationLogRootDir.list().length, 0);
client.closeSession(sessionHandle);
Assert.assertEquals(operationLogRootDir.list().length, 0);
Set<String> finalPipeoutFiles = new HashSet<String>(Arrays.asList(getPipeoutFiles()));
finalPipeoutFiles.removeAll(existingPipeoutFiles);
Assert.assertTrue(finalPipeoutFiles.isEmpty());
}