Add PgSQLEndPointsTests.

Project: http://git-wip-us.apache.org/repos/asf/tajo/repo
Commit: http://git-wip-us.apache.org/repos/asf/tajo/commit/0ca28025
Tree: http://git-wip-us.apache.org/repos/asf/tajo/tree/0ca28025
Diff: http://git-wip-us.apache.org/repos/asf/tajo/diff/0ca28025

Branch: refs/heads/TAJO-1730
Commit: 0ca28025c6048c4aa847a5b905430e153375d866
Parents: 8b76167
Author: Hyunsik Choi <[email protected]>
Authored: Sat Aug 22 01:30:46 2015 +0900
Committer: Hyunsik Choi <[email protected]>
Committed: Sat Aug 22 01:30:46 2015 +0900

----------------------------------------------------------------------
 .../org/apache/tajo/catalog/CatalogServer.java  |  8 ++-
 .../java/org/apache/tajo/master/TajoMaster.java |  9 ++++
 .../exec/NonForwardQueryResultFileScanner.java  |  2 +-
 .../storage/mysql/TestMysqlJdbcTableSpace.java  |  2 +-
 tajo-storage/tajo-storage-pgsql/pom.xml         |  6 +++
 .../storage/pgsql/TestPgSQLEndPointTests.java   | 53 ++++++++++++++++++++
 .../tajo/storage/pgsql/TestPgSQLQueryTests.java | 17 +++++++
 .../dataset/TestPgSQLQueryTests/lineitem.csv    |  0
 .../queries/TestPgSQLQueryTests/select_all.sql  |  0
 .../TestPgSQLQueryTests/select_all.result       |  0
 10 files changed, 94 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tajo/blob/0ca28025/tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/CatalogServer.java
----------------------------------------------------------------------
diff --git 
a/tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/CatalogServer.java
 
b/tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/CatalogServer.java
index 7ec4b7e..88e788c 100644
--- 
a/tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/CatalogServer.java
+++ 
b/tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/CatalogServer.java
@@ -18,6 +18,7 @@
 
 package org.apache.tajo.catalog;
 
+import com.google.common.annotations.VisibleForTesting;
 import com.google.common.base.Function;
 import com.google.common.base.Objects;
 import com.google.common.base.Optional;
