public void ViewAndModify_Get()
        {
            FileIOPermissionAttribute a = new FileIOPermissionAttribute(SecurityAction.Assert);

            a.ViewAndModify = "mono";
            Assert.AreEqual("ViewAndModify", "mono", a.ViewAndModify);
        }
Exemplo n.º 2
0
        public void Default()
        {
            FileIOPermissionAttribute a = new FileIOPermissionAttribute(SecurityAction.Assert);

            Assert.IsNull(a.Append, "Append");
            Assert.IsNull(a.PathDiscovery, "PathDiscovery");
            Assert.IsNull(a.Read, "Read");
            Assert.IsNull(a.Write, "Write");
#if NET_2_0
            Assert.IsNotNull(a.AllFiles, "AllFiles");
            Assert.IsNotNull(a.AllLocalFiles, "AllLocalFiles");
            Assert.IsNull(a.ChangeAccessControl, "ChangeAccessControl");
            Assert.IsNull(a.ViewAccessControl, "ViewAccessControl");
#endif

            Assert.AreEqual(a.ToString(), a.TypeId.ToString(), "TypeId");
            Assert.IsFalse(a.Unrestricted, "Unrestricted");

#if !NET_2_1
            FileIOPermission perm = (FileIOPermission)a.CreatePermission();
            Assert.AreEqual(FileIOPermissionAccess.NoAccess, perm.AllFiles, "CreatePermission-AllFiles");
            Assert.AreEqual(FileIOPermissionAccess.NoAccess, perm.AllLocalFiles, "CreatePermission-AllLocalFiles");
            Assert.IsFalse(perm.IsUnrestricted(), "perm-Unrestricted");
#endif
        }
