Пример #1
0
        private void Common(StrongNameMembershipCondition snmc)
        {
            Assert.IsFalse(snmc.Check(allEmpty), "Check(allEmpty)");
            Assert.IsFalse(snmc.Check(hostOther), "Check(hostOther)");
            Assert.IsFalse(snmc.Check(assemblyEcmaCorlibVersion), "Check(assemblyEcmaCorlibVersion)");
            Assert.IsFalse(snmc.Check(assemblyEcmaVersion), "Check(assemblyEcmaVersion)");
            Assert.IsFalse(snmc.Check(assemblyMsSystemSecurityVersion), "Check(assemblyMsSystemSecurityVersion)");
            Assert.IsFalse(snmc.Check(assemblyMsVersion), "Check(assemblyMsVersion)");
            Assert.IsFalse(snmc.Check(assemblyOther), "Check(assemblyOther)");

            StrongNameMembershipCondition copy = (StrongNameMembershipCondition)snmc.Copy();

            Assert.IsTrue(copy.Equals(snmc), "copy.Equals (snmc)");
            Assert.IsTrue(snmc.Equals(copy), "snmc.Equals (copy)");
            copy.Name    = null;
            copy.Version = null;
            bool original = ((snmc.Name == null) && (snmc.Version == null));

            Assert.AreEqual(original, copy.Equals(snmc), "bad.Equals (snmc)");
            Assert.AreEqual(original, snmc.Equals(copy), "snmc.Equals (bad)");

            SecurityElement se = snmc.ToXml();

            copy.FromXml(se);
            Assert.AreEqual(snmc.PublicKey, copy.PublicKey, "PublicKey");
            Assert.AreEqual(snmc.Name, copy.Name, "Name");
            Assert.AreEqual(snmc.Version, copy.Version, "Version");
            Assert.AreEqual(snmc.GetHashCode(), copy.GetHashCode(), "GetHashCode ()");
            Assert.AreEqual(snmc.ToString(), copy.ToString(), "ToString ()");
            Assert.IsTrue(copy.Equals(snmc), "xml.Equals (snmc)");
            Assert.IsTrue(snmc.Equals(copy), "snmc.Equals (xml)");
        }
Пример #2
0
        [Category("NotMobile")]         // mobile profile throws a NotSupportedException
        public void ToXml_PolicyLevel()
        {
            StrongNameMembershipCondition snmc = new StrongNameMembershipCondition(blob, name, version);
            SecurityElement se = snmc.ToXml();
            string          s  = snmc.ToXml().ToString();
            // is it accepted for all policy levels ?
            IEnumerator e = SecurityManager.PolicyHierarchy();

            while (e.MoveNext())
            {
                PolicyLevel pl = e.Current as PolicyLevel;
                StrongNameMembershipCondition spl = new StrongNameMembershipCondition(blob, name, version);
                spl.FromXml(se, pl);
                Assert.AreEqual(s, spl.ToXml(pl).ToString(), "ToXml(PolicyLevel='" + pl.Label + "')");
            }
            // yes!
        }
Пример #3
0
        public void ToXml_Null()
        {
            StrongNameMembershipCondition snmc = new StrongNameMembershipCondition(blob, name, version);
            // no ArgumentNullException here
            SecurityElement se = snmc.ToXml(null);

            Assert.IsNotNull(se, "ToXml(null)");
        }
Пример #4
0
        public void FromXml_InvalidClass()
        {
            StrongNameMembershipCondition snmc = new StrongNameMembershipCondition(blob, name, version);
            SecurityElement se = snmc.ToXml();

            se.Attributes ["class"] = "Hello world";
            snmc.FromXml(se);
        }
Пример #5
0
        public void FromXml_InvalidTag()
        {
            StrongNameMembershipCondition snmc = new StrongNameMembershipCondition(blob, name, version);
            SecurityElement se = snmc.ToXml();

            se.Tag = "IMonoship";
            snmc.FromXml(se);
        }
        public static void StrongNameMembershipConditionCallMethods()
        {
            StrongNameMembershipCondition snmc = new StrongNameMembershipCondition(new StrongNamePublicKeyBlob(new byte[1]), "test", new Version(0, 1));
            bool check = snmc.Check(new Evidence());
            IMembershipCondition obj = snmc.Copy();

            check = snmc.Equals(new object());
            int             hash = snmc.GetHashCode();
            string          str  = snmc.ToString();
            SecurityElement se   = new SecurityElement("");
            PolicyLevel     pl   = (PolicyLevel)FormatterServices.GetUninitializedObject(typeof(PolicyLevel));

            snmc.FromXml(se);
            snmc.FromXml(se, pl);
            se = snmc.ToXml();
            se = snmc.ToXml(pl);
        }
Пример #7
0
        public void FromXml_NoVersion()
        {
            StrongNameMembershipCondition snmc = new StrongNameMembershipCondition(blob, name, version);
            SecurityElement se = snmc.ToXml();

            SecurityElement w = new SecurityElement(se.Tag);

            w.AddAttribute("class", se.Attribute("class"));
            snmc.FromXml(w);
        }
Пример #8
0
        public void FromXml_NoClass()
        {
            StrongNameMembershipCondition snmc = new StrongNameMembershipCondition(blob, name, version);
            SecurityElement se = snmc.ToXml();

            SecurityElement w = new SecurityElement(se.Tag);

            w.AddAttribute("version", se.Attribute("version"));
            snmc.FromXml(w);
            // doesn't even care of the class attribute presence
        }