@@ -84,7 +85,7 @@ public class CatalogServer extends AbstractService {
   private Map<String, List<FunctionDescProto>> functions = new 
ConcurrentHashMap<String,
       List<FunctionDescProto>>();
 
-  private final LinkedMetadataManager linkedMetadataManager;
+  private LinkedMetadataManager linkedMetadataManager;
   private final InfoSchemaMetadataDictionary metaDictionary = new 
InfoSchemaMetadataDictionary();
 
   // RPC variables
@@ -188,6 +189,11 @@ public class CatalogServer extends AbstractService {
     super.serviceStop();
   }
 
+  @VisibleForTesting
+  public void refresh(Collection<MetadataProvider> metadataProviders) {
+    this.linkedMetadataManager = new LinkedMetadataManager(metadataProviders);
+  }
+
   public CatalogProtocolHandler getHandler() {
     return this.handler;
   }

http://git-wip-us.apache.org/repos/asf/tajo/blob/0ca28025/tajo-core/src/main/java/org/apache/tajo/master/TajoMaster.java
----------------------------------------------------------------------
diff --git a/tajo-core/src/main/java/org/apache/tajo/master/TajoMaster.java 
b/tajo-core/src/main/java/org/apache/tajo/master/TajoMaster.java
index cb6168e..e6bf94b 100644
--- a/tajo-core/src/main/java/org/apache/tajo/master/TajoMaster.java
+++ b/tajo-core/src/main/java/org/apache/tajo/master/TajoMaster.java
@@ -19,6 +19,7 @@
 package org.apache.tajo.master;
 
 import com.codahale.metrics.Gauge;
+import com.google.common.annotations.VisibleForTesting;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.hadoop.conf.Configuration;
@@ -407,6 +408,14 @@ public class TajoMaster extends CompositeService {
     LOG.info("Tajo Master main thread exiting");
   }
 
+  /**
+   * This is only for unit tests.
+   */
+  @VisibleForTesting
+  public void refresh() {
+    catalogServer.refresh(TablespaceManager.getMetadataProviders());
+  }
+
   public EventHandler getEventHandler() {
     return dispatcher.getEventHandler();
   }

http://git-wip-us.apache.org/repos/asf/tajo/blob/0ca28025/tajo-core/src/main/java/org/apache/tajo/master/exec/NonForwardQueryResultFileScanner.java
----------------------------------------------------------------------
diff --git 
a/tajo-core/src/main/java/org/apache/tajo/master/exec/NonForwardQueryResultFileScanner.java
 
b/tajo-core/src/main/java/org/apache/tajo/master/exec/NonForwardQueryResultFileScanner.java
index 877e32b..5cd4e26 100644
--- 
a/tajo-core/src/main/java/org/apache/tajo/master/exec/NonForwardQueryResultFileScanner.java
+++ 
b/tajo-core/src/main/java/org/apache/tajo/master/exec/NonForwardQueryResultFileScanner.java
@@ -81,7 +81,7 @@ public class NonForwardQueryResultFileScanner implements 
NonForwardQueryResultSc
       FileTablespace fileTablespace = TUtil.checkTypeAndGet(tablespace, 
FileTablespace.class);
       
fragments.addAll(Repartitioner.getFragmentsFromPartitionedTable(fileTablespace, 
scanNode, tableDesc));
     } else {
-      fragments.addAll(tablespace.getSplits(tableDesc.getName(), tableDesc, 
scanNode));
+      fragments.addAll(tablespace.getSplits(tableDesc.getName(), tableDesc, 
scanNode.getQual()));
     }
 
     if (!fragments.isEmpty()) {

http://git-wip-us.apache.org/repos/asf/tajo/blob/0ca28025/tajo-storage/tajo-storage-mysql/src/test/java/org/apache/tajo/storage/mysql/TestMysqlJdbcTableSpace.java
----------------------------------------------------------------------
diff --git 
a/tajo-storage/tajo-storage-mysql/src/test/java/org/apache/tajo/storage/mysql/TestMysqlJdbcTableSpace.java
 
b/tajo-storage/tajo-storage-mysql/src/test/java/org/apache/tajo/storage/mysql/TestMysqlJdbcTableSpace.java
index 6d2ad1b..f940abc 100644
--- 
a/tajo-storage/tajo-storage-mysql/src/test/java/org/apache/tajo/storage/mysql/TestMysqlJdbcTableSpace.java
+++ 
b/tajo-storage/tajo-storage-mysql/src/test/java/org/apache/tajo/storage/mysql/TestMysqlJdbcTableSpace.java
@@ -30,7 +30,7 @@ import java.net.URI;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
 
-public class TestMysqlJdbcTableSpace {
+public class TestMySQLJdbcTableSpace {
   static String jdbcUrl = EmbedMySQLServer.getInstance().getJdbcUrl();
 
 

http://git-wip-us.apache.org/repos/asf/tajo/blob/0ca28025/tajo-storage/tajo-storage-pgsql/pom.xml
----------------------------------------------------------------------
diff --git a/tajo-storage/tajo-storage-pgsql/pom.xml 
b/tajo-storage/tajo-storage-pgsql/pom.xml
index 69b5c55..074950c 100644
--- a/tajo-storage/tajo-storage-pgsql/pom.xml
+++ b/tajo-storage/tajo-storage-pgsql/pom.xml
@@ -124,6 +124,12 @@
       <artifactId>tajo-storage-jdbc</artifactId>
       <scope>provided</scope>
     </dependency>
+    <dependency>
+      <groupId>org.apache.tajo</groupId>
+      <artifactId>tajo-cluster-tests</artifactId>
+      <type>test-jar</type>
+      <scope>test</scope>
+    </dependency>
 
     <dependency>
       <groupId>org.apache.hadoop</groupId>

http://git-wip-us.apache.org/repos/asf/tajo/blob/0ca28025/tajo-storage/tajo-storage-pgsql/src/test/java/org/apache/tajo/storage/pgsql/TestPgSQLEndPointTests.java
----------------------------------------------------------------------
diff --git 
a/tajo-storage/tajo-storage-pgsql/src/test/java/org/apache/tajo/storage/pgsql/TestPgSQLEndPointTests.java
 
b/tajo-storage/tajo-storage-pgsql/src/test/java/org/apache/tajo/storage/pgsql/TestPgSQLEndPointTests.java
new file mode 100644
index 0000000..cd48ffd
--- /dev/null
+++ 
b/tajo-storage/tajo-storage-pgsql/src/test/java/org/apache/tajo/storage/pgsql/TestPgSQLEndPointTests.java
@@ -0,0 +1,53 @@
+package org.apache.tajo.storage.pgsql;
+
+import com.facebook.presto.hive.shaded.com.google.common.collect.Sets;
+import org.apache.tajo.QueryTestCaseBase;
+import org.apache.tajo.catalog.TableDesc;
+import org.apache.tajo.client.TajoClient;
+import org.apache.tajo.exception.UndefinedTableException;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+import java.util.Set;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
+public class TestPgSQLEndPointTests extends QueryTestCaseBase {
+  private static final String jdbcUrl = 
EmbedPgSQLServer.getInstance().getJdbcUrl();
+  private static TajoClient client;
+
+
+  @BeforeClass
+  public static void setUp() throws Exception {
+    QueryTestCaseBase.testingCluster.getMaster().refresh();
+    client = QueryTestCaseBase.testingCluster.newTajoClient();
+  }
+
+  @AfterClass
+  public static void tearDown() {
+    client.close();
+  }
+
+  @Test
+  public void testGetAllDatabaseNames() {
+    Set<String> retrieved = Sets.newHashSet(client.getAllDatabaseNames());
+    assertTrue(retrieved.contains(EmbedPgSQLServer.DATABASE_NAME));
+  }
+
+  @Test
+  public void testGetTableList() {
+    Set<String> retrieved = Sets.newHashSet(client.getTableList("tpch"));
+    assertEquals(Sets.newHashSet(EmbedPgSQLServer.TPCH_TABLES), retrieved);
+  }
+
+  @Test
+  public void testGetTable() throws UndefinedTableException {
+    for (String tableName: EmbedPgSQLServer.TPCH_TABLES) {
+      TableDesc retrieved = client.getTableDesc(EmbedPgSQLServer.DATABASE_NAME 
+ "." + tableName);
+      assertEquals(EmbedPgSQLServer.DATABASE_NAME + "." + tableName, 
retrieved.getName());
+      assertEquals(jdbcUrl + "&table=" + tableName, 
retrieved.getUri().toASCIIString());
+    }
+  }
+}

http://git-wip-us.apache.org/repos/asf/tajo/blob/0ca28025/tajo-storage/tajo-storage-pgsql/src/test/java/org/apache/tajo/storage/pgsql/TestPgSQLQueryTests.java
----------------------------------------------------------------------
diff --git 
a/tajo-storage/tajo-storage-pgsql/src/test/java/org/apache/tajo/storage/pgsql/TestPgSQLQueryTests.java
 
b/tajo-storage/tajo-storage-pgsql/src/test/java/org/apache/tajo/storage/pgsql/TestPgSQLQueryTests.java
new file mode 100644
index 0000000..ab725e4
--- /dev/null
+++ 
b/tajo-storage/tajo-storage-pgsql/src/test/java/org/apache/tajo/storage/pgsql/TestPgSQLQueryTests.java
@@ -0,0 +1,17 @@
+package org.apache.tajo.storage.pgsql;
+
+import org.apache.tajo.QueryTestCaseBase;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+public class TestPgSQLQueryTests extends QueryTestCaseBase {
+  @BeforeClass
+  public void setUp() {
+    QueryTestCaseBase.testingCluster.getMaster().refresh();
+  }
+
+  @Test
+  public void testSelectAll() {
+    //executeString()
+  }
+}

http://git-wip-us.apache.org/repos/asf/tajo/blob/0ca28025/tajo-storage/tajo-storage-pgsql/src/test/resources/dataset/TestPgSQLQueryTests/lineitem.csv
----------------------------------------------------------------------
diff --git 
a/tajo-storage/tajo-storage-pgsql/src/test/resources/dataset/TestPgSQLQueryTests/lineitem.csv
 
b/tajo-storage/tajo-storage-pgsql/src/test/resources/dataset/TestPgSQLQueryTests/lineitem.csv
new file mode 100644
index 0000000..e69de29

http://git-wip-us.apache.org/repos/asf/tajo/blob/0ca28025/tajo-storage/tajo-storage-pgsql/src/test/resources/queries/TestPgSQLQueryTests/select_all.sql
----------------------------------------------------------------------
diff --git 
a/tajo-storage/tajo-storage-pgsql/src/test/resources/queries/TestPgSQLQueryTests/select_all.sql
 
b/tajo-storage/tajo-storage-pgsql/src/test/resources/queries/TestPgSQLQueryTests/select_all.sql
new file mode 100644
index 0000000..e69de29

http://git-wip-us.apache.org/repos/asf/tajo/blob/0ca28025/tajo-storage/tajo-storage-pgsql/src/test/resources/results/TestPgSQLQueryTests/select_all.result
----------------------------------------------------------------------
diff --git 
a/tajo-storage/tajo-storage-pgsql/src/test/resources/results/TestPgSQLQueryTests/select_all.result
 
b/tajo-storage/tajo-storage-pgsql/src/test/resources/results/TestPgSQLQueryTests/select_all.result
new file mode 100644
index 0000000..e69de29

Reply via email to