You are viewing a plain text version of this content. The canonical link for it is here.
Posted to hcatalog-commits@incubator.apache.org by ga...@apache.org on 2012/07/25 20:29:49 UTC

svn commit: r1365722 [6/11] - in /incubator/hcatalog/trunk: ./ ant/ conf/ hcatalog-pig-adapter/ ivy/ src/docs/src/documentation/content/xdocs/ src/docs/src/documentation/content/xdocs/images/ src/java/org/apache/hcatalog/mapreduce/ src/test/e2e/templet...

Added: incubator/hcatalog/trunk/src/test/e2e/templeton/tests/hcatperms.conf
URL: http://svn.apache.org/viewvc/incubator/hcatalog/trunk/src/test/e2e/templeton/tests/hcatperms.conf?rev=1365722&view=auto
==============================================================================
--- incubator/hcatalog/trunk/src/test/e2e/templeton/tests/hcatperms.conf (added)
+++ incubator/hcatalog/trunk/src/test/e2e/templeton/tests/hcatperms.conf Wed Jul 25 20:29:44 2012
@@ -0,0 +1,1478 @@
+###############################################################################
+# curl command tests for templeton
+#
+#
+
+#use Yahoo::Miners::Test::PigSetup;
+
+#PigSetup::setup();
+
+#my $me = `whoami`;
+#chomp $me;
+
+$cfg = 
+{
+ 'driver' => 'Curl',
+
+ 'groups' => 
+ [
+
+##=============================================================================================================
+  {
+   'name' => 'DB_OPS',
+   'tests' => 
+   [
+    {
+     #check if db created by UNAME_OTHER is visible for user UNAME
+     'num' => 1,
+
+     'setup' => [
+                 {
+                  'method' => 'PUT',
+                  'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/hcatperms_a',
+                  'user_name' => ':UNAME_OTHER:',
+                  'format_header' => 'Content-Type: application/json',
+                  'post_options' => ['{"comment":"Hello there", "properties":{"a":"b"}}'],
+                 }
+                ],
+     'method' => 'GET',
+     'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/',
+     'user_name' => ':UNAME:',
+
+     'format_header' => 'Content-Type: application/json',
+     'json_field_substr_match' => {'databases' => 'hcatperms_a'},
+
+     'status_code' => 200,
+    },
+
+
+    {
+
+     #check if group id is set as per spec
+     'num' => 2,
+     'setup' => [
+                 {
+                  'method' => 'DELETE',
+                  'format_header' => 'Content-Type: application/json',
+                  'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/hcatperms_b',
+                  'user_name' => ':UNAME:',
+                 },
+                 {
+                  'method' => 'PUT',
+                  'post_options' => [
+                               '{"permissions" : "rwxrwxrwx", 
+                                  "group" : ":UGROUP:"
+                                }'
+                                            ],
+                  'format_header' => 'Content-Type: application/json',
+                  'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/hcatperms_b',
+                  'user_name' => ':UNAME:',
+                 },
+
+                ],
+
+
+     'method' => 'GET',
+     'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/hcatperms_b',
+     'user_name' => ':UNAME:',
+     'format_header' => 'Content-Type: application/json',
+     'json_field_substr_match' => {'location_perms' => 'rwxrwxrwx', 'location_group' => ':UGROUP:'},
+     'status_code' => 200,
+    },
+    {
+
+     #check if group id is set as per spec
+     'num' => 3,
+     'setup' => [
+                 {
+                  'method' => 'DELETE',
+                  'format_header' => 'Content-Type: application/json',
+                  'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/hcatperms_c',
+                  'user_name' => ':UNAME:',
+                 },
+                 {
+                  'method' => 'PUT',
+                  'post_options' => [
+                               '{"permissions" : "rwxr-x---", 
+                                  "group" : ":UGROUP:"
+                                }'
+                                    ],
+                  'format_header' => 'Content-Type: application/json',
+                  'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/hcatperms_c',
+                  'user_name' => ':UNAME:',
+                 },
+
+                ],
+
+
+     'method' => 'GET',
+     'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/hcatperms_c',
+     'user_name' => ':UNAME:',
+     'format_header' => 'Content-Type: application/json',
+     'json_field_substr_match' => {'location_perms' => 'rwxr-x---', 'location_group' => ':UGROUP:'},
+     'status_code' => 200,
+    },
+
+    {
+
+     #check if user belonging to same group is able to access
+     'num' => 4,
+
+     'setup' => [
+                 {
+                  'method' => 'DELETE',
+                  'format_header' => 'Content-Type: application/json',
+                  'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/hcatperms_d',
+                  'user_name' => ':UNAME:',
+                 },
+
+                 {
+                  'method' => 'PUT',
+                  'post_options' => [
+                                     '{
+                                     "permissions" : "rwxr-x---", 
+                                     "group" : ":UGROUP:"
+                                      }'
+                                    ],
+               
+                  'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/hcatperms_d',
+                  'user_name' => ':UNAME:',
+                  'format_header' => 'Content-Type: application/json',
+                 }
+                ],
+
+
+
+     'method' => 'GET',
+     'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/hcatperms_d',
+     'user_name' => ':UNAME_GROUP:',
+     'format_header' => 'Content-Type: application/json',
+     'json_field_substr_match' => {'location_perms' => 'rwxr-x---', 'location_group' => ':UGROUP:'},
+     'status_code' => 200,
+    },
+
+    {
+
+     #check default db permissions 
+     #the default group is currently the group of parent dir
+
+     'num' => 5,
+
+     'setup' => [
+                 {
+                  'method' => 'DELETE',
+                  'format_header' => 'Content-Type: application/json',
+                  'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/hcatperms_e',
+                  'user_name' => ':UNAME:',
+                 },
+
+                 {
+                  'method' => 'PUT',
+                  'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/hcatperms_e',
+                  'user_name' => ':UNAME:',
+                  'format_header' => 'Content-Type: application/json',
+                  'post_options' => ['{}']
+
+                 }
+                ],
+
+
+
+     'method' => 'GET',
+     'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/hcatperms_e',
+     'user_name' => ':UNAME:',
+     'format_header' => 'Content-Type: application/json',
+     'json_field_substr_match' => {'location_perms' => 'rwx------'},
+     'status_code' => 200,
+    },
+
+    {
+
+     #check if user can delete db
+     'num' => 6,
+
+     'setup' => [
+                 {
+                  'method' => 'DELETE',
+                  'format_header' => 'Content-Type: application/json',
+                  'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/hcatperms_f',
+                  'user_name' => ':UNAME:',
+                 },
+
+                 {
+                  'method' => 'PUT',
+                  'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/hcatperms_f',
+                  'user_name' => ':UNAME:',
+                  'format_header' => 'Content-Type: application/json',
+                  'post_options' => ['{}']
+
+                 }
+                ],
+
+
+
+     'method' => 'DELETE',
+     'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/hcatperms_f',
+     'user_name' => ':UNAME:',
+     'format_header' => 'Content-Type: application/json',
+     'status_code' => 200,
+    },
+
+    {
+
+     #check if user belonging to group can delete table 
+     'num' => 7,
+
+     'setup' => [
+                 {
+                  'method' => 'DELETE',
+                  'format_header' => 'Content-Type: application/json',
+                  'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/hcatperms_:TNUM:',
+                  'user_name' => ':UNAME:',
+                 },
+
+                 {
+                  'method' => 'PUT',
+                  'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/hcatperms_:TNUM:',
+                  'user_name' => ':UNAME:',
+                  'format_header' => 'Content-Type: application/json',
+                  'post_options' => ['{ "permissions" : "rwxrwx---", "group" : ":UGROUP:" }']
+
+                 }
+                ],
+
+
+
+     'method' => 'DELETE',
+     'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/hcatperms_:TNUM:',
+     'user_name' => ':UNAME_GROUP:',
+     'format_header' => 'Content-Type: application/json',
+     'status_code' => 200,
+    },
+    {
+
+     #check if user belonging to group is unable to delete table  
+     'num' => 8,
+     'setup' => [
+                 {
+                  'method' => 'DELETE',
+                  'format_header' => 'Content-Type: application/json',
+                  'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/hcatperms_:TNUM:',
+                  'user_name' => ':UNAME:',
+                 },
+
+                 {
+                  'method' => 'PUT',
+                  'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/hcatperms_:TNUM:',
+                  'user_name' => ':UNAME:',
+                  'format_header' => 'Content-Type: application/json',
+                  'post_options' => ['{ "permissions" : "rwx------", "group" : ":UGROUP:" }']
+
+                 }
+                ],
+
+
+     'method' => 'DELETE',
+     'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/hcatperms_:TNUM:',
+     'user_name' => ':UNAME_GROUP:',
+     'format_header' => 'Content-Type: application/json',
+     'status_code' => 500,
+    },
+
+    {
+
+     #check if user belonging to 'other' is unable to delete table  
+     'num' => 10,
+     'setup' => [
+                 {
+                  'method' => 'DELETE',
+                  'format_header' => 'Content-Type: application/json',
+                  'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/hcatperms_:TNUM:',
+                  'user_name' => ':UNAME:',
+                 },
+
+                 {
+                  'method' => 'PUT',
+                  'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/hcatperms_:TNUM:',
+                  'user_name' => ':UNAME:',
+                  'format_header' => 'Content-Type: application/json',
+                  'post_options' => ['{ "permissions" : "rwx------", "group" : ":UGROUP:" }']
+
+                 }
+                ],
+
+
+     'method' => 'DELETE',
+     'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/hcatperms_:TNUM:',
+     'user_name' => ':UNAME_OTHER:',
+     'format_header' => 'Content-Type: application/json',
+     'status_code' => 500,
+    },
+
+
+    {
+
+     #check if user is able to create table
+     'num' => 11,
+     'setup' => [
+                 {
+                  'method' => 'DELETE',
+                  'format_header' => 'Content-Type: application/json',
+                  'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/hcatperms_:TNUM:?ifExists=true&option=cascade',
+                  'user_name' => ':UNAME:',
+                  'status_code' => 200,
+                 },
+
+                 {
+                  'method' => 'PUT',
+                  'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/hcatperms_:TNUM:',
+                  'user_name' => ':UNAME:',
+                  'format_header' => 'Content-Type: application/json',
+                  'post_options' => ['{ "permissions" : "rwx------" }']
+
+                 },
+
+                ],
+
+
+      'method' => 'PUT',
+      'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/hcatperms_:TNUM:/table/permstable_:TNUM:',
+      'format_header' => 'Content-Type: application/json', 
+      'post_options' => ['{
+              "columns": [
+                      { "name" : "i", "type" : "int" },
+                      { "name" : "j", "type" : "bigint", "comment" : "some comment" }
+              ], 
+  	          "format" : {  "storedAs" : "rcfile"} 
+          }'],
+      'user_name' => ':UNAME:',
+      'status_code' => 200,
+
+    },
+
+    {
+
+     #check if group user is able to create table
+     'num' => 12,
+     'setup' => [
+                 {
+                  'method' => 'DELETE',
+                  'format_header' => 'Content-Type: application/json',
+                  'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/hcatperms_:TNUM:?ifExists=true&option=cascade',
+                  'user_name' => ':UNAME:',
+                  'status_code' => 200,
+                 },
+
+                 {
+                  'method' => 'PUT',
+                  'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/hcatperms_:TNUM:',
+                  'user_name' => ':UNAME:',
+                  'format_header' => 'Content-Type: application/json',
+                  'post_options' => ['{ "permissions" : "rwxrwx---" , "group" : ":UGROUP:"} ']
+
+                 },
+
+                ],
+
+
+      'method' => 'PUT',
+      'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/hcatperms_:TNUM:/table/permstable_:TNUM:',
+      'format_header' => 'Content-Type: application/json', 
+      'post_options' => ['{
+              "columns": [
+                      { "name" : "i", "type" : "int" },
+                      { "name" : "j", "type" : "bigint", "comment" : "some comment" }
+              ], 
+  	          "format" : {  "storedAs" : "rcfile"} 
+          }'],
+      'user_name' => ':UNAME_GROUP:',
+      'status_code' => 200,
+
+    },
+
+    {
+
+     #check if group user is unable to create table without permissions
+     'num' => 13,
+     'setup' => [
+                 {
+                  'method' => 'DELETE',
+                  'format_header' => 'Content-Type: application/json',
+                  'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/hcatperms_:TNUM:?ifExists=true&option=cascade',
+                  'user_name' => ':UNAME:',
+                  'status_code' => 200,
+                 },
+
+                 {
+                  'method' => 'PUT',
+                  'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/hcatperms_:TNUM:',
+                  'user_name' => ':UNAME:',
+                  'format_header' => 'Content-Type: application/json',
+                  'post_options' => ['{ "permissions" : "rwx------", "group" : ":UGROUP:" }']
+
+                 },
+
+                ],
+
+     
+      'method' => 'PUT',
+      'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/hcatperms_:TNUM:/table/permstable_:TNUM:',
+      'format_header' => 'Content-Type: application/json', 
+      'post_options' => ['{
+              "columns": [
+                      { "name" : "i", "type" : "int" },
+                      { "name" : "j", "type" : "bigint", "comment" : "some comment" }
+              ], 
+  	          "format" : {  "storedAs" : "rcfile"} 
+          }'],
+      'user_name' => ':UNAME_GROUP:',
+      'status_code' => 500,
+
+    },
+
+    {
+
+     #check if other user is unable to create table without permissions
+     'num' => 14,
+     'setup' => [
+                 {
+                  'method' => 'DELETE',
+                  'format_header' => 'Content-Type: application/json',
+                  'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/hcatperms_:TNUM:?ifExists=true&option=cascade',
+                  'user_name' => ':UNAME:',
+                  'status_code' => 200,
+                 },
+
+                 {
+                  'method' => 'PUT',
+                  'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/hcatperms_:TNUM:',
+                  'user_name' => ':UNAME:',
+                  'format_header' => 'Content-Type: application/json',
+                  'post_options' => ['{ "permissions" : "rwxrwx---", "group" : ":UGROUP:" }'],
+                  'status_code' => 200,
+                 },
+
+                ],
+
+     
+      'method' => 'PUT',
+      'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/hcatperms_:TNUM:/table/permstable_:TNUM:',
+      'format_header' => 'Content-Type: application/json', 
+      'post_options' => ['{
+              "columns": [
+                      { "name" : "i", "type" : "int" },
+                      { "name" : "j", "type" : "bigint", "comment" : "some comment" }
+              ], 
+  	          "format" : {  "storedAs" : "rcfile"} 
+          }'],
+      'user_name' => ':UNAME_OTHER:',
+      'status_code' => 500,
+
+    },
+
+    {
+
+     #show table allowed for user
+     'num' => 15,
+     'setup' => [
+                 {
+                  'method' => 'DELETE',
+                  'format_header' => 'Content-Type: application/json',
+                  'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/hcatperms_:TNUM:?ifExists=true&option=cascade',
+                  'user_name' => ':UNAME:',
+                  'status_code' => 200,
+                 },
+
+                 {
+                  'method' => 'PUT',
+                  'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/hcatperms_:TNUM:',
+                  'user_name' => ':UNAME:',
+                  'format_header' => 'Content-Type: application/json',
+                  'post_options' => ['{ "permissions" : "rwxrwx---", "group" : ":UGROUP:" }'],
+                  'status_code' => 200,
+                 },
+                 {
+                  'method' => 'PUT',
+                  'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/hcatperms_:TNUM:/table/permstable_:TNUM:',
+                  'format_header' => 'Content-Type: application/json', 
+                  'post_options' => ['{
+              "columns": [
+                      { "name" : "i", "type" : "int" }
+              ], 
+  	          "format" : {  "storedAs" : "rcfile"} 
+          }'],
+                  'user_name' => ':UNAME:',
+                  'status_code' => 200,
+                 }
+
+                ],
+
+     
+      'method' => 'GET',
+      'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/hcatperms_:TNUM:/table/',
+      'format_header' => 'Content-Type: application/json', 
+      'user_name' => ':UNAME:',
+      'status_code' => 200,
+     'json_field_substr_match' => {'tables' => 'permstable_:TNUM:'},
+
+
+    },
+
+
+    {
+
+     #show table allowed for group
+     'num' => 16,
+     'setup' => [
+                 {
+                  'method' => 'DELETE',
+                  'format_header' => 'Content-Type: application/json',
+                  'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/hcatperms_:TNUM:?ifExists=true&option=cascade',
+                  'user_name' => ':UNAME:',
+                  'status_code' => 200,
+                 },
+
+                 {
+                  'method' => 'PUT',
+                  'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/hcatperms_:TNUM:',
+                  'user_name' => ':UNAME:',
+                  'format_header' => 'Content-Type: application/json',
+                  'post_options' => ['{ "permissions" : "rwxrwx---", "group" : ":UGROUP:" }'],
+                  'status_code' => 200,
+                 },
+                 {
+                  'method' => 'PUT',
+                  'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/hcatperms_:TNUM:/table/permstable_:TNUM:',
+                  'format_header' => 'Content-Type: application/json', 
+                  'post_options' => ['{
+              "columns": [
+                      { "name" : "i", "type" : "int" }
+              ], 
+  	          "format" : {  "storedAs" : "rcfile"} 
+          }'],
+                  'user_name' => ':UNAME:',
+                  'status_code' => 200,
+                 }
+
+                ],
+
+     
+      'method' => 'GET',
+      'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/hcatperms_:TNUM:/table/',
+      'format_header' => 'Content-Type: application/json', 
+      'user_name' => ':UNAME_GROUP:',
+      'status_code' => 200,
+     'json_field_substr_match' => {'tables' => 'permstable_:TNUM:'},
+
+
+    },
+
+    {
+
+     #show table not allowed for group user without permissions
+     'num' => 17,
+     'setup' => [
+                 { #drop db cascade
+                  'method' => 'DELETE',
+                  'format_header' => 'Content-Type: application/json',
+                  'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/hcatperms_:TNUM:?ifExists=true&option=cascade',
+                  'user_name' => ':UNAME:',
+                  'status_code' => 200,
+                 },
+
+                 {
+                  #create db
+                  'method' => 'PUT',
+                  'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/hcatperms_:TNUM:',
+                  'user_name' => ':UNAME:',
+                  'format_header' => 'Content-Type: application/json',
+                  'post_options' => ['{ "permissions" : "rwx------", "group" : ":UGROUP:" }'],
+                  'status_code' => 200,
+                 },
+                 {
+                  #create table
+                  'method' => 'PUT',
+                  'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/hcatperms_:TNUM:/table/permstable_:TNUM:',
+                  'format_header' => 'Content-Type: application/json', 
+                  'post_options' => ['{
+              "columns": [
+                      { "name" : "i", "type" : "int" }
+              ], 
+  	          "format" : {  "storedAs" : "rcfile"} 
+          }'],
+                  'user_name' => ':UNAME:',
+                  'status_code' => 200,
+                 }
+
+                ],
+
+     
+      'method' => 'GET',
+      'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/hcatperms_:TNUM:/table/',
+      'format_header' => 'Content-Type: application/json', 
+      'user_name' => ':UNAME_GROUP:',
+      'status_code' => 500,
+
+
+    },
+
+    {
+     #show table not allowed for other  user without permissions
+     'num' => 18,
+     'setup' => [
+                 { #drop db cascade
+                  'method' => 'DELETE',
+                  'format_header' => 'Content-Type: application/json',
+                  'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/hcatperms_:TNUM:?ifExists=true&option=cascade',
+                  'user_name' => ':UNAME:',
+                  'status_code' => 200,
+                 },
+
+                 {
+                  #create db
+                  'method' => 'PUT',
+                  'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/hcatperms_:TNUM:',
+                  'user_name' => ':UNAME:',
+                  'format_header' => 'Content-Type: application/json',
+                  'post_options' => ['{ "permissions" : "rwx------", "group" : ":UGROUP:" }'],
+                  'status_code' => 200,
+                 },
+                 {
+                  #create table
+                  'method' => 'PUT',
+                  'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/hcatperms_:TNUM:/table/permstable_:TNUM:',
+                  'format_header' => 'Content-Type: application/json', 
+                  'post_options' => ['{
+              "columns": [
+                      { "name" : "i", "type" : "int" }
+              ], 
+  	          "format" : {  "storedAs" : "rcfile"} 
+          }'],
+                  'user_name' => ':UNAME:',
+                  'status_code' => 200,
+                 }
+
+                ],
+
+     
+      'method' => 'GET',
+      'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/hcatperms_:TNUM:/table/',
+      'format_header' => 'Content-Type: application/json', 
+      'user_name' => ':UNAME_OTHER:',
+      'status_code' => 500,
+     'json_field_substr_match' => {'error' => 'unable to show tables'},
+
+
+    },
+
+
+    {
+
+     #describe db - by user
+     'num' => 19,
+     'setup' => [
+                 { #drop db cascade
+                  'method' => 'DELETE',
+                  'format_header' => 'Content-Type: application/json',
+                  'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/hcatperms_:TNUM:?ifExists=true&option=cascade',
+                  'user_name' => ':UNAME:',
+                  'status_code' => 200,
+                 },
+
+                 {
+                  #create db
+                  'method' => 'PUT',
+                  'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/hcatperms_:TNUM:',
+                  'user_name' => ':UNAME:',
+                  'format_header' => 'Content-Type: application/json',
+                  'post_options' => ['{ "permissions" : "rwxrwx---" }'],
+                  'status_code' => 200,
+                 },
+
+                ],
+
+     
+      'method' => 'GET',
+      'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/hcatperms_:TNUM:',
+      'format_header' => 'Content-Type: application/json', 
+      'user_name' => ':UNAME:',
+      'status_code' => 200,
+     'json_field_substr_match' => {'database' => 'hcatperms_:TNUM:', 
+                                   'location' => 'hcatperms_:TNUM:'},
+
+
+    },
+
+    {
+
+     #describe db - by group user
+     'num' => 20,
+     'setup' => [
+                 { #drop db cascade
+                  'method' => 'DELETE',
+                  'format_header' => 'Content-Type: application/json',
+                  'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/hcatperms_:TNUM:?ifExists=true&option=cascade',
+                  'user_name' => ':UNAME:',
+                  'status_code' => 200,
+                 },
+
+                 {
+                  #create db
+                  'method' => 'PUT',
+                  'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/hcatperms_:TNUM:',
+                  'user_name' => ':UNAME:',
+                  'format_header' => 'Content-Type: application/json',
+                  'post_options' => ['{ "permissions" : "rwxrwx---", "group" : ":UGROUP:" }'],
+                  'status_code' => 200,
+                 },
+
+                ],
+
+     
+      'method' => 'GET',
+      'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/hcatperms_:TNUM:',
+      'format_header' => 'Content-Type: application/json', 
+      'user_name' => ':UNAME_GROUP:',
+      'status_code' => 200,
+     'json_field_substr_match' => {'database' => 'hcatperms_:TNUM:', 
+                                   'location' => 'hcatperms_:TNUM:'},
+
+
+    },
+
+    {
+
+     #describe db - by group user without permissions
+     'num' => 21,
+     'setup' => [
+                 { #drop db cascade
+                  'method' => 'DELETE',
+                  'format_header' => 'Content-Type: application/json',
+                  'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/hcatperms_:TNUM:?ifExists=true&option=cascade',
+                  'user_name' => ':UNAME:',
+                  'status_code' => 200,
+                 },
+
+                 {
+                  #create db
+                  'method' => 'PUT',
+                  'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/hcatperms_:TNUM:',
+                  'user_name' => ':UNAME:',
+                  'format_header' => 'Content-Type: application/json',
+                  'post_options' => ['{ "permissions" : "rwx------", "group" : ":UGROUP:" }'],
+                  'status_code' => 200,
+                 },
+
+                ],
+
+     
+      'method' => 'GET',
+      'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/hcatperms_:TNUM:',
+      'format_header' => 'Content-Type: application/json', 
+      'user_name' => ':UNAME_GROUP:',
+      'status_code' => 500,
+
+    },
+
+    {
+
+     #describe db - by other user without permissions
+     'num' => 22,
+     'setup' => [
+                 { #drop db cascade
+                  'method' => 'DELETE',
+                  'format_header' => 'Content-Type: application/json',
+                  'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/hcatperms_:TNUM:?ifExists=true&option=cascade',
+                  'user_name' => ':UNAME:',
+                  'status_code' => 200,
+                 },
+
+                 {
+                  #create db
+                  'method' => 'PUT',
+                  'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/hcatperms_:TNUM:',
+                  'user_name' => ':UNAME:',
+                  'format_header' => 'Content-Type: application/json',
+                  'post_options' => ['{ "permissions" : "rwx------", "group" : ":UGROUP:" }'],
+                  'status_code' => 200,
+                 },
+
+                ],
+
+     
+      'method' => 'GET',
+      'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/hcatperms_:TNUM:',
+      'format_header' => 'Content-Type: application/json', 
+      'user_name' => ':UNAME_OTHER:',
+      'status_code' => 500,
+
+    },
+
+   ]
+  },
+
+##=============================================================================================================
+
+  {
+   'name' => 'TABLE_OPS',
+   'tests' => 
+   [
+    {
+     #test if the permissions and group for table are set correctly 
+     'num' => 1,
+     'setup' => [
+                 {              #drop table
+                  'method' => 'DELETE',
+                  'format_header' => 'Content-Type: application/json',
+                  'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/default/table/permstable_:TNUM:?ifExists=true',
+                  'user_name' => ':UNAME:',
+                  'status_code' => 200,
+                 },
+                 {              #create table
+                  'method' => 'PUT',
+                  'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/default/table/permstable_:TNUM:',
+                  'format_header' => 'Content-Type: application/json', 
+                  'post_options' => ['{ "columns": [ { "name" : "i", "type" : "int" } ],"format" : {  "storedAs" : "rcfile"},
+                          "permissions" : "rwxr-xr-x", "group" : ":UGROUP:" }'],
+                  'user_name' => ':UNAME:',
+                  'status_code' => 200,
+                 }
+
+                ],
+
+     
+     'method' => 'GET',
+     'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/default/table/permstable_:TNUM:?format=extended',
+     'format_header' => 'Content-Type: application/json', 
+     'user_name' => ':UNAME:',
+     'status_code' => 200,
+     'json_field_substr_match' => {'location_perms' => 'rwxr-xr-x', 'location_group' => ':UGROUP:'},
+
+    },
+
+    {
+     #check default permissions 
+     #the default group is currently the group of parent dir
+     'num' => 2,
+     'setup' => [
+                 {              #drop table
+                  'method' => 'DELETE',
+                  'format_header' => 'Content-Type: application/json',
+                  'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/default/table/permstable_:TNUM:?ifExists=true',
+                  'user_name' => ':UNAME:',
+                  'status_code' => 200,
+                 },
+                 {              #create table
+                  'method' => 'PUT',
+                  'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/default/table/permstable_:TNUM:',
+                  'format_header' => 'Content-Type: application/json', 
+                  'post_options' => ['{ "columns": [ { "name" : "i", "type" : "int" } ],"format" : {  "storedAs" : "rcfile"} }'],
+                  'user_name' => ':UNAME:',
+                  'status_code' => 200,
+                 }
+
+                ],
+
+     
+     'method' => 'GET',
+     'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/default/table/permstable_:TNUM:?format=extended',
+     'format_header' => 'Content-Type: application/json', 
+     'user_name' => ':UNAME:',
+     'status_code' => 200,
+     'json_field_substr_match' => {'location_perms' => 'rwx------', 'location_owner' => ':UNAME:'},
+
+    },
+
+    {
+     #alter table permissions for user
+     'num' => 3,
+     'setup' => [
+                 {              #drop table
+                  'method' => 'DELETE',
+                  'format_header' => 'Content-Type: application/json',
+                  'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/default/table/permstable_:TNUM:?ifExists=true',
+                  'user_name' => ':UNAME:',
+                  'status_code' => 200,
+                 },
+                 {              #create table
+                  'method' => 'PUT',
+                  'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/default/table/permstable_:TNUM:',
+                  'format_header' => 'Content-Type: application/json', 
+                  'post_options' => ['{ "columns": [ { "name" : "i", "type" : "int" } ],"format" : {  "storedAs" : "rcfile"} }'],
+                  'user_name' => ':UNAME:',
+                  'status_code' => 200,
+                 }
+
+                ],
+
+     #alter table add column j
+     'method' => 'PUT',
+     'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/default/table/permstable_:TNUM:/column/j',
+     'format_header' => 'Content-Type: application/json', 
+     'post_options' => ['{"type": "string", "comment": "The 2nd col"}'],
+     'user_name' => ':UNAME:',
+     'status_code' => 200,
+    },
+
+    {
+     #alter table for group user - with permissions
+     'num' => 4,
+     'setup' => [
+                 {              #drop table
+                  'method' => 'DELETE',
+                  'format_header' => 'Content-Type: application/json',
+                  'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/default/table/permstable_:TNUM:?ifExists=true',
+                  'user_name' => ':UNAME:',
+                  'status_code' => 200,
+                 },
+                 {              #create table
+                  'method' => 'PUT',
+                  'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/default/table/permstable_:TNUM:',
+                  'format_header' => 'Content-Type: application/json', 
+                  'post_options' => ['{ "columns": [ { "name" : "i", "type" : "int" } ],
+                          "format" : {  "storedAs" : "rcfile"}, 
+                          "permissions" : "rwxrwxr-x", "group" : ":UGROUP:" }' ],
+                  'user_name' => ':UNAME:',
+                  'status_code' => 200,
+                 }
+
+                ],
+
+     #alter table add column j
+     'method' => 'PUT',
+     'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/default/table/permstable_:TNUM:/column/j',
+     'format_header' => 'Content-Type: application/json', 
+     'post_options' => ['{"type": "string", "comment": "The 2nd col"}'],
+     'user_name' => ':UNAME_GROUP:',
+     'status_code' => 200,
+    },
+
+    {
+     #alter table for group user -without permissions
+     'num' => 5,
+     'setup' => [
+                 {              #drop table
+                  'method' => 'DELETE',
+                  'format_header' => 'Content-Type: application/json',
+                  'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/default/table/permstable_:TNUM:?ifExists=true',
+                  'user_name' => ':UNAME:',
+                  'status_code' => 200,
+                 },
+                 {              #create table
+                  'method' => 'PUT',
+                  'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/default/table/permstable_:TNUM:',
+                  'format_header' => 'Content-Type: application/json', 
+                  'post_options' => ['{ "columns": [ { "name" : "i", "type" : "int" } ],
+                          "format" : {  "storedAs" : "rcfile"}, 
+                          "permissions" : "rwxr-xr-x", "group" : ":UGROUP:" }' ],
+                  'user_name' => ':UNAME:',
+                  'status_code' => 200,
+                 }
+
+                ],
+
+     #alter table add column j
+     'method' => 'PUT',
+     'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/default/table/permstable_:TNUM:/column/j',
+     'format_header' => 'Content-Type: application/json', 
+     'post_options' => ['{"type": "string", "comment": "The 2nd col"}'],
+     'user_name' => ':UNAME_GROUP:',
+     'status_code' => 500,
+    },
+
+    {
+     #alter table for other user -without permissions
+     'num' => 6,
+     'setup' => [
+                 {              #drop table
+                  'method' => 'DELETE',
+                  'format_header' => 'Content-Type: application/json',
+                  'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/default/table/permstable_:TNUM:?ifExists=true',
+                  'user_name' => ':UNAME:',
+                  'status_code' => 200,
+                 },
+                 {              #create table
+                  'method' => 'PUT',
+                  'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/default/table/permstable_:TNUM:',
+                  'format_header' => 'Content-Type: application/json', 
+                  'post_options' => ['{ "columns": [ { "name" : "i", "type" : "int" } ],
+                          "format" : {  "storedAs" : "rcfile"}, 
+                          "permissions" : "rwxr-xr-x", "group" : ":UGROUP:" }' ],
+                  'user_name' => ':UNAME:',
+                  'status_code' => 200,
+                 }
+
+                ],
+
+     #alter table add column j
+     'method' => 'PUT',
+     'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/default/table/permstable_:TNUM:/column/j',
+     'format_header' => 'Content-Type: application/json', 
+     'post_options' => ['{"type": "string", "comment": "The 2nd col"}'],
+     'user_name' => ':UNAME_OTHER:',
+     'status_code' => 500,
+    },
+
+    {
+     #drop table by user
+     'num' => 7,
+     'setup' => [
+                 {              #drop table
+                  'method' => 'DELETE',
+                  'format_header' => 'Content-Type: application/json',
+                  'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/default/table/permstable_:TNUM:?ifExists=true',
+                  'user_name' => ':UNAME:',
+                  'status_code' => 200,
+                 },
+                 {              #create table
+                  'method' => 'PUT',
+                  'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/default/table/permstable_:TNUM:',
+                  'format_header' => 'Content-Type: application/json', 
+                  'post_options' => ['{ "columns": [ { "name" : "i", "type" : "int" } ],
+                          "format" : {  "storedAs" : "rcfile"}, 
+                          "permissions" : "rwxr-xr-x", "group" : ":UGROUP:" }' ],
+                  'user_name' => ':UNAME:',
+                  'status_code' => 200,
+                 }
+
+                ],
+
+                   #drop table
+     'method' => 'DELETE',
+     'format_header' => 'Content-Type: application/json',
+     'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/default/table/permstable_:TNUM:',
+     'user_name' => ':UNAME:',
+     'status_code' => 200,
+    },
+
+    {
+     #drop table by group user with permissions
+     'num' => 8,
+     'setup' => [
+                 {              #drop table
+                  'method' => 'DELETE',
+                  'format_header' => 'Content-Type: application/json',
+                  'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/default/table/permstable_:TNUM:?ifExists=true',
+                  'user_name' => ':UNAME:',
+                  'status_code' => 200,
+                 },
+                 {              #create table
+                  'method' => 'PUT',
+                  'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/default/table/permstable_:TNUM:',
+                  'format_header' => 'Content-Type: application/json', 
+                  'post_options' => ['{ "columns": [ { "name" : "i", "type" : "int" } ],
+                          "format" : {  "storedAs" : "rcfile"}, 
+                          "permissions" : "rwxrwx---", "group" : ":UGROUP:" }' ],
+                  'user_name' => ':UNAME:',
+                  'status_code' => 200,
+                 }
+
+                ],
+
+                   #drop table
+     'method' => 'DELETE',
+     'format_header' => 'Content-Type: application/json',
+     'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/default/table/permstable_:TNUM:',
+     'user_name' => ':UNAME_GROUP:',
+     'status_code' => 200,
+    },
+
+    {
+     #drop table by group user without permissions
+     'num' => 9,
+     'setup' => [
+                 {              #drop table
+                  'method' => 'DELETE',
+                  'format_header' => 'Content-Type: application/json',
+                  'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/default/table/permstable_:TNUM:?ifExists=true',
+                  'user_name' => ':UNAME:',
+                  'status_code' => 200,
+                 },
+                 {              #create table
+                  'method' => 'PUT',
+                  'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/default/table/permstable_:TNUM:',
+                  'format_header' => 'Content-Type: application/json', 
+                  'post_options' => ['{ "columns": [ { "name" : "i", "type" : "int" } ],
+                          "format" : {  "storedAs" : "rcfile"}, 
+                          "permissions" : "rwx------", "group" : ":UGROUP:" }' ],
+                  'user_name' => ':UNAME:',
+                  'status_code' => 200,
+                 }
+
+                ],
+
+                   #drop table
+     'method' => 'DELETE',
+     'format_header' => 'Content-Type: application/json',
+     'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/default/table/permstable_:TNUM:',
+     'user_name' => ':UNAME_GROUP:',
+     'status_code' => 500,
+    },
+
+    {
+     #drop table by other user without permissions
+     'num' => 10,
+     'setup' => [
+                 {              #drop table
+                  'method' => 'DELETE',
+                  'format_header' => 'Content-Type: application/json',
+                  'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/default/table/permstable_:TNUM:?ifExists=true',
+                  'user_name' => ':UNAME:',
+                  'status_code' => 200,
+                 },
+                 {              #create table
+                  'method' => 'PUT',
+                  'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/default/table/permstable_:TNUM:',
+                  'format_header' => 'Content-Type: application/json', 
+                  'post_options' => ['{ "columns": [ { "name" : "i", "type" : "int" } ],
+                          "format" : {  "storedAs" : "rcfile"}, 
+                          "permissions" : "rwx------", "group" : ":UGROUP:" }' ],
+                  'user_name' => ':UNAME:',
+                  'status_code' => 200,
+                 }
+
+                ],
+
+                   #drop table
+     'method' => 'DELETE',
+     'format_header' => 'Content-Type: application/json',
+     'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/default/table/permstable_:TNUM:',
+     'user_name' => ':UNAME_OTHER:',
+     'status_code' => 500,
+    },
+
+
+    {
+     #show table allowed for user
+     'num' => 11,
+     'setup' => [
+                  {
+                   'method' => 'DELETE',
+                   'format_header' => 'Content-Type: application/json',
+                   'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/tabpermsdb:TNUM:?ifExists=true&option=cascade',
+                   'user_name' => ':UNAME:',
+                   'status_code' => 200,
+                  },
+
+                  {
+                   'method' => 'PUT',
+                   'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/tabpermsdb:TNUM:',
+                   'user_name' => ':UNAME:',
+                   'format_header' => 'Content-Type: application/json',
+                   'post_options' => ['{ "permissions" : "rwxrwx---" }'],
+                   'status_code' => 200,
+                  },
+                  {
+                   'method' => 'PUT',
+                   'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/tabpermsdb:TNUM:/table/permstable_:TNUM:',
+                   'format_header' => 'Content-Type: application/json', 
+                   'post_options' => ['{
+              "columns": [
+                      { "name" : "i", "type" : "int" }
+              ], 
+  	          "format" : {  "storedAs" : "rcfile"} 
+          }'],
+                   'user_name' => ':UNAME:',
+                   'status_code' => 200,
+                  }
+
+                 ],
+
+     
+     'method' => 'GET',
+     'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/tabpermsdb:TNUM:/table/',
+     'format_header' => 'Content-Type: application/json', 
+     'user_name' => ':UNAME:',
+     'status_code' => 200,
+     'json_field_substr_match' => {'tables' => 'permstable_:TNUM:'},
+
+    },
+
+    {
+     #show table allowed for group  user with permissions
+     'num' => 12,
+     'setup' => [
+                  {
+                   'method' => 'DELETE',
+                   'format_header' => 'Content-Type: application/json',
+                   'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/tabpermsdb:TNUM:?ifExists=true&option=cascade',
+                   'user_name' => ':UNAME:',
+                   'status_code' => 200,
+                  },
+
+                  {
+                   'method' => 'PUT',
+                   'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/tabpermsdb:TNUM:',
+                   'user_name' => ':UNAME:',
+                   'format_header' => 'Content-Type: application/json',
+                   'post_options' => ['{ "permissions" : "rwxrwx---",  "group" : ":UGROUP:" }'],
+                   'status_code' => 200,
+                  },
+                  {
+                   'method' => 'PUT',
+                   'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/tabpermsdb:TNUM:/table/permstable_:TNUM:',
+                   'format_header' => 'Content-Type: application/json', 
+                   'post_options' => ['{
+                        "columns": [ { "name" : "i", "type" : "int" }], "permissions" : "rwxrwx---", "group" : ":UGROUP:" }
+  	                  "format" : {  "storedAs" : "rcfile"} 
+                    }'],
+                   'user_name' => ':UNAME:',
+                   'status_code' => 200,
+                  }
+
+                 ],
+
+     
+     'method' => 'GET',
+     'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/tabpermsdb:TNUM:/table/',
+     'format_header' => 'Content-Type: application/json', 
+     'user_name' => ':UNAME_GROUP:',
+     'status_code' => 200,
+     'json_field_substr_match' => {'tables' => 'permstable_:TNUM:'},
+
+    },
+
+    {
+     #show table not allowed for group user without permissions
+     'num' => 13,
+     'ignore' => 'HIVE-3009',
+     'setup' => [
+                  {
+                   'method' => 'DELETE',
+                   'format_header' => 'Content-Type: application/json',
+                   'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/tabpermsdb:TNUM:?ifExists=true&option=cascade',
+                   'user_name' => ':UNAME:',
+                   'status_code' => 200,
+                  },
+
+                  {
+                   'method' => 'PUT',
+                   'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/tabpermsdb:TNUM:',
+                   'user_name' => ':UNAME:',
+                   'format_header' => 'Content-Type: application/json',
+                   'post_options' => ['{ "permissions" : "rwxrwx---" }'],
+                   'status_code' => 200,
+                  },
+                  {
+                   'method' => 'PUT',
+                   'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/tabpermsdb:TNUM:/table/permstable_:TNUM:',
+                   'format_header' => 'Content-Type: application/json', 
+                   'post_options' => ['{
+                        "columns": [ { "name" : "i", "type" : "int" }], "permissions" : "rwx------", "group" : ":UGROUP:" }
+  	                  "format" : {  "storedAs" : "rcfile"} 
+                    }'],
+                   'user_name' => ':UNAME:',
+                   'status_code' => 200,
+                  }
+
+                 ],
+
+     
+     'method' => 'GET',
+     'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/tabpermsdb:TNUM:/table/',
+     'format_header' => 'Content-Type: application/json', 
+     'user_name' => ':UNAME_GROUP:',
+     'status_code' => 500,
+     'json_field_substr_match' => {'error' => 'unable to show tables'},
+
+    },
+
+    {
+     #show table not allowed for other user without permissions
+     'num' => 14,
+     'ignore' => 'HIVE-3009',
+     'setup' => [
+                  {
+                   'method' => 'DELETE',
+                   'format_header' => 'Content-Type: application/json',
+                   'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/tabpermsdb:TNUM:?ifExists=true&option=cascade',
+                   'user_name' => ':UNAME:',
+                   'status_code' => 200,
+                  },
+
+                  {
+                   'method' => 'PUT',
+                   'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/tabpermsdb:TNUM:',
+                   'user_name' => ':UNAME:',
+                   'format_header' => 'Content-Type: application/json',
+                   'post_options' => ['{ "permissions" : "rwxrwxrwx" }'],
+                   'status_code' => 200,
+                  },
+                  {
+                   'method' => 'PUT',
+                   'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/tabpermsdb:TNUM:/table/permstable_:TNUM:',
+                   'format_header' => 'Content-Type: application/json', 
+                   'post_options' => ['{
+                        "columns": [ { "name" : "i", "type" : "int" }], "permissions" : "rwx------", "group" : ":UGROUP:" }
+  	                  "format" : {  "storedAs" : "rcfile"} 
+                    }'],
+                   'user_name' => ':UNAME:',
+                   'status_code' => 200,
+                  }
+
+                 ],
+
+     
+     'method' => 'GET',
+     'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/tabpermsdb:TNUM:/table/',
+     'format_header' => 'Content-Type: application/json', 
+     'user_name' => ':UNAME_OTHER:',
+     'status_code' => 500,
+     'json_field_substr_match' => {'error' => 'unable to show tables'},
+
+    },
+
+    {
+     #show table not allowed for other user without permissions
+     'num' => 15,
+     'ignore' => 'see HIVE-3009',
+     'setup' => [
+                  {
+                   'method' => 'DELETE',
+                   'format_header' => 'Content-Type: application/json',
+                   'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/tabpermsdb:TNUM:?ifExists=true&option=cascade',
+                   'user_name' => ':UNAME:',
+                   'status_code' => 200,
+                  },
+
+                  {
+                   'method' => 'PUT',
+                   'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/tabpermsdb:TNUM:',
+                   'user_name' => ':UNAME:',
+                   'format_header' => 'Content-Type: application/json',
+                   'post_options' => ['{ "permissions" : "rwxrwxrwx" }'],
+                   'status_code' => 200,
+                  },
+                  {
+                   'method' => 'PUT',
+                   'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/tabpermsdb:TNUM:/table/permstable_:TNUM:',
+                   'format_header' => 'Content-Type: application/json', 
+                   'post_options' => ['{
+                        "columns": [ { "name" : "i", "type" : "int" }], "permissions" : "rwx------", "group" : ":UGROUP:" }
+  	                  "format" : {  "storedAs" : "rcfile"} 
+                    }'],
+                   'user_name' => ':UNAME:',
+                   'status_code' => 200,
+                  }
+
+                 ],
+
+     
+     'method' => 'GET',
+     'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/tabpermsdb:TNUM:/table/',
+     'format_header' => 'Content-Type: application/json', 
+     'user_name' => ':UNAME_OTHER:',
+     'status_code' => 500,
+     'json_field_substr_match' => {'error' => 'unable to show tables'},
+
+    },
+
+    {
+     #describe table test for user done as part of permissions check test
+     #describe table by group user
+     'num' => 16,
+     'setup' => [
+                 {              #drop table
+                  'method' => 'DELETE',
+                  'format_header' => 'Content-Type: application/json',
+                  'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/default/table/permstable_:TNUM:?ifExists=true',
+                  'user_name' => ':UNAME:',
+                  'status_code' => 200,
+                 },
+                 {              #create table
+                  'method' => 'PUT',
+                  'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/default/table/permstable_:TNUM:',
+                  'format_header' => 'Content-Type: application/json', 
+                  'post_options' => ['{ "columns": [ { "name" : "i", "type" : "int" } ],"format" : {  "storedAs" : "rcfile"},
+                          "permissions" : "rwxr-x---", "group" : ":UGROUP:" }'],
+                  'user_name' => ':UNAME:',
+                  'status_code' => 200,
+                 }
+
+                ],
+
+     
+     'method' => 'GET',
+     'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/default/table/permstable_:TNUM:?format=extended',
+     'format_header' => 'Content-Type: application/json', 
+     'user_name' => ':UNAME_GROUP:',
+     'status_code' => 200,
+     'json_field_substr_match' => {'location_perms' => 'rwxr-x---', 'location_group' => ':UGROUP:'},
+
+    },
+
+    {
+     #describe extended, table by group user without permission
+     'num' => 17,
+     'ignore' => 'see HIVE-3009',
+     'setup' => [
+                 {              #drop table
+                  'method' => 'DELETE',
+                  'format_header' => 'Content-Type: application/json',
+                  'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/default/table/permstable_:TNUM:?ifExists=true',
+                  'user_name' => ':UNAME:',
+                  'status_code' => 200,
+                 },
+                 {              #create table
+                  'method' => 'PUT',
+                  'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/default/table/permstable_:TNUM:',
+                  'format_header' => 'Content-Type: application/json', 
+                  'post_options' => ['{ "columns": [ { "name" : "i", "type" : "int" } ],"format" : {  "storedAs" : "rcfile"},
+                          "permissions" : "rwx------", "group" : ":UGROUP:" }'],
+                  'user_name' => ':UNAME:',
+                  'status_code' => 200,
+                 }
+
+                ],
+
+     
+     'method' => 'GET',
+     'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/default/table/permstable_:TNUM:?format=extended',
+     'format_header' => 'Content-Type: application/json', 
+     'user_name' => ':UNAME_GROUP:',
+     'status_code' => 500,
+
+    },
+
+    {
+     #describe extended, table by other user without permission
+     'num' => 18,
+     'ignore' => 'see HIVE-3009',
+     'setup' => [
+                 {              #drop table
+                  'method' => 'DELETE',
+                  'format_header' => 'Content-Type: application/json',
+                  'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/default/table/permstable_:TNUM:?ifExists=true',
+                  'user_name' => ':UNAME:',
+                  'status_code' => 200,
+                 },
+                 {              #create table
+                  'method' => 'PUT',
+                  'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/default/table/permstable_:TNUM:',
+                  'format_header' => 'Content-Type: application/json', 
+                  'post_options' => ['{ "columns": [ { "name" : "i", "type" : "int" } ],"format" : {  "storedAs" : "rcfile"},
+                          "permissions" : "rwx------", "group" : ":UGROUP:" }'],
+                  'user_name' => ':UNAME:',
+                  'status_code' => 200,
+                 }
+
+                ],
+
+     
+     'method' => 'GET',
+     'url' => ':TEMPLETON_URL:/templeton/v1/ddl/database/default/table/permstable_:TNUM:?format=extended',
+     'format_header' => 'Content-Type: application/json', 
+     'user_name' => ':UNAME_OTHER:',
+     'status_code' => 500,
+
+    },
+
+
+
+   ] }
+
+
+ ]
+},
+  ;
+

