public void RemoveFromStore()
        {
            StorePermissionAttribute a = Empty();

            a.RemoveFromStore = true;
            Assert.AreEqual(StorePermissionFlags.RemoveFromStore, a.Flags, "Flags=RemoveFromStore");
            a.RemoveFromStore = false;
            Assert.AreEqual(StorePermissionFlags.NoFlags, a.Flags, "Flags=NoFlags");
        }
        public void OpenStore()
        {
            StorePermissionAttribute a = Empty();

            a.OpenStore = true;
            Assert.AreEqual(StorePermissionFlags.OpenStore, a.Flags, "Flags=OpenStore");
            a.OpenStore = false;
            Assert.AreEqual(StorePermissionFlags.NoFlags, a.Flags, "Flags=NoFlags");
        }
        public void EnumerateStores()
        {
            StorePermissionAttribute a = Empty();

            a.EnumerateStores = true;
            Assert.AreEqual(StorePermissionFlags.EnumerateStores, a.Flags, "Flags=EnumerateStores");
            a.EnumerateStores = false;
            Assert.AreEqual(StorePermissionFlags.NoFlags, a.Flags, "Flags=NoFlags");
        }
        public void Unrestricted()
        {
            StorePermissionAttribute a = Empty();

            a.Unrestricted = true;
            Assert.AreEqual(StorePermissionFlags.NoFlags, a.Flags, "Unrestricted");

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

            Assert.AreEqual(StorePermissionFlags.AllFlags, perm.Flags, "CreatePermission.Flags");
        }
        private StorePermissionAttribute Empty()
        {
            StorePermissionAttribute a = new StorePermissionAttribute(SecurityAction.Assert);

            a.AddToStore            = false;
            a.CreateStore           = false;
            a.DeleteStore           = false;
            a.EnumerateCertificates = false;
            a.EnumerateStores       = false;
            a.OpenStore             = false;
            a.RemoveFromStore       = false;
            Assert.AreEqual(StorePermissionFlags.NoFlags, a.Flags, "Flags");
            return(a);
        }
        public void Default()
        {
            StorePermissionAttribute a = new StorePermissionAttribute(SecurityAction.Assert);

            Assert.IsFalse(a.AddToStore, "AddToStore");
            Assert.IsFalse(a.CreateStore, "CreateStore");
            Assert.IsFalse(a.DeleteStore, "DeleteStore");
            Assert.IsFalse(a.EnumerateCertificates, "EnumerateCertificates");
            Assert.IsFalse(a.EnumerateStores, "EnumerateStores");
            Assert.IsFalse(a.OpenStore, "OpenStore");
            Assert.IsFalse(a.RemoveFromStore, "RemoveFromStore");

            Assert.AreEqual(StorePermissionFlags.NoFlags, a.Flags, "Flags");
            Assert.AreEqual(a.ToString(), a.TypeId.ToString(), "TypeId");

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

            Assert.AreEqual(StorePermissionFlags.NoFlags, perm.Flags, "CreatePermission.Flags");
        }
        public void Action()
        {
            StorePermissionAttribute a = new StorePermissionAttribute(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 Flags()
        {
            StorePermissionAttribute a = Empty();

            a.Flags = StorePermissionFlags.AddToStore;
            Assert.IsTrue(a.AddToStore, "AddToStore");
            a.Flags |= StorePermissionFlags.CreateStore;
            Assert.IsTrue(a.CreateStore, "CreateStore");
            a.Flags |= StorePermissionFlags.DeleteStore;
            Assert.IsTrue(a.DeleteStore, "DeleteStore");
            a.Flags |= StorePermissionFlags.EnumerateCertificates;
            Assert.IsTrue(a.EnumerateCertificates, "EnumerateCertificates");
            a.Flags |= StorePermissionFlags.EnumerateStores;
            Assert.IsTrue(a.EnumerateStores, "EnumerateStores");
            a.Flags |= StorePermissionFlags.OpenStore;
            Assert.IsTrue(a.OpenStore, "OpenStore");
            a.Flags |= StorePermissionFlags.RemoveFromStore;
            Assert.IsTrue(a.RemoveFromStore, "RemoveFromStore");

            Assert.IsFalse(a.Unrestricted, "Unrestricted");
            Assert.AreEqual(StorePermissionFlags.AllFlags, a.Flags, "Flags=AllFlags");

            a.Flags &= ~StorePermissionFlags.AddToStore;
            Assert.IsFalse(a.AddToStore, "AddToStore");
            a.Flags &= ~StorePermissionFlags.CreateStore;
            Assert.IsFalse(a.CreateStore, "CreateStore");
            a.Flags &= ~StorePermissionFlags.DeleteStore;
            Assert.IsFalse(a.DeleteStore, "DeleteStore");
            a.Flags &= ~StorePermissionFlags.EnumerateCertificates;
            Assert.IsFalse(a.EnumerateCertificates, "EnumerateCertificates");
            a.Flags &= ~StorePermissionFlags.EnumerateStores;
            Assert.IsFalse(a.EnumerateStores, "EnumerateStores");
            a.Flags &= ~StorePermissionFlags.OpenStore;
            Assert.IsFalse(a.OpenStore, "OpenStore");
            a.Flags &= ~StorePermissionFlags.RemoveFromStore;
            Assert.IsFalse(a.RemoveFromStore, "RemoveFromStore");
        }
 public void Action_Invalid()
 {
     StorePermissionAttribute a = new StorePermissionAttribute((SecurityAction)Int32.MinValue);
     // no validation in attribute
 }
        public void Flags_Invalid()
        {
            StorePermissionAttribute a = Empty();

            a.Flags = ((StorePermissionFlags)Int32.MinValue);
        }