protected void loadQueries(String dir) throws IOException { // TODO - this code dead?? File queryDir = new File(dir); if(!queryDir.exists()) { queryDir = new File(System.getProperty("user.dir") + "/tajo-core/" + dir); } if(!queryDir.exists()) { return; } int last; String name, query; for (String file : queryDir.list()) { if (file.endsWith(".sql")) { last = file.indexOf(".sql"); name = file.substring(0, last); query = FileUtil.readTextFile(new File(queryDir + "/" + file)); } } }
protected void loadQueries(String dir) throws IOException { // TODO - this code dead?? File queryDir = new File(dir); if(!queryDir.exists()) { queryDir = new File(System.getProperty("user.dir") + "/tajo-core/" + dir); } if(!queryDir.exists()) { return; } int last; String name, query; for (String file : queryDir.list()) { if (file.endsWith(".sql")) { last = file.indexOf(".sql"); name = file.substring(0, last); query = FileUtil.readTextFile(new File(queryDir + "/" + file)); } } }
public static String getResultText(Class clazz, String fileName) throws IOException { FileSystem localFS = FileSystem.getLocal(new Configuration()); Path path = getResultPath(clazz, fileName); Preconditions.checkState(localFS.exists(path) && localFS.isFile(path)); return FileUtil.readTextFile(new File(path.toUri())); } }
private void verifyResultText(String message, ResultSet res, Path resultFile) throws SQLException, IOException { String actualResult = resultSetToString(res); String expectedResult = FileUtil.readTextFile(new File(resultFile.toUri())); assertEquals(message, expectedResult.trim(), actualResult.trim()); }
protected Collection<String> getBatchQueries(Collection<Path> paths) throws IOException, InvalidStatementException { List<String> queries = Lists.newArrayList(); for (Path p : paths) { for (ParsedResult statement: SimpleParser.parseScript(FileUtil.readTextFile(new File(p.toUri())))) { queries.add(statement.getStatement()); } } return queries; }
@Override public Pair<String, String> apply(@Nullable File file) { try { return new Pair<>(file.getName(), FileUtil.readTextFile(file)); } catch (IOException e) { throw new RuntimeException(e); } } });
public final void assertStrings(String message, String actual, String resultFileName) throws IOException { Path resultFile = getResultFile(resultFileName); String expectedResult = FileUtil.readTextFile(new File(resultFile.toUri())); assertEquals(message, expectedResult, actual); }
public void assertInvalidSQLFromFile(String fileName) throws IOException { Path queryFilePath = getQueryFilePath(fileName); String query = FileUtil.readTextFile(new File(queryFilePath.toUri())); assertInvalidSQL(query); }
public void assertValidSQLFromFile(String fileName) throws IOException { Path queryFilePath = getQueryFilePath(fileName); String query = FileUtil.readTextFile(new File(queryFilePath.toUri())); assertValidSQL(query); }
protected String getResultContents(String fileName) throws IOException { Path resultFile = getResultFile(getMethodName() + ".result"); return FileUtil.readTextFile(new File(resultFile.toUri())); }
public void assertScriptFailure(String cmd) throws Exception { Path resultFile = getResultFile(getMethodName() + ".result"); String expected = FileUtil.readTextFile(new File(resultFile.toUri())); tajoCli.executeScript(cmd); String consoleResult = new String(err.toByteArray()); assertEquals(expected, consoleResult); }
private void assertOutputResult(String expectedResultFile, String actual, String[] paramKeys, String[] paramValues) throws Exception { Path path = getAbsolutePath(expectedResultFile); assertTrue(path.toString() + " existence check", existsFile(expectedResultFile)); String expectedResult = FileUtil.readTextFile(new File(path.toUri())); if (paramKeys != null) { for (int i = 0; i < paramKeys.length; i++) { if (i < paramValues.length) { expectedResult = expectedResult.replace(paramKeys[i], paramValues[i]); } } } assertEquals(expectedResult.trim(), actual.trim()); }
public void assertPlanError(String fileName) throws IOException { Path queryFilePath = getQueryFilePath(fileName); String query = FileUtil.readTextFile(new File(queryFilePath.toUri())); try { verify(query); } catch (TajoException e) { return; } fail("Cannot catch any planning error from: " + query); }
public ResultSet executeJsonFile(String jsonFileName) throws Exception { Path queryFilePath = getQueryFilePath(jsonFileName); ResultSet result = client.executeJsonQueryAndGetResult(FileUtil.readTextFile(new File(queryFilePath.toUri()))); assertNotNull("Query succeeded test", result); return result; }
private void assertOutputResult(String expectedResultFile, String actual, String[] paramKeys, String[] paramValues) throws Exception { FileSystem fs = currentResultPath.getFileSystem(testBase.getTestingCluster().getConfiguration()); Path resultFile = StorageUtil.concatPath(currentResultPath, expectedResultFile); assertTrue(resultFile.toString() + " existence check", fs.exists(resultFile)); String expectedResult = FileUtil.readTextFile(new File(resultFile.toUri())); if (paramKeys != null) { for (int i = 0; i < paramKeys.length; i++) { if (i < paramValues.length) { expectedResult = expectedResult.replace(paramKeys[i], paramValues[i]); } } } assertEquals(expectedResult.trim(), actual.trim()); } }
/** * Execute a query contained in the given named file. This methods tries to find the given file within the directory * src/test/resources/results/<i>ClassName</i>. * * @param queryFileName The file name to be used to execute a query. * @return ResultSet of query execution. */ public ResultSet executeFile(String queryFileName) throws Exception { Path queryFilePath = getQueryFilePath(queryFileName); List<ParsedResult> parsedResults = SimpleParser.parseScript(FileUtil.readTextFile(new File(queryFilePath.toUri()))); if (parsedResults.size() > 1) { assertNotNull("This script \"" + queryFileName + "\" includes two or more queries"); } int idx = 0; for (; idx < parsedResults.size() - 1; idx++) { client.executeQueryAndGetResult(parsedResults.get(idx).getHistoryStatement()).close(); } ResultSet result = client.executeQueryAndGetResult(parsedResults.get(idx).getHistoryStatement()); assertNotNull("Query succeeded test", result); return result; }
@Test public void testByteBufLineReaderWithoutTerminating() throws IOException { String path = JavaResourceUtil.getResourceURL("dataset/testLineText.txt").getFile(); File file = new File(path); String data = FileUtil.readTextFile(file); ByteBufInputChannel channel = new ByteBufInputChannel(new FileInputStream(file)); ByteBufLineReader reader = new ByteBufLineReader(channel); long totalRead = 0; int i = 0; AtomicInteger bytes = new AtomicInteger(); for(;;){ ByteBuf buf = reader.readLineBuf(bytes); totalRead += bytes.get(); if(buf == null) break; i++; } IOUtils.cleanup(null, reader); assertFalse(channel.isOpen()); assertEquals(file.length(), totalRead); assertEquals(file.length(), reader.readBytes()); assertEquals(data.split("\n").length, i); }
@Test public final void testMultipleJoin() throws IOException, TajoException { Expr expr = sqlAnalyzer.parse( FileUtil.readTextFile(new File("src/test/resources/queries/TestJoinQuery/testTPCHQ2Join.sql"))); QueryContext qc = createQueryContext(); LogicalNode plan = planner.createPlan(qc, expr).getRootBlock().getRoot(); Schema expected = tpch.getOutSchema("q2"); assertSchema(expected, plan.getOutSchema()); }
@Test public void testGetSchema() throws IOException, URISyntaxException { TajoConf conf = new TajoConf(); TableMeta meta = CatalogUtil.newTableMeta(BuiltinStorages.AVRO, conf); meta.putProperty(StorageConstants.AVRO_SCHEMA_LITERAL, FileUtil.readTextFile(new File(schemaUrl.getPath()))); Schema schema = AvroUtil.getAvroSchema(meta, conf); assertEquals(expected, schema); meta = CatalogUtil.newTableMeta(BuiltinStorages.AVRO, conf); meta.putProperty(StorageConstants.AVRO_SCHEMA_URL, schemaUrl.getPath()); schema = AvroUtil.getAvroSchema(meta, new TajoConf()); assertEquals(expected, schema); HttpFileServer server = new HttpFileServer(NetUtils.createSocketAddr("127.0.0.1:0")); try { server.start(); InetSocketAddress addr = server.getBindAddress(); String url = "http://127.0.0.1:" + addr.getPort() + schemaUrl.getPath(); meta = CatalogUtil.newTableMeta(BuiltinStorages.AVRO, conf); meta.putProperty(StorageConstants.AVRO_SCHEMA_URL, url); schema = AvroUtil.getAvroSchema(meta, new TajoConf()); } finally { server.stop(); } assertEquals(expected, schema); }
@Test public final void testJoinWithMultipleJoinQual2() throws IOException, TajoException { Expr expr = sqlAnalyzer.parse( FileUtil.readTextFile(new File ("src/test/resources/queries/TestJoinQuery/testJoinWithMultipleJoinQual2.sql"))); QueryContext qc = createQueryContext();