//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());
            }
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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());
        }
Exemplo n.º 4
0
        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);
        }
Exemplo n.º 5
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);
        }