Added: incubator/hcatalog/trunk/src/test/e2e/templeton/tests/jobsubmission.conf
URL: http://svn.apache.org/viewvc/incubator/hcatalog/trunk/src/test/e2e/templeton/tests/jobsubmission.conf?rev=1365722&view=auto
==============================================================================
--- incubator/hcatalog/trunk/src/test/e2e/templeton/tests/jobsubmission.conf (added)
+++ incubator/hcatalog/trunk/src/test/e2e/templeton/tests/jobsubmission.conf Wed Jul 25 20:29:44 2012
@@ -0,0 +1,359 @@
+###############################################################################
+# curl command tests for templeton
+#
+#
+
+#use Yahoo::Miners::Test::PigSetup;
+
+#PigSetup::setup();
+
+#my $me = `whoami`;
+#chomp $me;
+
+$cfg = 
+{
+ 'driver' => 'Curl',
+
+ 'groups' => 
+ [
+##=============================================================================================================
+  {
+   'name' => 'TestStreaming',
+   'tests' => 
+   [
+    {
+     'num' => 1,
+     'method' => 'POST',
+     'url' => ':TEMPLETON_URL:/templeton/v1/mapreduce/streaming',
+     'post_options' => ['user.name=:UNAME:','input=:INPDIR_HDFS:/nums.txt','output=:OUTDIR:/mycounts', 
+                        'mapper=/bin/cat', 'reducer=/usr/bin/wc'],
+     'json_field_substr_match' => { 'id' => '\d+'},
+                                #results
+     'status_code' => 200,
+     'check_job_created' => 1,
+     'check_job_complete' => 'SUCCESS',
+     'check_call_back' => 1,
+    },
+    {
+     #-ve test - no input file
+     'num' => 2,
+     'ignore' => 'wait for fix in hadoop 1.0.3',
+     'method' => 'POST',
+     'url' => ':TEMPLETON_URL:/templeton/v1/mapreduce/streaming',
+     'post_options' => ['user.name=:UNAME:','input=:INPDIR_HDFS:/nums.txt','output=:OUTDIR:/mycounts', 
+                        'mapper=/bin/ls no_such-file-12e3', 'reducer=/usr/bin/wc'],
+     'json_field_substr_match' => { 'id' => '\d+'},
+                                #results
+     'status_code' => 200,
+     'check_job_created' => 1,
+     'check_job_complete' => 'FAILURE',
+     'check_call_back' => 1,
+    },
+
+   ]
+  },
+##=============================================================================================================
+  {
+   'name' => 'TestKillJob',
+   'tests' => 
+   [
+    {
+     'num' => 1,
+     'method' => 'POST',
+     'url' => ':TEMPLETON_URL:/templeton/v1/mapreduce/streaming',
+     'post_options' => ['user.name=:UNAME:','input=:INPDIR_HDFS:/nums.txt','output=:OUTDIR:/mycounts', 
+                        'mapper=/bin/sleep 100', 'reducer=/usr/bin/wc'],
+     'json_field_substr_match' => { 'id' => '\d+'},
+                                #results
+     'status_code' => 200,
+     'check_job_created' => 1,
+     'check_job_complete' => 'KILLED',
+#     'check_call_back' => 1, #TODO - enable call back check after fix
+     'kill_job_timeout' => 10,
+    },
+   ]
+  },
+##=============================================================================================================
+  {
+   'name' => 'TestMapReduce',
+   'tests' => 
+   [
+    {
+         
+     'num' => 1,
+     'method' => 'POST',
+     'url' => ':TEMPLETON_URL:/templeton/v1/mapreduce/jar',
+     'post_options' => ['user.name=:UNAME:','arg=:INPDIR_HDFS:/nums.txt', 'arg= :OUTDIR:/wc.txt', 
+                        'jar=:INPDIR_HDFS:/hexamples.jar', 'class=wordcount', ],
+     'json_field_substr_match' => { 'id' => '\d+'},
+                                #results
+     'status_code' => 200,
+     'check_job_created' => 1,
+     'check_job_complete' => 'SUCCESS', 
+     'check_call_back' => 1,
+    },
+   ]
+  },
+##=============================================================================================================
+  {
+   'name' => 'TestPig',
+   'tests' => 
+   [
+    {
+                                #test syntax error
+     'ignore' => 'fails in current version',
+     'num' => 1,
+     'method' => 'POST',
+     'url' => ':TEMPLETON_URL:/templeton/v1/pig',
+     'post_options' => ['user.name=:UNAME:','execute=asdf', ],
+     'json_field_substr_match' => { 'id' => '\d+'},
+                                #results
+     'status_code' => 200,
+     'check_job_created' => 1,
+     'check_job_complete' => 'FAILURE', 
+     'check_call_back' => 1,
+    },
+    {
+                                #valid syntax, hdfs operation through pig
+     'num' => 2,
+     'method' => 'POST',
+     'url' => ':TEMPLETON_URL:/templeton/v1/pig',
+     'post_options' => ['user.name=:UNAME:','execute=fs -ls :INPDIR_HDFS:;', ],
+     'json_field_substr_match' => { 'id' => '\d+'},
+                                #results
+     'status_code' => 200,
+     'check_job_created' => 1,
+     'check_job_complete' => 'SUCCESS', 
+     'check_call_back' => 1,
+    },
+    {
+                                #syntax check  - valid syntax
+     'num' => 3,
+       'method' => 'POST',
+     'url' => ':TEMPLETON_URL:/templeton/v1/pig',
+     'post_options' => ['user.name=:UNAME:','arg=-check', 'file=:INPDIR_HDFS:/loadstore.pig', 'arg=-p', 'arg=INPDIR=:INPDIR_HDFS:','arg=-p', 'arg=OUTDIR=:OUTDIR:', ],
+     'json_field_substr_match' => { 'id' => '\d+'},
+                                #results
+     'status_code' => 200,
+     'check_job_created' => 1,
+     'check_job_complete' => 'SUCCESS', 
+     'check_call_back' => 1,
+    },
+    {
+                                #syntax check cmd - valid syntax
+     'num' => 4,
+     'method' => 'POST',
+     'url' => ':TEMPLETON_URL:/templeton/v1/pig',
+     'post_options' => ['user.name=:UNAME:', 'arg=-d', 'arg=INFO' , 'execute=fs -ls :INPDIR_HDFS: ', ],
+     'json_field_substr_match' => { 'id' => '\d+'},
+                                #results
+     'status_code' => 200,
+     'check_job_created' => 1,
+     'check_job_complete' => 'SUCCESS', 
+     'check_call_back' => 1,
+    },
+
+    {
+                                #a simple load store script
+     'num' => 5,
+     'method' => 'POST',
+     'url' => ':TEMPLETON_URL:/templeton/v1/pig',
+     'post_options' => ['user.name=:UNAME:', 'arg=-p', 'arg=INPDIR=:INPDIR_HDFS:','arg=-p', 'arg=OUTDIR=:OUTDIR:', 'file=:INPDIR_HDFS:/loadstore.pig', ],
+     'json_field_substr_match' => { 'id' => '\d+'},
+                                #results
+     'status_code' => 200,
+     'check_job_created' => 1,
+     'check_job_complete' => 'SUCCESS', 
+     'check_call_back' => 1,
+    },
+
+
+    {
+                                #pig query registering jar
+     'num' => 6,
+     'method' => 'POST',
+     'url' => ':TEMPLETON_URL:/templeton/v1/pig',
+     'post_options' => ['user.name=:UNAME:', 'arg=-p', 'arg=INPDIR=:INPDIR_HDFS:','arg=-p', 'arg=OUTDIR=:OUTDIR:', 'file=:INPDIR_HDFS:/jarregistered.pig',
+                        'files=:INPDIR_HDFS:/piggybank.jar' ],
+     'json_field_substr_match' => { 'id' => '\d+'},
+                                #results
+     'status_code' => 200,
+     'check_job_created' => 1,
+     'check_job_complete' => 'SUCCESS', 
+     'check_call_back' => 1,
+    },
+
+    {
+                                #macro
+     'num' => 7,
+     'method' => 'POST',
+     'url' => ':TEMPLETON_URL:/templeton/v1/pig',
+     'post_options' => ['user.name=:UNAME:', 'arg=-p', 'arg=INPDIR=:INPDIR_HDFS:','arg=-p', 'arg=OUTDIR=:OUTDIR:', 'file=:INPDIR_HDFS:/rowcount_withmacro.pig',
+                        'files=:INPDIR_HDFS:/rowcountmacro.pig' ],
+     'json_field_substr_match' => { 'id' => '\d+'},
+                                #results
+     'status_code' => 200,
+     'check_job_created' => 1,
+     'check_job_complete' => 'SUCCESS', 
+     'check_call_back' => 1,
+    },
+
+    {
+                                #no file to be copied, should result in launcher job error 
+     'num' => 8,
+     ignore => 'check is disabled for now in templeton',
+     'method' => 'POST',
+     'url' => ':TEMPLETON_URL:/templeton/v1/pig',
+     'post_options' => ['user.name=:UNAME:', 'arg=-p', 'arg=INPDIR=:INPDIR_HDFS:','arg=-p', 'arg= OUTDIR=:OUTDIR:', 'file=:INPDIR_HDFS:/no_such_file.pig',
+                        'files=:INPDIR_HDFS:/rowcountmacro.pig' ],
+     'json_field_substr_match' => { 'error' => 'does not exist'},
+                                #results
+     'status_code' => 200,
+     'check_job_complete' => 'FAILURE', 
+
+    },
+	
+
+
+    #test 9
+    #TODO jython test
+
+
+
+
+   ]
+  },
+##=============================================================================================================
+  {
+   'name' => 'TestHive',
+   'tests' => 
+   [
+    {
+                                #test syntax error
+     'ignore' => 'fails in current version',
+     'num' => 1,
+     'method' => 'POST',
+     'url' => ':TEMPLETON_URL:/templeton/v1/hive',
+     'post_options' => ['user.name=:UNAME:','execute=asdf', ],
+     'json_field_substr_match' => { 'id' => '\d+'},
+                                #results
+     'status_code' => 200,
+     'check_job_created' => 1,
+     'check_job_complete' => 'FAILURE', 
+
+    },
+ 
+    {
+                                #test show tables
+     'num' => 2,
+     'method' => 'POST',
+     'url' => ':TEMPLETON_URL:/templeton/v1/hive',
+     'post_options' => ['user.name=:UNAME:','execute=show tables', ],
+     'json_field_substr_match' => { 'id' => '\d+'},
+                                #results
+     'status_code' => 200,
+     'check_job_created' => 1,
+     'check_job_complete' => 'SUCCESS', 
+     'check_call_back' => 1,
+    },
+
+    {
+                                #test show tables
+     'num' => 3,
+     'method' => 'POST',
+     'url' => ':TEMPLETON_URL:/templeton/v1/hive',
+     'post_options' => ['user.name=:UNAME:','execute=drop table if exists mynums;', ],
+     'json_field_substr_match' => { 'id' => '\d+'},
+                                #results
+     'status_code' => 200,
+     'check_job_created' => 1,
+     'check_job_complete' => 'SUCCESS', 
+     'check_call_back' => 1,
+    },
+    {
+                                #test show tables
+     'num' => 4,
+     'method' => 'POST',
+     'url' => ':TEMPLETON_URL:/templeton/v1/hive',
+     'post_options' => ['user.name=:UNAME:','execute=create external table mynums(a int, b int) location ":INPDIR_HDFS:/numstable/";', ],
+     'json_field_substr_match' => { 'id' => '\d+'},
+                                #results
+     'status_code' => 200,
+     'check_job_created' => 1,
+     'check_job_complete' => 'SUCCESS',
+     'check_call_back' => 1,
+    },
+
+    {
+                                #test describe
+     'num' => 5,
+     'method' => 'POST',
+     'url' => ':TEMPLETON_URL:/templeton/v1/hive',
+     'post_options' => ['user.name=:UNAME:','execute=describe formatted mynums', ],
+     'json_field_substr_match' => { 'id' => '\d+'},
+                                #results
+     'status_code' => 200,
+     'check_job_created' => 1,
+     'check_job_complete' => 'SUCCESS', 
+     'check_call_back' => 1,
+    },
+
+    {
+                                #test select *
+     'num' => 6,
+     'method' => 'POST',
+     'url' => ':TEMPLETON_URL:/templeton/v1/hive',
+     'post_options' => ['user.name=:UNAME:','execute=select * from mynums', ],
+     'json_field_substr_match' => { 'id' => '\d+'},
+                                #results
+     'status_code' => 200,
+     'check_job_created' => 1,
+     'check_job_complete' => 'SUCCESS', 
+     'check_call_back' => 1,
+    },
+
+    {
+                                #test select a,b
+     'num' => 7,
+     'method' => 'POST',
+     'url' => ':TEMPLETON_URL:/templeton/v1/hive',	
+     'post_options' => ['user.name=:UNAME:','execute=select a,b from mynums', ],
+     'json_field_substr_match' => { 'id' => '\d+'},
+                                #results
+     'status_code' => 200,
+     'check_job_created' => 1,
+     'check_job_complete' => 'SUCCESS', 
+     'check_call_back' => 1,
+
+    },
+
+
+    {
+                                #test udfs : select a,rand(b)
+     'num' => 8,
+     'method' => 'POST',
+     'url' => ':TEMPLETON_URL:/templeton/v1/hive',
+     'post_options' => ['user.name=:UNAME:','execute=select a,rand(b) from mynums', ],
+     'json_field_substr_match' => { 'id' => '\d+'},
+                                #results
+     'status_code' => 200,
+     'check_job_created' => 1,
+     'check_job_complete' => 'SUCCESS', 
+
+    },
+
+
+
+   ]
+  },
+
+
+
+
+
+
+
+ ]
+},
+  ;
+

