You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tajo.apache.org by hy...@apache.org on 2015/09/02 13:06:46 UTC
[23/39] tajo git commit: Completed initial implementations.
http://git-wip-us.apache.org/repos/asf/tajo/blob/2cf88d02/tajo-storage/tajo-storage-pgsql/src/test/java/org/apache/tajo/storage/pgsql/TestPgSQLJdbcTableSpace.java
----------------------------------------------------------------------
diff --git a/tajo-storage/tajo-storage-pgsql/src/test/java/org/apache/tajo/storage/pgsql/TestPgSQLJdbcTableSpace.java b/tajo-storage/tajo-storage-pgsql/src/test/java/org/apache/tajo/storage/pgsql/TestPgSQLJdbcTableSpace.java
index 577176f..80305f4 100644
--- a/tajo-storage/tajo-storage-pgsql/src/test/java/org/apache/tajo/storage/pgsql/TestPgSQLJdbcTableSpace.java
+++ b/tajo-storage/tajo-storage-pgsql/src/test/java/org/apache/tajo/storage/pgsql/TestPgSQLJdbcTableSpace.java
@@ -18,70 +18,24 @@
package org.apache.tajo.storage.pgsql;
-import io.airlift.testing.postgresql.TestingPostgreSqlServer;
-import org.apache.tajo.conf.TajoConf;
import org.apache.tajo.storage.TablespaceManager;
-import org.junit.BeforeClass;
import org.junit.Test;
-import java.io.IOException;
-import java.net.URI;
-import java.sql.Connection;
-import java.sql.DriverManager;
-import java.sql.ResultSet;
-import java.sql.Statement;
-
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
public class TestPgSQLJdbcTableSpace {
- @BeforeClass
- public static void setUp() throws IOException {
- String mysqlUri = "jdbc:mysql://host1:2171/db1";
- PgSQLTablespace mysqlTablespace = new PgSQLTablespace("cluster2", URI.create(mysqlUri), null);
- mysqlTablespace.init(new TajoConf());
- TablespaceManager.addTableSpaceForTest(mysqlTablespace);
-
- String pgsqlUri = "jdbc:postgres://host1:2615/db2";
- PgSQLTablespace pgSQLTablespace = new PgSQLTablespace("cluster3", URI.create(pgsqlUri), null);
- pgSQLTablespace.init(new TajoConf());
- TablespaceManager.addTableSpaceForTest(pgSQLTablespace);
- }
+ static String jdbcUrl = EmbedPgSQLServer.getInstance().getJdbcUrl();
@Test
public void testTablespaceHandler() throws Exception {
- assertTrue((TablespaceManager.getByName("cluster2").get()) instanceof PgSQLTablespace);
- assertEquals("cluster2", (TablespaceManager.getByName("cluster2").get().getName()));
- assertTrue((TablespaceManager.get(URI.create("jdbc:mysql://host1:2171/db1")).get()) instanceof PgSQLTablespace);
- assertEquals(URI.create("jdbc:mysql://host1:2171/db1"),
- TablespaceManager.get(URI.create("jdbc:mysql://host1:2171/db1")).get().getUri());
-
- assertTrue((TablespaceManager.getByName("cluster3").get()) instanceof PgSQLTablespace);
- assertEquals("cluster3", (TablespaceManager.getByName("cluster3").get().getName()));
- assertTrue((TablespaceManager.get(URI.create("jdbc:postgres://host1:2615/db2")).get()) instanceof PgSQLTablespace);
+ assertTrue((TablespaceManager.getByName("pgsql_cluster").get()) instanceof PgSQLTablespace);
+ assertEquals("pgsql_cluster", (TablespaceManager.getByName("pgsql_cluster").get().getName()));
- assertEquals(URI.create("jdbc:postgres://host1:2615/db2"),
- TablespaceManager.get(URI.create("jdbc:postgres://host1:2615/db2")).get().getUri());
- }
-
- @Test
- public void test() throws Exception {
- try (TestingPostgreSqlServer server = new TestingPostgreSqlServer("testuser", "testdb")) {
- assertEquals(server.getUser(), "testuser");
- assertEquals(server.getDatabase(), "testdb");
- assertEquals(server.getJdbcUrl().substring(0, 5), "jdbc:");
- assertEquals(server.getPort(), URI.create(server.getJdbcUrl().substring(5)).getPort());
+ assertTrue((TablespaceManager.get(jdbcUrl).get()) instanceof PgSQLTablespace);
+ assertTrue((TablespaceManager.get(jdbcUrl + "&table=tb1").get()) instanceof PgSQLTablespace);
- try (Connection connection = DriverManager.getConnection(server.getJdbcUrl())) {
- try (Statement statement = connection.createStatement()) {
- statement.execute("CREATE TABLE test_table (c1 bigint PRIMARY KEY)");
- statement.execute("INSERT INTO test_table (c1) VALUES (1)");
- try (ResultSet resultSet = statement.executeQuery("SELECT count(*) FROM test_table")) {
- assertTrue(resultSet.next());
- assertEquals(resultSet.getLong(1), 1L);
- assertFalse(resultSet.next());
- }
- }
- }
- }
+ assertEquals(jdbcUrl, TablespaceManager.get(jdbcUrl).get().getUri().toASCIIString());
+ assertTrue(TablespaceManager.get(jdbcUrl).get().getMetadataProvider() instanceof PgSQLMetadataProvider);
}
}
http://git-wip-us.apache.org/repos/asf/tajo/blob/2cf88d02/tajo-storage/tajo-storage-pgsql/src/test/java/org/apache/tajo/storage/pgsql/TestPgSQLMetadataProvider.java
----------------------------------------------------------------------
diff --git a/tajo-storage/tajo-storage-pgsql/src/test/java/org/apache/tajo/storage/pgsql/TestPgSQLMetadataProvider.java b/tajo-storage/tajo-storage-pgsql/src/test/java/org/apache/tajo/storage/pgsql/TestPgSQLMetadataProvider.java
new file mode 100644
index 0000000..aac25f7
--- /dev/null
+++ b/tajo-storage/tajo-storage-pgsql/src/test/java/org/apache/tajo/storage/pgsql/TestPgSQLMetadataProvider.java
@@ -0,0 +1,81 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.tajo.storage.pgsql;
+
+import com.google.common.collect.Sets;
+import org.apache.tajo.catalog.MetadataProvider;
+import org.apache.tajo.catalog.TableDesc;
+import org.apache.tajo.storage.Tablespace;
+import org.apache.tajo.storage.TablespaceManager;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+import java.util.Set;
+
+import static org.junit.Assert.*;
+
+public class TestPgSQLMetadataProvider {
+ static final String jdbcUrl = EmbedPgSQLServer.getInstance().getJdbcUrl();
+
+ @BeforeClass
+ public static void setUp() throws Exception {
+ }
+
+ @Test
+ public void testGetTablespaceName() throws Exception {
+ Tablespace tablespace = TablespaceManager.get(jdbcUrl).get();
+ MetadataProvider provider = tablespace.getMetadataProvider();
+ assertEquals("pgsql_cluster", provider.getTablespaceName());
+ }
+
+ @Test
+ public void testGetDatabaseName() throws Exception {
+ Tablespace tablespace = TablespaceManager.get(jdbcUrl).get();
+ MetadataProvider provider = tablespace.getMetadataProvider();
+ assertEquals("tpch", provider.getDatabaseName());
+ }
+
+ @Test
+ public void testGetSchemas() throws Exception {
+ Tablespace tablespace = TablespaceManager.get(jdbcUrl).get();
+ MetadataProvider provider = tablespace.getMetadataProvider();
+ assertTrue(provider.getSchemas().isEmpty());
+ }
+
+ @Test
+ public void testGetTables() throws Exception {
+ Tablespace tablespace = TablespaceManager.get(jdbcUrl).get();
+ MetadataProvider provider = tablespace.getMetadataProvider();
+
+ Set<String> found = Sets.newHashSet(provider.getTables(null, null));
+ assertEquals(Sets.newHashSet(EmbedPgSQLServer.TPCH_TABLES), found);
+ }
+
+ @Test
+ public void testGetTableDescriptor() throws Exception {
+ Tablespace tablespace = TablespaceManager.get(jdbcUrl).get();
+ MetadataProvider provider = tablespace.getMetadataProvider();
+
+ for (String tableName : EmbedPgSQLServer.TPCH_TABLES) {
+ TableDesc table = provider.getTableDescriptor(null, tableName);
+ assertEquals("tpch." + tableName, table.getName());
+ assertEquals(jdbcUrl + "&table=" + tableName, table.getUri().toASCIIString());
+ }
+ }
+}