You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@bigtop.apache.org by rv...@apache.org on 2017/03/22 06:02:56 UTC
[2/5] bigtop git commit: ODPI-196. Adding tests to test the doas
feature of httpfs.
ODPI-196. Adding tests to test the doas feature of httpfs.
Project: http://git-wip-us.apache.org/repos/asf/bigtop/repo
Commit: http://git-wip-us.apache.org/repos/asf/bigtop/commit/fbfb8405
Tree: http://git-wip-us.apache.org/repos/asf/bigtop/tree/fbfb8405
Diff: http://git-wip-us.apache.org/repos/asf/bigtop/diff/fbfb8405
Branch: refs/heads/master
Commit: fbfb8405ac02475da189e66a9201599eb1800757
Parents: fc407ec
Author: Clint Edwards <cl...@sas.com>
Authored: Fri Oct 21 15:05:58 2016 -0400
Committer: Roman Shaposhnik <rv...@apache.org>
Committed: Tue Mar 21 23:01:18 2017 -0700
----------------------------------------------------------------------
.../bigtop/itest/httpfs/TestHttpFs.groovy | 118 ++++++++++++++-----
1 file changed, 87 insertions(+), 31 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/bigtop/blob/fbfb8405/bigtop-tests/test-artifacts/httpfs/src/main/groovy/org/apache/bigtop/itest/httpfs/TestHttpFs.groovy
----------------------------------------------------------------------
diff --git a/bigtop-tests/test-artifacts/httpfs/src/main/groovy/org/apache/bigtop/itest/httpfs/TestHttpFs.groovy b/bigtop-tests/test-artifacts/httpfs/src/main/groovy/org/apache/bigtop/itest/httpfs/TestHttpFs.groovy
index bcec657..a4134a2 100644
--- a/bigtop-tests/test-artifacts/httpfs/src/main/groovy/org/apache/bigtop/itest/httpfs/TestHttpFs.groovy
+++ b/bigtop-tests/test-artifacts/httpfs/src/main/groovy/org/apache/bigtop/itest/httpfs/TestHttpFs.groovy
@@ -32,6 +32,7 @@ public class TestHttpFs {
private static Log LOG = LogFactory.getLog(TestHttpFs.class)
private static final String USERNAME = System.getProperty("user.name");
+ private static final String DOASUSER = 'hdfs';
private static final String HTTPFS_PROXY = System.getenv('HTTPFS_PROXY');
static {
assertNotNull("HTTPFS_PROXY has to be set to run this test",
@@ -96,56 +97,59 @@ public class TestHttpFs {
assertTrue(expected + " NOT found!", exists == true);
}
- private void createDir(String dirname) {
- sh.exec("curl -i -X PUT '$HTTPFS_PREFIX$dirname?user.name=$USERNAME&op=MKDIRS'");
- }
-
- @Test
- public void testCreateDir() {
- createDir(testHttpFsFolder)
+ private void createDir(String dirname, String doasUser='') {
+ def doasStr = ''
+ if(doasUser.length()) {
+ doasStr = "doas=$doasUser&"
+ }
+ sh.exec("curl -i -X PUT '$HTTPFS_PREFIX$dirname?user.name=$USERNAME&${doasStr}op=MKDIRS'");
assertTrue("curl command to create a dir failed", sh.getRet() == 0);
assertValueExists(sh.getOut(), HTTPFS_SUCCESS);
}
- @Test
- public void testRenameDir() {
- createDir(testHttpFsFolder);
- assertTrue("curl command to create a dir failed", sh.getRet() == 0);
- assertValueExists(sh.getOut(), HTTPFS_SUCCESS);
- sh.exec("curl -i -X PUT '$HTTPFS_PREFIX$testHttpFsFolder?user.name=$USERNAME&op=RENAME&destination=$testHttpFsFolderRenamed'");
+ private void renameDir(String dirname, String doasUser='') {
+ createDir(dirname, doasUser);
+ def doasStr = ''
+ if(doasUser.length()) {
+ doasStr = "doas=$doasUser&"
+ }
+ sh.exec("curl -i -X PUT '$HTTPFS_PREFIX$testHttpFsFolder?user.name=$USERNAME&${doasStr}op=RENAME&destination=$testHttpFsFolderRenamed'");
assertTrue("curl command to rename a dir failed", sh.getRet() == 0);
assertValueExists(sh.getOut(), HTTPFS_SUCCESS);
}
- @Test
- public void testDeleteDir() {
- createDir(testHttpFsFolder);
- assertTrue("curl command to create a dir failed", sh.getRet() == 0);
- assertValueExists(sh.getOut(), HTTPFS_SUCCESS);
- sh.exec("curl -i -X DELETE '$HTTPFS_PREFIX$testHttpFsFolder?user.name=$USERNAME&op=DELETE'");
+ private void deleteDir(String dirname, String doasUser='') {
+ createDir(dirname, doasUser);
+ def doasStr = ''
+ if(doasUser.length()) {
+ doasStr = "doas=$doasUser&"
+ }
+ sh.exec("curl -i -X DELETE '$HTTPFS_PREFIX$testHttpFsFolder?user.name=$USERNAME&${doasStr}op=DELETE'");
assertTrue("curl command to delete a dir failed", sh.getRet() == 0);
assertValueExists(sh.getOut(), HTTPFS_SUCCESS);
}
- @Test
- public void testStatusDir() {
- createDir(testHttpFsFolder);
- assertTrue("curl command to create a dir failed", sh.getRet() == 0);
- assertValueExists(sh.getOut(), HTTPFS_SUCCESS);
- sh.exec("curl -i '$HTTPFS_PREFIX$testHttpFsFolder?user.name=$USERNAME&op=GETFILESTATUS'");
+ private void statusDir(String dirname, String doasUser='') {
+ createDir(dirname, doasUser);
+ def doasStr = ''
+ if(doasUser.length()) {
+ doasStr = "doas=$doasUser&"
+ }
+ sh.exec("curl -i '$HTTPFS_PREFIX$testHttpFsFolder?user.name=$USERNAME&${doasStr}op=GETFILESTATUS'");
assertTrue("curl command to create a dir failed", sh.getRet() == 0);
assertValueContains(sh.getOut(), "DIRECTORY");
assertValueExists(sh.getOut(), HTTP_OK);
}
- @Test
- public void testCreateFile() {
- String filename = "helloworld.txt";
+ private void createFile(String filename, String doasUser='') {
String filenameContent = 'Hello World!';
+ def doasStr = ''
+ if(doasUser.length()) {
+ doasStr = "doas=$doasUser&"
+ }
- createDir(testHttpFsFolder);
- assertTrue("curl command to create a dir failed", sh.getRet() == 0);
- sh.exec("curl -i -X PUT '$HTTPFS_PREFIX$testHttpFsFolder/$filename?user.name=$USERNAME&op=CREATE'");
+ createDir(testHttpFsFolder, doasUser);
+ sh.exec("curl -i -X PUT '$HTTPFS_PREFIX$testHttpFsFolder/$filename?user.name=$USERNAME&${doasStr}op=CREATE'");
assertTrue("curl command to create a file failed", sh.getRet() == 0);
String datanodeLocation = null;
sh.getOut().each {
@@ -165,5 +169,57 @@ public class TestHttpFs {
assertValueExists(sh.getOut(), HTTP_OK);
assertValueExists(sh.getOut(), filenameContent);
}
+
+ @Test
+ public void testCreateDir() {
+ createDir(testHttpFsFolder)
+ }
+
+ @Test
+ public void testCreateDirAsUser() {
+ createDir(testHttpFsFolder, DOASUSER)
+ }
+
+ @Test
+ public void testRenameDir() {
+ renameDir(testHttpFsFolder);
+ }
+
+ @Test
+ public void testRenameDirAsUser() {
+ renameDir(testHttpFsFolder, DOASUSER);
+ }
+
+ @Test
+ public void testDeleteDir() {
+ deleteDir(testHttpFsFolder);
+ }
+
+ @Test
+ public void testDeleteDirAsUser() {
+ deleteDir(testHttpFsFolder, DOASUSER);
+ }
+
+ @Test
+ public void testStatusDir() {
+ statusDir(testHttpFsFolder);
+ }
+
+ @Test
+ public void testStatusDirAsUser() {
+ statusDir(testHttpFsFolder, DOASUSER);
+ }
+
+ @Test
+ public void testCreateFile() {
+ String filename = "helloworld.txt";
+ createFile(filename)
+ }
+
+ @Test
+ public void testCreateFileAsUser() {
+ String filename = "helloworld.txt";
+ createFile(filename, DOASUSER)
+ }
}