Added: incubator/hcatalog/trunk/src/test/e2e/templeton/tests/serverstatus.conf
URL: http://svn.apache.org/viewvc/incubator/hcatalog/trunk/src/test/e2e/templeton/tests/serverstatus.conf?rev=1365722&view=auto
==============================================================================
--- incubator/hcatalog/trunk/src/test/e2e/templeton/tests/serverstatus.conf (added)
+++ incubator/hcatalog/trunk/src/test/e2e/templeton/tests/serverstatus.conf Wed Jul 25 20:29:44 2012
@@ -0,0 +1,57 @@
+###############################################################################
+# curl command tests for templeton
+#
+#
+
+#use Yahoo::Miners::Test::PigSetup;
+
+#PigSetup::setup();
+
+#my $me = `whoami`;
+#chomp $me;
+
+$cfg = 
+{
+ 'driver' => 'Curl',
+
+ 'groups' => 
+ [
+##=============================================================================================================
+  {
+   'name' => 'TypesSupported',
+   'tests' => 
+   [
+    {
+     #types supported
+     'num' => 1,
+     'method' => 'GET',
+     'url' => ':TEMPLETON_URL:/templeton/v1',
+     'status_code' => 200,
+    },
+   ]
+  },
+##=============================================================================================================
+  {
+   'name' => 'VersionsSupported',
+   'tests' => 
+   [
+    {
+     #versions supported
+     'num' => 1,
+     'method' => 'GET',
+     'url' => ':TEMPLETON_URL:/templeton/v1/version',
+     'status_code' => 200,
+     'json_field_substr_match' => {'version' => 'v1'},
+     'json_field_match_object' => {'supportedVersions' => '["v1"]'}
+    },
+   ]
+  },
+
+
+
+
+
+ ]
+},
+  ;
+

