//Do Nothing /// <exception cref="System.Exception"/> public virtual void TestWebHdfsDoAs() { WebHdfsTestUtil.Log.Info("START: testWebHdfsDoAs()"); WebHdfsTestUtil.Log.Info("ugi.getShortUserName()=" + ugi.GetShortUserName()); WebHdfsFileSystem webhdfs = WebHdfsTestUtil.GetWebHdfsFileSystemAs(ugi, config, WebHdfsFileSystem .Scheme); Path root = new Path("/"); cluster.GetFileSystem().SetPermission(root, new FsPermission((short)0x1ff)); Whitebox.SetInternalState(webhdfs, "ugi", proxyUgi); { Path responsePath = webhdfs.GetHomeDirectory(); WebHdfsTestUtil.Log.Info("responsePath=" + responsePath); NUnit.Framework.Assert.AreEqual(webhdfs.GetUri() + "/user/" + ProxyUser, responsePath .ToString()); } Path f = new Path("/testWebHdfsDoAs/a.txt"); { FSDataOutputStream @out = webhdfs.Create(f); @out.Write(Sharpen.Runtime.GetBytesForString("Hello, webhdfs user!")); @out.Close(); FileStatus status = webhdfs.GetFileStatus(f); WebHdfsTestUtil.Log.Info("status.getOwner()=" + status.GetOwner()); NUnit.Framework.Assert.AreEqual(ProxyUser, status.GetOwner()); } { FSDataOutputStream @out = webhdfs.Append(f); @out.Write(Sharpen.Runtime.GetBytesForString("\nHello again!")); @out.Close(); FileStatus status = webhdfs.GetFileStatus(f); WebHdfsTestUtil.Log.Info("status.getOwner()=" + status.GetOwner()); WebHdfsTestUtil.Log.Info("status.getLen() =" + status.GetLen()); NUnit.Framework.Assert.AreEqual(ProxyUser, status.GetOwner()); } }
public virtual void TestAuditWebHdfsOpen() { Path file = new Path(fnames[0]); fs.SetPermission(file, new FsPermission((short)0x1a4)); fs.SetOwner(file, "root", null); SetupAuditLogs(); WebHdfsFileSystem webfs = WebHdfsTestUtil.GetWebHdfsFileSystemAs(userGroupInfo, conf , WebHdfsFileSystem.Scheme); webfs.Open(file); VerifyAuditLogsCheckPattern(true, 3, webOpenPattern); }
public virtual void TestAuditWebHdfsStat() { Path file = new Path(fnames[0]); fs.SetPermission(file, new FsPermission((short)0x1a4)); fs.SetOwner(file, "root", null); SetupAuditLogs(); WebHdfsFileSystem webfs = WebHdfsTestUtil.GetWebHdfsFileSystemAs(userGroupInfo, conf , WebHdfsFileSystem.Scheme); FileStatus st = webfs.GetFileStatus(file); VerifyAuditLogs(true); NUnit.Framework.Assert.IsTrue("failed to stat file", st != null && st.IsFile()); }
public virtual void TestAuditWebHdfs() { Path file = new Path(fnames[0]); fs.SetPermission(file, new FsPermission((short)0x1a4)); fs.SetOwner(file, "root", null); SetupAuditLogs(); WebHdfsFileSystem webfs = WebHdfsTestUtil.GetWebHdfsFileSystemAs(userGroupInfo, conf , WebHdfsFileSystem.Scheme); InputStream istream = webfs.Open(file); int val = istream.Read(); istream.Close(); VerifyAuditLogsRepeat(true, 3); NUnit.Framework.Assert.IsTrue("failed to read from file", val >= 0); }
public virtual void TestAuditWebHdfsDenied() { Path file = new Path(fnames[0]); fs.SetPermission(file, new FsPermission((short)0x180)); fs.SetOwner(file, "root", null); SetupAuditLogs(); try { WebHdfsFileSystem webfs = WebHdfsTestUtil.GetWebHdfsFileSystemAs(userGroupInfo, conf , WebHdfsFileSystem.Scheme); InputStream istream = webfs.Open(file); int val = istream.Read(); NUnit.Framework.Assert.Fail("open+read must not succeed, got " + val); } catch (AccessControlException) { System.Console.Out.WriteLine("got access denied, as expected."); } VerifyAuditLogsRepeat(false, 2); }