Exemplo n.º 3
0
        public void Read()
        {
            string filename = Assembly.GetCallingAssembly().Location;
            FileIOPermissionAttribute attr = new FileIOPermissionAttribute(SecurityAction.Assert);

            attr.Read = filename;
            Assert.IsNull(attr.Append, "Append=null");
            Assert.IsNull(attr.PathDiscovery, "PathDiscovery=null");
            Assert.AreEqual(filename, attr.Read, "Read=Read");
            Assert.IsNull(attr.Write, "Write=null");
#if NET_2_0
            Assert.IsNotNull(attr.AllFiles, "AllFiles");
            Assert.IsNotNull(attr.AllLocalFiles, "AllLocalFiles");
            Assert.IsNull(attr.ChangeAccessControl, "ChangeAccessControl");
            Assert.IsNull(attr.ViewAccessControl, "ViewAccessControl");
#endif
#if !NET_2_1
            FileIOPermission p = (FileIOPermission)attr.CreatePermission();
            filename = Path.GetFullPath(filename);
            Assert.IsNull(p.GetPathList(FileIOPermissionAccess.Append), "PathDiscovery=FileIOPermissionAttribute-Append");
            Assert.IsNull(p.GetPathList(FileIOPermissionAccess.PathDiscovery), "PathDiscovery=FileIOPermissionAttribute-PathDiscovery");
            Assert.AreEqual(filename, p.GetPathList(FileIOPermissionAccess.Read) [0], "PathDiscovery=FileIOPermissionAttribute-Read");
            Assert.IsNull(p.GetPathList(FileIOPermissionAccess.Write), "PathDiscovery=FileIOPermissionAttribute-Write");
#endif
        }
        public void Unrestricted()
        {
            FileIOPermissionAttribute a = new FileIOPermissionAttribute(SecurityAction.Assert);

            a.Unrestricted = true;

            FileIOPermission perm = (FileIOPermission)a.CreatePermission();

            Assert.IsTrue(perm.IsUnrestricted(), "CreatePermission.IsUnrestricted");
            Assert.AreEqual(FileIOPermissionAccess.AllAccess, perm.AllFiles, "CreatePermission.AllFiles");
            Assert.AreEqual(FileIOPermissionAccess.AllAccess, perm.AllLocalFiles, "CreatePermission.AllLocalFiles");
        }
        public void Write()
        {
            string filename = Assembly.GetCallingAssembly().Location;
            FileIOPermissionAttribute attr = new FileIOPermissionAttribute(SecurityAction.Assert);

            attr.Write = filename;
            Assert.IsNull(attr.Append, "Append=null");
            Assert.IsNull(attr.PathDiscovery, "PathDiscovery=null");
            Assert.IsNull(attr.Read, "Read=null");
            Assert.AreEqual(filename, attr.Write, "Write=Write");
            FileIOPermission p = (FileIOPermission)attr.CreatePermission();

            filename = Path.GetFullPath(filename);
            Assert.IsNull(p.GetPathList(FileIOPermissionAccess.Append), "PathDiscovery=FileIOPermissionAttribute-Append");
            Assert.IsNull(p.GetPathList(FileIOPermissionAccess.PathDiscovery), "PathDiscovery=FileIOPermissionAttribute-PathDiscovery");
            Assert.IsNull(p.GetPathList(FileIOPermissionAccess.Read), "PathDiscovery=FileIOPermissionAttribute-Read");
            Assert.AreEqual(filename, p.GetPathList(FileIOPermissionAccess.Write) [0], "PathDiscovery=FileIOPermissionAttribute-Write");
        }
        public void ViewAndModify_Set()
        {
            FileIOPermissionAttribute a = new FileIOPermissionAttribute(SecurityAction.Assert);

            a.ViewAndModify = "mono";
            Assert.AreEqual("mono", a.Append, "Append");
            Assert.IsNull(a.ChangeAccessControl, "ChangeAccessControl");
            Assert.AreEqual("mono", a.PathDiscovery, "PathDiscovery");
            Assert.AreEqual("mono", a.Read, "Read");
            Assert.IsNull(a.ViewAccessControl, "ViewAccessControl");
            Assert.AreEqual("mono", a.Write, "Write");

            a.ViewAndModify = null;
            Assert.IsNull(a.Append, "Append");
            Assert.IsNull(a.ChangeAccessControl, "ChangeAccessControl");
            Assert.IsNull(a.PathDiscovery, "PathDiscovery");
            Assert.IsNull(a.Read, "Read");
            Assert.IsNull(a.ViewAccessControl, "ViewAccessControl");
            Assert.IsNull(a.Write, "Write");
        }
        public void Action()
        {
            FileIOPermissionAttribute a = new FileIOPermissionAttribute(SecurityAction.Assert);

            Assert.AreEqual(SecurityAction.Assert, a.Action, "Action=Assert");
            a.Action = SecurityAction.Demand;
            Assert.AreEqual(SecurityAction.Demand, a.Action, "Action=Demand");
            a.Action = SecurityAction.Deny;
            Assert.AreEqual(SecurityAction.Deny, a.Action, "Action=Deny");
            a.Action = SecurityAction.InheritanceDemand;
            Assert.AreEqual(SecurityAction.InheritanceDemand, a.Action, "Action=InheritanceDemand");
            a.Action = SecurityAction.LinkDemand;
            Assert.AreEqual(SecurityAction.LinkDemand, a.Action, "Action=LinkDemand");
            a.Action = SecurityAction.PermitOnly;
            Assert.AreEqual(SecurityAction.PermitOnly, a.Action, "Action=PermitOnly");
            a.Action = SecurityAction.RequestMinimum;
            Assert.AreEqual(SecurityAction.RequestMinimum, a.Action, "Action=RequestMinimum");
            a.Action = SecurityAction.RequestOptional;
            Assert.AreEqual(SecurityAction.RequestOptional, a.Action, "Action=RequestOptional");
            a.Action = SecurityAction.RequestRefuse;
            Assert.AreEqual(SecurityAction.RequestRefuse, a.Action, "Action=RequestRefuse");
        }
        public void NonC14NPath()
        {
            string filename = Path.Combine(Path.GetTempPath(), "test");

            filename = Path.Combine(filename, "..");
            filename = Path.Combine(filename, "here");
            FileIOPermissionAttribute attr = new FileIOPermissionAttribute(SecurityAction.Assert);

            // attribute class will keep the .. in the path
            attr.All = filename;
            Assert.AreEqual(filename, attr.Append, "All=Append");
            Assert.AreEqual(filename, attr.PathDiscovery, "All=PathDiscovery");
            Assert.AreEqual(filename, attr.Read, "All=Read");
            Assert.AreEqual(filename, attr.Write, "All=Write");
            // but the permission class will c14n it
            filename = Path.GetFullPath(filename);
            FileIOPermission p = (FileIOPermission)attr.CreatePermission();

            Assert.AreEqual(filename, p.GetPathList(FileIOPermissionAccess.Append) [0], "All=FileIOPermissionAttribute-Append");
            Assert.AreEqual(filename, p.GetPathList(FileIOPermissionAccess.PathDiscovery) [0], "All=FileIOPermissionAttribute-PathDiscovery");
            Assert.AreEqual(filename, p.GetPathList(FileIOPermissionAccess.Read) [0], "All=FileIOPermissionAttribute-Read");
            Assert.AreEqual(filename, p.GetPathList(FileIOPermissionAccess.Write) [0], "All=FileIOPermissionAttribute-Write");
        }
 public void All_Get()
 {
     FileIOPermissionAttribute attr = new FileIOPermissionAttribute(SecurityAction.Assert);
     string s = attr.All;
 }