Modified: incubator/hcatalog/trunk/storage-handlers/hbase/ivy.xml
URL: http://svn.apache.org/viewvc/incubator/hcatalog/trunk/storage-handlers/hbase/ivy.xml?rev=1365722&r1=1365721&r2=1365722&view=diff
==============================================================================
--- incubator/hcatalog/trunk/storage-handlers/hbase/ivy.xml (original)
+++ incubator/hcatalog/trunk/storage-handlers/hbase/ivy.xml Wed Jul 25 20:29:44 2012
@@ -48,9 +48,9 @@
         </dependency>
 
         <dependency org="org.apache.hadoop" name="hadoop-core"
-          rev="${hadoop-core.version}" conf="common->master" />
+          rev="${hadoop.jars.version}" conf="common->master" />
         <dependency org="org.apache.hadoop" name="hadoop-test"
-          rev="${hadoop-test.version}" conf="common->master" />
+          rev="${hadoop.jars.version}" conf="common->master" />
         <dependency org="org.apache.hive" name="hive-metastore"
           rev="${hive.version}" conf="common->master"/>
         <dependency org="org.apache.hive" name="hive-common"

Added: incubator/hcatalog/trunk/webhcat/svr/build.xml
URL: http://svn.apache.org/viewvc/incubator/hcatalog/trunk/webhcat/svr/build.xml?rev=1365722&view=auto
==============================================================================
--- incubator/hcatalog/trunk/webhcat/svr/build.xml (added)
+++ incubator/hcatalog/trunk/webhcat/svr/build.xml Wed Jul 25 20:29:44 2012
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+   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.
+-->
+
+<project name="webhcat">
+  <property name="path.to.basedir" value="${basedir}/../.."/>
+  
+  <import file="../../build-common-new.xml"/>
+
+  <path id="compile.class.path">
+    <fileset dir="${build.dir}/ivy/default" includes="*.jar"/>
+    <fileset dir="${build.dir}/ivy/common" includes="*.jar"/>
+  </path>
+
+  <path id="test.class.path">
+    <dirset dir="${basedir}/../../build/test/classes"/>
+    <dirset dir="${basedir}/build/classes"/>
+    <dirset dir="${basedir}/build/test/classes"/>
+    <fileset dir="${build.dir}/ivy/default" includes="*.jar"/>
+    <fileset dir="${build.dir}/ivy/common" includes="*.jar"/>
+  </path>
+
+  <!-- Ideally we would simply use the "default" Ivy configuration jars; however,
+  hcatalog-core.jar is not yet available at build-time so we must explicitly add it.
+  -->
+  <path id="findbugs.class.path">
+    <fileset dir="${build.dir}/ivy/default"/>
+    <fileset dir="${build.dir}/ivy/common"/>
+    <fileset dir="${basedir}/../../build/hcatalog">
+      <include name="**/hcatalog-core-*.jar"/>
+    </fileset>
+  </path>
+
+</project>

