@Test(groups = CLI, timeOut = TIMEOUT) public void shouldExitOnErrorFromFile() throws IOException, InterruptedException { try (TempFile file = new TempFile()) { Files.write("select * from hive.default.nations;\nselect * from hive.default.nation;\n", file.file(), UTF_8); launchPrestoCliWithServerArgument("--file", file.file().getAbsolutePath()); assertThat(trimLines(presto.readRemainingOutputLines())).isEmpty(); assertThatThrownBy(() -> presto.waitForWithTimeoutAndKill()).hasMessage("Child process exited with non-zero code: 1"); } }
@SuppressWarnings("IOResourceOpenedButNotSafelyClosed") @Test public void testTempFile() throws Exception { TempFile tempFile = new TempFile(); File file = tempFile.file(); assertEquals(file, tempFile.path().toFile()); assertTrue(file.exists()); assertTrue(file.isFile()); assertTrue(file.canRead()); assertTrue(file.canWrite()); tempFile.close(); assertFalse(file.exists()); // verify close does not delete file again assertTrue(file.createNewFile()); assertTrue(file.exists()); tempFile.close(); assertTrue(file.exists()); assertTrue(file.delete()); } }
private static void assertProperties(Map<String, String> properties, SessionMatchSpec... spec) throws IOException { try (TempFile tempFile = new TempFile()) { Path configurationFile = tempFile.path(); Files.write(configurationFile, CODEC.toJsonBytes(Arrays.asList(spec))); SessionPropertyConfigurationManager manager = new FileSessionPropertyManager(new FileSessionPropertyManagerConfig().setConfigFile(configurationFile.toFile())); assertEquals(manager.getSystemSessionProperties(CONTEXT), properties); } } }
@SuppressWarnings("IOResourceOpenedButNotSafelyClosed") @Test public void testTempFile() throws Exception { TempFile tempFile = new TempFile(); File file = tempFile.file(); assertEquals(file, tempFile.path().toFile()); assertTrue(file.exists()); assertTrue(file.isFile()); assertTrue(file.canRead()); assertTrue(file.canWrite()); tempFile.close(); assertFalse(file.exists()); // verify close does not delete file again assertTrue(file.createNewFile()); assertTrue(file.exists()); tempFile.close(); assertTrue(file.exists()); assertTrue(file.delete()); } }
private static void assertProperties(Map<String, String> properties, SessionMatchSpec... spec) throws IOException { try (TempFile tempFile = new TempFile()) { Path configurationFile = tempFile.path(); Files.write(configurationFile, CODEC.toJsonBytes(Arrays.asList(spec))); SessionPropertyConfigurationManager manager = new FileSessionPropertyManager(new FileSessionPropertyManagerConfig().setConfigFile(configurationFile.toFile())); assertEquals(manager.getSystemSessionProperties(CONTEXT), properties); } } }
@Test(groups = CLI, timeOut = TIMEOUT) public void shouldNotExitOnErrorFromFile() throws IOException, InterruptedException { try (TempFile file = new TempFile()) { Files.write("select * from hive.default.nations;\nselect * from hive.default.nation;\n", file.file(), UTF_8); launchPrestoCliWithServerArgument("--file", file.file().getAbsolutePath(), "--ignore-errors"); assertThat(trimLines(presto.readRemainingOutputLines())).containsAll(nationTableBatchLines); assertThatThrownBy(() -> presto.waitForWithTimeoutAndKill()).hasMessage("Child process exited with non-zero code: 1"); } }
@Test(groups = CLI, timeOut = TIMEOUT) public void shouldRunQueryFromFile() throws Exception { try (TempFile file = new TempFile()) { Files.write("select * from hive.default.nation;\n", file.file(), UTF_8); launchPrestoCliWithServerArgument("--file", file.file().getAbsolutePath()); assertThat(trimLines(presto.readRemainingOutputLines())).containsAll(nationTableBatchLines); presto.waitForWithTimeoutAndKill(); } }