From bfae8d541c96090b98d7916059dda969167b7be8 Mon Sep 17 00:00:00 2001 From: Andrew Purtell Date: Sun, 25 Jan 2015 17:32:35 -0800 Subject: [PATCH] HBASE-12885 Unit test for RAW / VERSIONS scanner specifications (Amit Kabra) --- hbase-shell/src/test/ruby/hbase/table_test.rb | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/hbase-shell/src/test/ruby/hbase/table_test.rb b/hbase-shell/src/test/ruby/hbase/table_test.rb index 7697a2accfa..dc4dc0dfe9a 100644 --- a/hbase-shell/src/test/ruby/hbase/table_test.rb +++ b/hbase-shell/src/test/ruby/hbase/table_test.rb @@ -516,6 +516,36 @@ module Hbase assert_nil(res['2']['x:b']) end + define_test "scan should work with raw and version parameter" do + # Create test table if it does not exist + @test_name_raw = "hbase_shell_tests_raw_scan" + create_test_table(@test_name_raw) + @test_table = table(@test_name_raw) + + # Instert test data + @test_table.put(1, "x:a", 1) + @test_table.put(2, "x:raw1", 11) + @test_table.put(2, "x:raw1", 11) + @test_table.put(2, "x:raw1", 11) + @test_table.put(2, "x:raw1", 11) + + args = {} + numRows = 0 + count = @test_table._scan_internal(args) do |row, cells| # Normal Scan + numRows += 1 + end + assert_equal(numRows, 2, "Num rows scanned without RAW/VERSIONS are not 2") + + args = {VERSIONS=>10,RAW=>true} # Since 4 versions of row with rowkey 2 is been added, we can use any number >= 4 for VERSIONS to scan all 4 versions. + numRows = 0 + count = @test_table._scan_internal(args) do |row, cells| # Raw Scan + numRows += 1 + end + assert_equal(numRows, 5, "Num rows scanned without RAW/VERSIONS are not 5") # 5 since , 1 from row key '1' and other 4 from row key '4' + end + + + define_test "scan should fail on invalid COLUMNS parameter types" do assert_raise(ArgumentError) do @test_table._scan_internal COLUMNS => {}