Added: incubator/hcatalog/trunk/webhcat/svr/ivy.xml
URL: http://svn.apache.org/viewvc/incubator/hcatalog/trunk/webhcat/svr/ivy.xml?rev=1365722&view=auto
==============================================================================
--- incubator/hcatalog/trunk/webhcat/svr/ivy.xml (added)
+++ incubator/hcatalog/trunk/webhcat/svr/ivy.xml Wed Jul 25 20:29:44 2012
@@ -0,0 +1,124 @@
+<!-- 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. -->
+
+<ivy-module version="2.0">
+  <info organisation="org.apache.hcatalog"
+        module="${ant.project.name}"
+        revision="${hcatalog.version}">
+    <license name="Apache 2.0"/>
+    <ivyauthor name="Apache HCatalog Team" url="http://incubator.apache.org/hcatalog"/>
+    <description>Apache HCatalog</description>
+  </info>
+
+  <configurations defaultconfmapping="default">
+  <!--these match the Maven configurations-->
+      <conf name="default" extends="master,runtime"/>
+      <conf name="master" description="contains the artifact but no dependencies"/>
+      <conf name="runtime" description="runtime but not the artifact" />
+      <conf name="common" visibility="private" 
+          extends="runtime"
+          description="artifacts needed to compile/test the application"/>
+      <conf name="test" visibility="private" extends="runtime"/>
+      <conf name="package" visibility="private" extends="master"/>
+      <conf name="releaseaudit" visibility="private"/>
+  </configurations>
+
+  <dependencies>
+    <dependency org="org.apache.pig" name="pig" rev="${pig.version}"/>
+    <dependency org="junit" name="junit" rev="${junit.version}"
+        conf="common->default"/>
+    <dependency org="org.apache.commons" name="commons-exec"
+        rev="${commons-exec.version}" conf="common->master"/>
+
+    <dependency org="org.apache.hive" name="hive-metastore"
+		rev="${hive.version}" conf="common->master"/>
+    <dependency org="org.apache.hive" name="hive-common"
+		rev="${hive.version}" conf="common->master"/>
+    <dependency org="org.apache.hive" name="hive-exec"
+		rev="${hive.version}" conf="common->master"/>
+    <dependency org="org.apache.hive" name="hive-cli"
+		rev="${hive.version}" conf="common->master"/>
+    <dependency org="org.apache.hive" name="hive-hbase-handler"
+		rev="${hive.version}" conf="common->master"/>
+    <dependency org="org.apache.hadoop" name="hadoop-core"
+        rev="${hadoop.jars.version}" conf="common->master"/>
+    <dependency org="org.apache.hadoop" name="hadoop-streaming"
+        rev="${hadoop.jars.version}" conf="common->master"/>
+    <dependency org="commons-configuration" name="commons-configuration"
+        rev="${commons-configuration.version}" conf="common->master"/>
+    <dependency org="commons-lang" name="commons-lang"
+        rev="${commons-lang.version}" conf="common->master"/>
+    <dependency org="commons-cli" name="commons-cli"
+        rev="${commons-cli.version}" conf="common->master"/>
+    <dependency org="commons-codec" name="commons-codec"
+        rev="${commons-codec.version}" conf="common->master"/>
+    <dependency org="org.apache.zookeeper" name="zookeeper"
+        rev="${zookeeper.version}" conf="common->master"/>
+
+    <dependency org="commons-logging" name="commons-logging"
+        rev="${commons-logging.version}" conf="common->master"/>
+    <dependency org="log4j" name="log4j" rev="${log4j.version}"
+        conf="common->master"/>
+    <dependency org="org.slf4j" name="slf4j-log4j12" rev="${slf4j.version}"
+        conf="common->master"/>
+    <dependency org="org.slf4j" name="slf4j-api" rev="${slf4j.version}"
+        conf="common->master"/>
+    <dependency org="org.slf4j" name="jul-to-slf4j" rev="${slf4j.version}"
+        conf="common->master"/>
+
+    <dependency org="org.eclipse.jetty.aggregate" name="jetty-all-server"
+        rev="${jetty.webhcat.version}" conf="common->master"/>
+    <dependency org="javax.servlet" name="servlet-api"
+        rev="${servlet-api.version}" conf="common->master"/>
+
+    <dependency org="com.sun.jersey" name="jersey-core"
+        rev="${jersey.version}" conf="common->master"/>
+    <dependency org="com.sun.jersey" name="jersey-server"
+        rev="${jersey.version}" conf="common->master"/>
+    <dependency org="com.sun.jersey" name="jersey-json"
+        rev="${jersey.version}" conf="common->master"/>
+    <dependency org="com.sun.jersey" name="jersey-json"
+        rev="${jersey.version}" conf="common->master"/>
+
+    <dependency org="org.codehaus.jackson" name="jackson-core-asl"
+        rev="${jackson.version}" conf="common->master"/>
+    <dependency org="org.codehaus.jackson" name="jackson-mapper-asl"
+        rev="${jackson.version}" conf="common->master"/>
+    <dependency org="org.codehaus.jackson" name="jackson-jaxrs"
+        rev="${jackson.version}" conf="common->master"/>
+    <dependency org="org.codehaus.jackson" name="jackson-xc"
+        rev="${jackson.version}" conf="common->master"/>
+    <dependency org="org.codehaus.jettison" name="jettison"
+        rev="${jettison.version}" conf="common->master"/>
+    <dependency org="com.sun.xml.bind" name="jaxb-impl"
+        rev="${jaxb-impl.version}" conf="common->master"/>
+    <dependency org="javax.xml.bind" name="jaxb-api"
+        rev="${jaxb-api.version}" conf="common->master"/>
+    <dependency org="javax.activation" name="activation"
+        rev="${activation.version}" conf="common->master"/>
+    <dependency org="javax.xml.stream" name="stax-api"
+        rev="${stax-api.version}" conf="common->master"/>
+    <dependency org="asm" name="asm-all"
+        rev="${asm-all.version}" conf="common->master"/>
+    <dependency org="oro" name="oro"
+        rev="${oro.version}" conf="common->master"/>
+    <dependency org="com.sun.jersey.contribs" name="wadl-resourcedoc-doclet"
+        rev="${wadl-resourcedoc-doclet.version}" conf="common->master"/>
+    <dependency org="xerces" name="xercesImpl"
+        rev="${xerces.version}" conf="common->master"/>
+
+  </dependencies>
+</ivy-module>

