You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by th...@apache.org on 2016/04/11 02:30:52 UTC

hive git commit: HIVE-11959 : add simple test case for TestTableIterable (Thejas M Nair via Ashutosh Chauhan)

Repository: hive
Updated Branches:
  refs/heads/master 010157e9a -> 42fa60af4


HIVE-11959 : add simple test case for TestTableIterable (Thejas M Nair  via Ashutosh Chauhan)


Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/42fa60af
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/42fa60af
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/42fa60af

Branch: refs/heads/master
Commit: 42fa60af4af204227a8c69d91084282c7a66dfc8
Parents: 010157e
Author: Thejas Nair <th...@hortonworks.com>
Authored: Sun Apr 10 17:30:38 2016 -0700
Committer: Thejas Nair <th...@hortonworks.com>
Committed: Sun Apr 10 17:30:38 2016 -0700

----------------------------------------------------------------------
 .../hive/ql/metadata/TestTableIterable.java     | 67 ++++++++++++++++++++
 1 file changed, 67 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hive/blob/42fa60af/ql/src/test/org/apache/hadoop/hive/ql/metadata/TestTableIterable.java
----------------------------------------------------------------------
diff --git a/ql/src/test/org/apache/hadoop/hive/ql/metadata/TestTableIterable.java b/ql/src/test/org/apache/hadoop/hive/ql/metadata/TestTableIterable.java
new file mode 100644
index 0000000..f6ebcce
--- /dev/null
+++ b/ql/src/test/org/apache/hadoop/hive/ql/metadata/TestTableIterable.java
@@ -0,0 +1,67 @@
+/**
+ * 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.hadoop.hive.ql.metadata;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Iterator;
+import java.util.List;
+
+import org.apache.hadoop.hive.metastore.HiveMetaStoreClient;
+import org.junit.Test;
+import org.apache.hadoop.hive.metastore.api.InvalidOperationException;
+import org.apache.hadoop.hive.metastore.api.MetaException;
+import org.apache.hadoop.hive.metastore.api.Table;
+import org.apache.hadoop.hive.metastore.api.UnknownDBException;
+import org.apache.thrift.TException;
+
+import static org.junit.Assert.*;
+import static org.mockito.Mockito.*;
+/**
+ * Unit tests for TableIterable
+ */
+public class TestTableIterable  {
+
+  @Test
+  public void testNumReturned() throws MetaException, InvalidOperationException, UnknownDBException, TException {
+    HiveMetaStoreClient msc = mock(HiveMetaStoreClient.class);
+
+
+    // create a mocked metastore client that returns 3 table objects every time it is called
+    // will use same size for TableIterable batch fetch size
+    List<Table> threeTables = Arrays.asList(new Table(), new Table(), new Table());
+    when(msc.getTableObjectsByName(anyString(), anyListOf(String.class))).thenReturn(threeTables);
+
+    List<String> tableNames = Arrays.asList("a", "b", "c", "d", "e", "f");
+    TableIterable tIterable = new TableIterable(msc, "dummy", tableNames, threeTables.size());
+    tIterable.iterator();
+
+    Iterator<Table> tIter = tIterable.iterator();
+    int size = 0;
+    while(tIter.hasNext()) {
+      size++;
+      tIter.next();
+    }
+    assertEquals("Number of table objects returned", size, tableNames.size());
+
+    verify(msc).getTableObjectsByName("dummy", Arrays.asList("a","b","c"));
+    verify(msc).getTableObjectsByName("dummy", Arrays.asList("d","e","f"));
+    
+  }
+}