Added: incubator/hcatalog/trunk/webhcat/svr/src/main/bin/templeton_config.sh
URL: http://svn.apache.org/viewvc/incubator/hcatalog/trunk/webhcat/svr/src/main/bin/templeton_config.sh?rev=1365722&view=auto
==============================================================================
--- incubator/hcatalog/trunk/webhcat/svr/src/main/bin/templeton_config.sh (added)
+++ incubator/hcatalog/trunk/webhcat/svr/src/main/bin/templeton_config.sh Wed Jul 25 20:29:44 2012
@@ -0,0 +1,93 @@
+#!/usr/bin/env bash
+
+# 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.
+
+#====================================
+#Default config param values
+#====================================
+
+# The file containing the running pid
+PID_FILE=./templeton.pid
+
+#default log directory
+TEMPLETON_LOG_DIR=${TEMPLETON_LOG_DIR:-.}
+
+# The console error log
+ERROR_LOG=${TEMPLETON_LOG_DIR}/templeton-console-error.log
+
+# The console log
+CONSOLE_LOG=${TEMPLETON_LOG_DIR}/templeton-console.log
+
+# The name of the templeton jar file
+TEMPLETON_JAR=templeton-0.1.0-dev.jar
+
+# How long to wait before testing that the process started correctly
+SLEEP_TIME_AFTER_START=10
+
+#================================================
+#See if the default configs have been overwritten
+#================================================
+
+#These parameters can be overriden by templeton-env.sh
+# the root of the TEMPLETON installation
+export TEMPLETON_PREFIX=`dirname "$this"`/..
+
+#check to see if the conf dir is given as an optional argument
+if [ $# -gt 1 ]
+then
+    if [ "--config" = "$1" ]
+          then
+              shift
+              confdir=$1
+              shift
+              TEMPLETON_CONF_DIR=$confdir
+    fi
+fi
+
+# Allow alternate conf dir location.
+if [ -e "${TEMPLETON_PREFIX}/conf/templeton-env.sh" ]; then
+  DEFAULT_CONF_DIR=${TEMPLETON_PREFIX}/"conf"
+else
+  DEFAULT_CONF_DIR="/etc/templeton"
+fi
+TEMPLETON_CONF_DIR="${TEMPLETON_CONF_DIR:-$DEFAULT_CONF_DIR}"
+
+#users can add various env vars to templeton-env.sh in the conf
+#rather than having to export them before running the command
+if [ -f "${TEMPLETON_CONF_DIR}/templeton-env.sh" ]; then
+  . "${TEMPLETON_CONF_DIR}/templeton-env.sh"
+fi
+
+#====================================
+#determine where hadoop is
+#====================================
+
+#check HADOOP_HOME and then check HADOOP_PREFIX
+if [ -f ${HADOOP_HOME}/bin/hadoop ]; then
+  HADOOP_PREFIX=$HADOOP_HOME
+#if this is an rpm install check for /usr/bin/hadoop
+elif [ -f ${TEMPLETON_PREFIX}/bin/hadoop ]; then
+  HADOOP_PREFIX=$TEMPLETON_PREFIX
+#otherwise see if HADOOP_PREFIX is defined
+elif [ ! -f ${HADOOP_PREFIX}/bin/hadoop ]; then
+  echo "Hadoop not found."
+  exit 1
+fi
+
+
+
+
+