示例#1
0
        public void Add_Duplicates()
        {
            NonAbstractDBDataPermission dbdp = new NonAbstractDBDataPermission(PermissionState.None);

            dbdp.Add(defaultConnectString, String.Empty, KeyRestrictionBehavior.AllowOnly);
            dbdp.Add(defaultConnectString, String.Empty, KeyRestrictionBehavior.AllowOnly);
            // no exception but a single element is kept
            Assert.AreEqual(1, dbdp.ToXml().Children.Count, "Count");
            dbdp.Add(defaultConnectString, String.Empty, KeyRestrictionBehavior.PreventUsage);

            dbdp.Clear();
            Assert.IsNull(dbdp.ToXml().Children, "Clear");
        }
示例#2
0
        public void Add_Differents()
        {
            NonAbstractDBDataPermission dbdp = new NonAbstractDBDataPermission(PermissionState.None);

            dbdp.Add(defaultConnectString, String.Empty, KeyRestrictionBehavior.AllowOnly);
            string connectString = "Data Source=127.0.0.1;Integrated Security=SSPI;Initial Catalog=Northwind;";

            dbdp.Add(connectString, String.Empty, KeyRestrictionBehavior.AllowOnly);
            Assert.AreEqual(2, dbdp.ToXml().Children.Count, "Count");

            dbdp.Clear();
            Assert.IsNull(dbdp.ToXml().Children, "Clear");
        }
示例#3
0
        public void Constructor_DBDataPermission()
        {
            DBDataPermission p = new NonAbstractDBDataPermission(PermissionState.None);

            p.AllowBlankPassword = true;
            p.Add(defaultConnectString, String.Empty, KeyRestrictionBehavior.AllowOnly);

            NonAbstractDBDataPermission dbdp = new NonAbstractDBDataPermission(p);

            Check("DBDataPermission", dbdp, true, false, 1);
        }
示例#4
0
        public void Intersect()
        {
            NonAbstractDBDataPermission dbdp1 = new NonAbstractDBDataPermission(PermissionState.None);
            NonAbstractDBDataPermission dbdp2 = new NonAbstractDBDataPermission(PermissionState.None);

            // 1. None N None
            NonAbstractDBDataPermission result = (NonAbstractDBDataPermission)dbdp1.Intersect(dbdp2);

            Assert.IsNull(result, "Empty N Empty");

            // 2. None N Entry
            dbdp2.Add(defaultConnectString, String.Empty, KeyRestrictionBehavior.AllowOnly);
            result = (NonAbstractDBDataPermission)dbdp1.Intersect(dbdp2);
            Assert.IsNull(result, "Empty N Entry");

            // 3. Entry N None
            result = (NonAbstractDBDataPermission)dbdp2.Intersect(dbdp1);
            Assert.IsNull(result, "Entry N Empty");

            // 4. Unrestricted N None
            NonAbstractDBDataPermission unr = new NonAbstractDBDataPermission(PermissionState.Unrestricted);

            result = (NonAbstractDBDataPermission)unr.Intersect(dbdp1);
            Check("(Unrestricted N None)", result, false, false, 0);

            // 5. None N Unrestricted
            result = (NonAbstractDBDataPermission)dbdp1.Intersect(unr);
            Check("(None N Unrestricted)", result, false, false, 0);

            // 6. Unrestricted N Unrestricted
            result = (NonAbstractDBDataPermission)unr.Intersect(unr);
            Check("(Unrestricted N Unrestricted)", result, false, true, 0);

            // 7. Unrestricted N Entry
            result = (NonAbstractDBDataPermission)unr.Intersect(dbdp2);
            Check("(Unrestricted N Entry)", result, false, false, 1);

            // 8. Entry N Unrestricted
            result = (NonAbstractDBDataPermission)dbdp2.Intersect(unr);
            Check("(Entry N Unrestricted)", result, false, false, 1);

            // 9. Entry2 N Entry2
            result = (NonAbstractDBDataPermission)dbdp2.Intersect(dbdp2);
            Check("(Entry2 N Entry2)", result, false, false, 1);

            // 10. Entry1 N Entry 2
            dbdp1.Add(defaultConnectString2, String.Empty, KeyRestrictionBehavior.PreventUsage);
            result = (NonAbstractDBDataPermission)dbdp1.Intersect(dbdp2);
            Assert.IsNull(result, "(Entry1 N Entry2)");

            // 11. Entry2 N Entry 1
            result = (NonAbstractDBDataPermission)dbdp2.Intersect(dbdp1);
            Assert.IsNull(result, "(Entry2 N Entry1)");
        }
示例#5
0
        public void Add_Unrestricted()
        {
            NonAbstractDBDataPermission dbdp = new NonAbstractDBDataPermission(PermissionState.Unrestricted);

            Assert.IsTrue(dbdp.IsUnrestricted(), "IsUnrestricted-1");
            // we lose unrestricted by adding an element
            dbdp.Add(defaultConnectString, String.Empty, KeyRestrictionBehavior.AllowOnly);
            Assert.IsFalse(dbdp.IsUnrestricted(), "IsUnrestricted-2");
            // removing the element doesn't regain unrestricted status
            dbdp.Clear();
            Assert.IsFalse(dbdp.IsUnrestricted(), "IsUnrestricted-3");
        }
示例#6
0
        public void IsSubset_Null()
        {
            NonAbstractDBDataPermission dbdp = new NonAbstractDBDataPermission(PermissionState.None);

            Assert.IsTrue(dbdp.IsSubsetOf(null), "Empty-null");

            dbdp.Add(defaultConnectString, String.Empty, KeyRestrictionBehavior.AllowOnly);
            Assert.IsFalse(dbdp.IsSubsetOf(null), "Element-null");

            dbdp = new NonAbstractDBDataPermission(PermissionState.Unrestricted);
            Assert.IsFalse(dbdp.IsSubsetOf(null), "Unrestricted-null");
        }
示例#7
0
        public void IsSubsetOf_BothEmpty_KeyRestrictionBehavior()
        {
            NonAbstractDBDataPermission pAllow = new NonAbstractDBDataPermission(PermissionState.None);

            pAllow.Add(defaultConnectString, String.Empty, KeyRestrictionBehavior.AllowOnly);
            NonAbstractDBDataPermission pPrevent = new NonAbstractDBDataPermission(PermissionState.None);

            pPrevent.Add(defaultConnectString, String.Empty, KeyRestrictionBehavior.PreventUsage);

            Assert.IsTrue(pAllow.IsSubsetOf(pAllow), "BothEmpty - pAllow subsetof pAllow");
            Assert.IsTrue(pAllow.IsSubsetOf(pPrevent), "BothEmpty - pAllow subsetof pPrevent");
            Assert.IsTrue(pPrevent.IsSubsetOf(pAllow), "BothEmpty - pPrevent subsetof pAllow");
            Assert.IsTrue(pPrevent.IsSubsetOf(pPrevent), "BothEmpty - pPrevent subsetof pPrevent");
        }
示例#8
0
        public void IsSubsetOf_AllowPreventSame_KeyRestrictionBehavior()
        {
            NonAbstractDBDataPermission pAllow = new NonAbstractDBDataPermission(PermissionState.None);

            pAllow.Add(defaultConnectString, "password=;", KeyRestrictionBehavior.AllowOnly);
            NonAbstractDBDataPermission pPrevent = new NonAbstractDBDataPermission(PermissionState.None);

            pPrevent.Add(defaultConnectString, "password=;", KeyRestrictionBehavior.PreventUsage);

            Assert.IsTrue(pAllow.IsSubsetOf(pAllow), "AllowPreventSame - pAllow subsetof pAllow");
            Assert.IsTrue(pAllow.IsSubsetOf(pPrevent), "AllowPreventSame - pAllow subsetof pPrevent");
            Assert.IsTrue(pPrevent.IsSubsetOf(pAllow), "AllowPreventSame - pPrevent subsetof pAllow");
            Assert.IsTrue(pPrevent.IsSubsetOf(pPrevent), "AllowPreventSame - pPrevent subsetof pPrevent");
        }
示例#9
0
        public void Add()
        {
            NonAbstractDBDataPermission dbdp = new NonAbstractDBDataPermission(PermissionState.None);

            dbdp.Add(defaultConnectString, String.Empty, KeyRestrictionBehavior.AllowOnly);
            Assert.AreEqual(1, dbdp.ToXml().Children.Count, "Count");

            NonAbstractDBDataPermission copy = (NonAbstractDBDataPermission)dbdp.Copy();

            Assert.AreEqual(1, copy.ToXml().Children.Count, "Copy.Count");

            dbdp.Clear();
            Assert.IsNull(dbdp.ToXml().Children, "Clear");
            Assert.AreEqual(1, copy.ToXml().Children.Count, "Copy.Count-2");
        }
示例#10
0
        public void IsSubsetOf_AllowBlankPassword()
        {
            NonAbstractDBDataPermission ptrue = new NonAbstractDBDataPermission(PermissionState.None);

            ptrue.AllowBlankPassword = true;
            ptrue.Add(defaultConnectString, String.Empty, KeyRestrictionBehavior.AllowOnly);
            NonAbstractDBDataPermission pfalse = new NonAbstractDBDataPermission(PermissionState.None);

            pfalse.AllowBlankPassword = false;
            pfalse.Add(defaultConnectString, String.Empty, KeyRestrictionBehavior.AllowOnly);

            Assert.IsTrue(ptrue.IsSubsetOf(ptrue), "true subsetof true");
            Assert.IsFalse(ptrue.IsSubsetOf(pfalse), "true subsetof false");
            Assert.IsTrue(pfalse.IsSubsetOf(ptrue), "false subsetof true");
            Assert.IsTrue(pfalse.IsSubsetOf(pfalse), "false subsetof false");
        }
示例#11
0
        public void Union_Null()
        {
            NonAbstractDBDataPermission dbdp  = new NonAbstractDBDataPermission(PermissionState.None);
            NonAbstractDBDataPermission union = (NonAbstractDBDataPermission)dbdp.Union(null);

            Check("Empty U null", dbdp, false, false, 0);

            dbdp.AllowBlankPassword = true;
            dbdp.Add(defaultConnectString, String.Empty, KeyRestrictionBehavior.AllowOnly);
            union = (NonAbstractDBDataPermission)dbdp.Union(null);
            Check("Element U null", dbdp, true, false, 1);

            dbdp  = new NonAbstractDBDataPermission(PermissionState.Unrestricted);
            union = (NonAbstractDBDataPermission)dbdp.Union(null);
            Check("Unrestricted U null", dbdp, false, true, 0);
        }
示例#12
0
        public void IsSubsetOf_AllowPreventDifferent_KeyRestrictionBehavior()
        {
            NonAbstractDBDataPermission pAllow1 = new NonAbstractDBDataPermission(PermissionState.None);

            pAllow1.Add(defaultConnectString, "security=;", KeyRestrictionBehavior.AllowOnly);
            NonAbstractDBDataPermission pAllow2 = new NonAbstractDBDataPermission(PermissionState.None);

            pAllow2.Add(defaultConnectString, "password=;", KeyRestrictionBehavior.AllowOnly);
            NonAbstractDBDataPermission pPrevent1 = new NonAbstractDBDataPermission(PermissionState.None);

            pPrevent1.Add(defaultConnectString, "security=;", KeyRestrictionBehavior.PreventUsage);
            NonAbstractDBDataPermission pPrevent2 = new NonAbstractDBDataPermission(PermissionState.None);

            pPrevent2.Add(defaultConnectString, "password=;", KeyRestrictionBehavior.PreventUsage);

            Assert.IsTrue(pAllow1.IsSubsetOf(pAllow1), "AllowPreventDifferent - pAllow subsetof pAllow");
            Assert.IsTrue(pAllow1.IsSubsetOf(pPrevent2), "AllowPreventDifferent - pAllow subsetof pPrevent");
            Assert.IsTrue(pPrevent1.IsSubsetOf(pAllow2), "AllowPreventDifferent - pPrevent subsetof pAllow");
            Assert.IsTrue(pPrevent1.IsSubsetOf(pPrevent2), "AllowPreventDifferent - pPrevent subsetof pPrevent");
        }
示例#13
0
        public void Union_AllowBlankPassword()
        {
            NonAbstractDBDataPermission ptrue = new NonAbstractDBDataPermission(PermissionState.None);

            ptrue.AllowBlankPassword = true;
            ptrue.Add(defaultConnectString, String.Empty, KeyRestrictionBehavior.AllowOnly);
            NonAbstractDBDataPermission pfalse = new NonAbstractDBDataPermission(PermissionState.None);

            pfalse.AllowBlankPassword = false;
            pfalse.Add(defaultConnectString, String.Empty, KeyRestrictionBehavior.AllowOnly);

            NonAbstractDBDataPermission union = (NonAbstractDBDataPermission)ptrue.Union(ptrue);

            Check("true U true", union, true, false, 1);
            union = (NonAbstractDBDataPermission)ptrue.Union(pfalse);
            Check("true U false", union, true, false, 1);
            union = (NonAbstractDBDataPermission)pfalse.Union(ptrue);
            Check("false U true", union, true, false, 1);
            union = (NonAbstractDBDataPermission)pfalse.Union(pfalse);
            Check("false U false", union, false, false, 1);
        }
示例#14
0
        public void Intersect_AllowBlankPassword()
        {
            NonAbstractDBDataPermission ptrue = new NonAbstractDBDataPermission(PermissionState.None);

            ptrue.AllowBlankPassword = true;
            ptrue.Add(defaultConnectString, String.Empty, KeyRestrictionBehavior.AllowOnly);
            NonAbstractDBDataPermission pfalse = new NonAbstractDBDataPermission(PermissionState.None);

            pfalse.AllowBlankPassword = false;
            pfalse.Add(defaultConnectString, String.Empty, KeyRestrictionBehavior.AllowOnly);

            NonAbstractDBDataPermission intersect = (NonAbstractDBDataPermission)ptrue.Intersect(ptrue);

            Check("true N true", intersect, true, false, 1);
            intersect = (NonAbstractDBDataPermission)ptrue.Intersect(pfalse);
            Check("true N false", intersect, false, false, 1);
            intersect = (NonAbstractDBDataPermission)pfalse.Intersect(ptrue);
            Check("false N true", intersect, false, false, 1);
            intersect = (NonAbstractDBDataPermission)pfalse.Intersect(pfalse);
            Check("false N false", intersect, false, false, 1);
        }
示例#15
0
        public void Union()
        {
            NonAbstractDBDataPermission empty = new NonAbstractDBDataPermission(PermissionState.None);
            NonAbstractDBDataPermission union = (NonAbstractDBDataPermission)empty.Union(empty);

            Assert.IsNotNull(union, "Empty U Empty");

            NonAbstractDBDataPermission dbdp1 = new NonAbstractDBDataPermission(PermissionState.None);

            dbdp1.Add(defaultConnectString, String.Empty, KeyRestrictionBehavior.AllowOnly);
            union = (NonAbstractDBDataPermission)empty.Union(dbdp1);
            Check("Empty U 1", union, false, false, 1);

            NonAbstractDBDataPermission dbdp2 = (NonAbstractDBDataPermission)dbdp1.Copy();

            dbdp2.Add(defaultConnectString2, String.Empty, KeyRestrictionBehavior.AllowOnly);
            union = (NonAbstractDBDataPermission)dbdp1.Union(dbdp2);
            Check("1 U 2", union, false, false, 2);

            NonAbstractDBDataPermission dbdp3 = new NonAbstractDBDataPermission(PermissionState.None);

            dbdp3.Add(defaultConnectString, String.Empty, KeyRestrictionBehavior.PreventUsage);
            union = (NonAbstractDBDataPermission)dbdp2.Union(dbdp3);
            Check("2 U 3", union, false, false, 2);

            NonAbstractDBDataPermission dbdp4 = new NonAbstractDBDataPermission(PermissionState.None);

            dbdp4.Add(defaultConnectString, "Data Source=;", KeyRestrictionBehavior.PreventUsage);
            union = (NonAbstractDBDataPermission)dbdp3.Union(dbdp4);
            Check("3 U 4", union, false, false, 1);

            NonAbstractDBDataPermission unr = new NonAbstractDBDataPermission(PermissionState.Unrestricted);

            union = (NonAbstractDBDataPermission)unr.Union(empty);
            Check("unrestricted U empty", union, false, true, 0);

            union = (NonAbstractDBDataPermission)unr.Union(dbdp4);
            Check("unrestricted U 4", union, false, true, 0);
        }
示例#16
0
        public void IsSubset()
        {
            NonAbstractDBDataPermission empty = new NonAbstractDBDataPermission(PermissionState.None);

            Assert.IsTrue(empty.IsSubsetOf(empty), "Empty-Empty");

            NonAbstractDBDataPermission dbdp1 = new NonAbstractDBDataPermission(PermissionState.None);

            dbdp1.Add(defaultConnectString, String.Empty, KeyRestrictionBehavior.AllowOnly);
            Assert.IsTrue(empty.IsSubsetOf(dbdp1), "Empty-1");
            Assert.IsFalse(dbdp1.IsSubsetOf(empty), "1-Empty");
            Assert.IsTrue(dbdp1.IsSubsetOf(dbdp1), "1-1");

            NonAbstractDBDataPermission dbdp2 = (NonAbstractDBDataPermission)dbdp1.Copy();

            dbdp2.Add(defaultConnectString2, String.Empty, KeyRestrictionBehavior.AllowOnly);
            Assert.IsTrue(dbdp1.IsSubsetOf(dbdp2), "1-2");
            Assert.IsFalse(dbdp2.IsSubsetOf(dbdp1), "2-1");
            Assert.IsTrue(dbdp2.IsSubsetOf(dbdp2), "2-2");

            NonAbstractDBDataPermission dbdp3 = new NonAbstractDBDataPermission(PermissionState.None);

            dbdp3.Add(defaultConnectString, String.Empty, KeyRestrictionBehavior.PreventUsage);
            Assert.IsTrue(dbdp3.IsSubsetOf(dbdp1), "3-1");
            Assert.IsTrue(dbdp1.IsSubsetOf(dbdp3), "1-3");
            Assert.IsTrue(dbdp3.IsSubsetOf(dbdp3), "3-3");

            NonAbstractDBDataPermission unr = new NonAbstractDBDataPermission(PermissionState.Unrestricted);

            Assert.IsTrue(dbdp1.IsSubsetOf(unr), "1-unrestricted");
            Assert.IsFalse(unr.IsSubsetOf(dbdp1), "unrestricted-1");
            Assert.IsTrue(dbdp2.IsSubsetOf(unr), "2-unrestricted");
            Assert.IsFalse(unr.IsSubsetOf(dbdp2), "unrestricted-2");
            Assert.IsTrue(dbdp3.IsSubsetOf(unr), "3-unrestricted");
            Assert.IsFalse(unr.IsSubsetOf(dbdp3), "unrestricted-3");
            Assert.IsTrue(unr.IsSubsetOf(unr), "unrestricted-unrestricted");
        }
示例#17
0
		public void Intersect ()
		{
			NonAbstractDBDataPermission dbdp1 = new NonAbstractDBDataPermission (PermissionState.None);
			NonAbstractDBDataPermission dbdp2 = new NonAbstractDBDataPermission (PermissionState.None);
			
			// 1. None N None
			NonAbstractDBDataPermission result = (NonAbstractDBDataPermission) dbdp1.Intersect (dbdp2);
			Assert.IsNull (result, "Empty N Empty");
			
			// 2. None N Entry
			dbdp2.Add (defaultConnectString, String.Empty, KeyRestrictionBehavior.AllowOnly);
			result = (NonAbstractDBDataPermission)dbdp1.Intersect (dbdp2);
			Assert.IsNull (result, "Empty N Entry");

			// 3. Entry N None
			result = (NonAbstractDBDataPermission)dbdp2.Intersect (dbdp1);
			Assert.IsNull (result, "Entry N Empty");

			// 4. Unrestricted N None
			NonAbstractDBDataPermission unr = new NonAbstractDBDataPermission (PermissionState.Unrestricted);
			result = (NonAbstractDBDataPermission)unr.Intersect (dbdp1);
			Check ("(Unrestricted N None)", result, false, false, 0);

			// 5. None N Unrestricted
			result = (NonAbstractDBDataPermission)dbdp1.Intersect (unr);
			Check ("(None N Unrestricted)", result, false, false, 0);

			// 6. Unrestricted N Unrestricted
			result = (NonAbstractDBDataPermission)unr.Intersect (unr);
			Check ("(Unrestricted N Unrestricted)", result, false, true, 0);

			// 7. Unrestricted N Entry
			result = (NonAbstractDBDataPermission)unr.Intersect (dbdp2);
			Check ("(Unrestricted N Entry)", result, false, false, 1);

			// 8. Entry N Unrestricted
			result = (NonAbstractDBDataPermission)dbdp2.Intersect (unr);
			Check ("(Entry N Unrestricted)", result, false, false, 1);

			// 9. Entry2 N Entry2
			result = (NonAbstractDBDataPermission)dbdp2.Intersect (dbdp2);
			Check ("(Entry2 N Entry2)", result, false, false, 1);

			// 10. Entry1 N Entry 2
			dbdp1.Add (defaultConnectString2, String.Empty, KeyRestrictionBehavior.PreventUsage);
			result = (NonAbstractDBDataPermission)dbdp1.Intersect (dbdp2);
			Assert.IsNull (result, "(Entry1 N Entry2)");

			// 11. Entry2 N Entry 1
			result = (NonAbstractDBDataPermission)dbdp2.Intersect (dbdp1);
			Assert.IsNull (result, "(Entry2 N Entry1)");
		}
示例#18
0
		public void Intersect_AllowBlankPassword ()
		{
			NonAbstractDBDataPermission ptrue = new NonAbstractDBDataPermission (PermissionState.None);
			ptrue.AllowBlankPassword = true;
			ptrue.Add (defaultConnectString, String.Empty, KeyRestrictionBehavior.AllowOnly);
			NonAbstractDBDataPermission pfalse = new NonAbstractDBDataPermission (PermissionState.None);
			pfalse.AllowBlankPassword = false;
			pfalse.Add (defaultConnectString, String.Empty, KeyRestrictionBehavior.AllowOnly);

			NonAbstractDBDataPermission intersect = (NonAbstractDBDataPermission)ptrue.Intersect (ptrue);
			Check ("true N true", intersect, true, false, 1);
			intersect = (NonAbstractDBDataPermission)ptrue.Intersect (pfalse);
			Check ("true N false", intersect, false, false, 1);
			intersect = (NonAbstractDBDataPermission)pfalse.Intersect (ptrue);
			Check ("false N true", intersect, false, false, 1);
			intersect = (NonAbstractDBDataPermission)pfalse.Intersect (pfalse);
			Check ("false N false", intersect, false, false, 1);
		}
示例#19
0
		public void IsSubset_Null ()
		{
			NonAbstractDBDataPermission dbdp = new NonAbstractDBDataPermission (PermissionState.None);
			Assert.IsTrue (dbdp.IsSubsetOf (null), "Empty-null");

			dbdp.Add (defaultConnectString, String.Empty, KeyRestrictionBehavior.AllowOnly);
			Assert.IsFalse (dbdp.IsSubsetOf (null), "Element-null");

			dbdp = new NonAbstractDBDataPermission (PermissionState.Unrestricted);
			Assert.IsFalse (dbdp.IsSubsetOf (null), "Unrestricted-null");
		}
示例#20
0
		public void IsSubset ()
		{
			NonAbstractDBDataPermission empty = new NonAbstractDBDataPermission (PermissionState.None);
			Assert.IsTrue (empty.IsSubsetOf (empty), "Empty-Empty");

			NonAbstractDBDataPermission dbdp1 = new NonAbstractDBDataPermission (PermissionState.None);
			dbdp1.Add (defaultConnectString, String.Empty, KeyRestrictionBehavior.AllowOnly);
			Assert.IsTrue (empty.IsSubsetOf (dbdp1), "Empty-1");
			Assert.IsFalse (dbdp1.IsSubsetOf (empty), "1-Empty");
			Assert.IsTrue (dbdp1.IsSubsetOf (dbdp1), "1-1");

			NonAbstractDBDataPermission dbdp2 = (NonAbstractDBDataPermission)dbdp1.Copy ();
			dbdp2.Add (defaultConnectString2, String.Empty, KeyRestrictionBehavior.AllowOnly);
			Assert.IsTrue (dbdp1.IsSubsetOf (dbdp2), "1-2");
			Assert.IsFalse (dbdp2.IsSubsetOf (dbdp1), "2-1");
			Assert.IsTrue (dbdp2.IsSubsetOf (dbdp2), "2-2");

			NonAbstractDBDataPermission dbdp3 = new NonAbstractDBDataPermission (PermissionState.None);
			dbdp3.Add (defaultConnectString, String.Empty, KeyRestrictionBehavior.PreventUsage);
			Assert.IsTrue (dbdp3.IsSubsetOf (dbdp1), "3-1");
			Assert.IsTrue (dbdp1.IsSubsetOf (dbdp3), "1-3");
			Assert.IsTrue (dbdp3.IsSubsetOf (dbdp3), "3-3");

			NonAbstractDBDataPermission unr = new NonAbstractDBDataPermission (PermissionState.Unrestricted);
			Assert.IsTrue (dbdp1.IsSubsetOf (unr), "1-unrestricted");
			Assert.IsFalse (unr.IsSubsetOf (dbdp1), "unrestricted-1");
			Assert.IsTrue (dbdp2.IsSubsetOf (unr), "2-unrestricted");
			Assert.IsFalse (unr.IsSubsetOf (dbdp2), "unrestricted-2");
			Assert.IsTrue (dbdp3.IsSubsetOf (unr), "3-unrestricted");
			Assert.IsFalse (unr.IsSubsetOf (dbdp3), "unrestricted-3");
			Assert.IsTrue (unr.IsSubsetOf (unr), "unrestricted-unrestricted");
		}
示例#21
0
		public void Union_AllowBlankPassword ()
		{
			NonAbstractDBDataPermission ptrue = new NonAbstractDBDataPermission (PermissionState.None);
			ptrue.AllowBlankPassword = true;
			ptrue.Add (defaultConnectString, String.Empty, KeyRestrictionBehavior.AllowOnly);
			NonAbstractDBDataPermission pfalse = new NonAbstractDBDataPermission (PermissionState.None);
			pfalse.AllowBlankPassword = false;
			pfalse.Add (defaultConnectString, String.Empty, KeyRestrictionBehavior.AllowOnly);

			NonAbstractDBDataPermission union = (NonAbstractDBDataPermission) ptrue.Union (ptrue);
			Check ("true U true", union, true, false, 1);
			union = (NonAbstractDBDataPermission)ptrue.Union (pfalse);
			Check ("true U false", union, true, false, 1);
			union = (NonAbstractDBDataPermission)pfalse.Union (ptrue);
			Check ("false U true", union, true, false, 1);
			union = (NonAbstractDBDataPermission)pfalse.Union (pfalse);
			Check ("false U false", union, false, false, 1);
		}
示例#22
0
		public void IsSubsetOf_BothEmpty_KeyRestrictionBehavior ()
		{
			NonAbstractDBDataPermission pAllow = new NonAbstractDBDataPermission (PermissionState.None);
			pAllow.Add (defaultConnectString, String.Empty, KeyRestrictionBehavior.AllowOnly);
			NonAbstractDBDataPermission pPrevent = new NonAbstractDBDataPermission (PermissionState.None);
			pPrevent.Add (defaultConnectString, String.Empty, KeyRestrictionBehavior.PreventUsage);

			Assert.IsTrue (pAllow.IsSubsetOf (pAllow), "BothEmpty - pAllow subsetof pAllow");
			Assert.IsTrue (pAllow.IsSubsetOf (pPrevent), "BothEmpty - pAllow subsetof pPrevent");
			Assert.IsTrue (pPrevent.IsSubsetOf (pAllow), "BothEmpty - pPrevent subsetof pAllow");
			Assert.IsTrue (pPrevent.IsSubsetOf (pPrevent), "BothEmpty - pPrevent subsetof pPrevent");
		}
示例#23
0
		public void IsSubsetOf_AllowPreventSame_KeyRestrictionBehavior ()
		{
			NonAbstractDBDataPermission pAllow = new NonAbstractDBDataPermission (PermissionState.None);
			pAllow.Add (defaultConnectString, "password=;", KeyRestrictionBehavior.AllowOnly);
			NonAbstractDBDataPermission pPrevent = new NonAbstractDBDataPermission (PermissionState.None);
			pPrevent.Add (defaultConnectString, "password=;", KeyRestrictionBehavior.PreventUsage);

			Assert.IsTrue (pAllow.IsSubsetOf (pAllow), "AllowPreventSame - pAllow subsetof pAllow");
			Assert.IsTrue (pAllow.IsSubsetOf (pPrevent), "AllowPreventSame - pAllow subsetof pPrevent");
			Assert.IsTrue (pPrevent.IsSubsetOf (pAllow), "AllowPreventSame - pPrevent subsetof pAllow");
			Assert.IsTrue (pPrevent.IsSubsetOf (pPrevent), "AllowPreventSame - pPrevent subsetof pPrevent");
		}
示例#24
0
		public void IsSubsetOf_AllowPreventDifferent_KeyRestrictionBehavior ()
		{
			NonAbstractDBDataPermission pAllow1 = new NonAbstractDBDataPermission (PermissionState.None);
			pAllow1.Add (defaultConnectString, "security=;", KeyRestrictionBehavior.AllowOnly);
			NonAbstractDBDataPermission pAllow2 = new NonAbstractDBDataPermission (PermissionState.None);
			pAllow2.Add (defaultConnectString, "password=;", KeyRestrictionBehavior.AllowOnly);
			NonAbstractDBDataPermission pPrevent1 = new NonAbstractDBDataPermission (PermissionState.None);
			pPrevent1.Add (defaultConnectString, "security=;", KeyRestrictionBehavior.PreventUsage);
			NonAbstractDBDataPermission pPrevent2 = new NonAbstractDBDataPermission (PermissionState.None);
			pPrevent2.Add (defaultConnectString, "password=;", KeyRestrictionBehavior.PreventUsage);

			Assert.IsTrue (pAllow1.IsSubsetOf (pAllow1), "AllowPreventDifferent - pAllow subsetof pAllow");
			Assert.IsTrue (pAllow1.IsSubsetOf (pPrevent2), "AllowPreventDifferent - pAllow subsetof pPrevent");
			Assert.IsTrue (pPrevent1.IsSubsetOf (pAllow2), "AllowPreventDifferent - pPrevent subsetof pAllow");
			Assert.IsTrue (pPrevent1.IsSubsetOf (pPrevent2), "AllowPreventDifferent - pPrevent subsetof pPrevent");
		}
示例#25
0
		public void Union_Null ()
		{
			NonAbstractDBDataPermission dbdp = new NonAbstractDBDataPermission (PermissionState.None);
			NonAbstractDBDataPermission union = (NonAbstractDBDataPermission) dbdp.Union (null);
			Check ("Empty U null", dbdp, false, false, 0);

			dbdp.AllowBlankPassword = true;
			dbdp.Add (defaultConnectString, String.Empty, KeyRestrictionBehavior.AllowOnly);
			union = (NonAbstractDBDataPermission) dbdp.Union (null);
			Check ("Element U null", dbdp, true, false, 1);

			dbdp = new NonAbstractDBDataPermission (PermissionState.Unrestricted);
			union = (NonAbstractDBDataPermission) dbdp.Union (null);
			Check ("Unrestricted U null", dbdp, false, true, 0);
		}
示例#26
0
		public void Add_Duplicates ()
		{
			NonAbstractDBDataPermission dbdp = new NonAbstractDBDataPermission (PermissionState.None);
			dbdp.Add (defaultConnectString, String.Empty, KeyRestrictionBehavior.AllowOnly);
			dbdp.Add (defaultConnectString, String.Empty, KeyRestrictionBehavior.AllowOnly);
			// no exception but a single element is kept
			Assert.AreEqual (1, dbdp.ToXml ().Children.Count, "Count");
			dbdp.Add (defaultConnectString, String.Empty, KeyRestrictionBehavior.PreventUsage);

			dbdp.Clear ();
			Assert.IsNull (dbdp.ToXml ().Children, "Clear");
		}
示例#27
0
		public void Constructor_DBDataPermission ()
		{
			DBDataPermission p = new NonAbstractDBDataPermission (PermissionState.None);
			p.AllowBlankPassword = true;
			p.Add (defaultConnectString, String.Empty, KeyRestrictionBehavior.AllowOnly);

			NonAbstractDBDataPermission dbdp = new NonAbstractDBDataPermission (p);
			Check ("DBDataPermission", dbdp, true, false, 1);
		}
示例#28
0
		public void Add_Unrestricted ()
		{
			NonAbstractDBDataPermission dbdp = new NonAbstractDBDataPermission (PermissionState.Unrestricted);
			Assert.IsTrue (dbdp.IsUnrestricted (), "IsUnrestricted-1");
			// we lose unrestricted by adding an element
			dbdp.Add (defaultConnectString, String.Empty, KeyRestrictionBehavior.AllowOnly);
			Assert.IsFalse (dbdp.IsUnrestricted (), "IsUnrestricted-2");
			// removing the element doesn't regain unrestricted status
			dbdp.Clear ();
			Assert.IsFalse (dbdp.IsUnrestricted (), "IsUnrestricted-3");
		}
示例#29
0
		public void Add_Differents ()
		{
			NonAbstractDBDataPermission dbdp = new NonAbstractDBDataPermission (PermissionState.None);
			dbdp.Add (defaultConnectString, String.Empty, KeyRestrictionBehavior.AllowOnly);
			string connectString = "Data Source=127.0.0.1;Integrated Security=SSPI;Initial Catalog=Northwind;";
			dbdp.Add (connectString, String.Empty, KeyRestrictionBehavior.AllowOnly);
			Assert.AreEqual (2, dbdp.ToXml ().Children.Count, "Count");

			dbdp.Clear ();
			Assert.IsNull (dbdp.ToXml ().Children, "Clear");
		}
示例#30
0
		public void IsSubsetOf_AllowBlankPassword ()
		{
			NonAbstractDBDataPermission ptrue = new NonAbstractDBDataPermission (PermissionState.None);
			ptrue.AllowBlankPassword = true;
			ptrue.Add (defaultConnectString, String.Empty, KeyRestrictionBehavior.AllowOnly);
			NonAbstractDBDataPermission pfalse = new NonAbstractDBDataPermission (PermissionState.None);
			pfalse.AllowBlankPassword = false;
			pfalse.Add (defaultConnectString, String.Empty, KeyRestrictionBehavior.AllowOnly);

			Assert.IsTrue (ptrue.IsSubsetOf (ptrue), "true subsetof true");
			Assert.IsFalse (ptrue.IsSubsetOf (pfalse), "true subsetof false");
			Assert.IsTrue (pfalse.IsSubsetOf (ptrue), "false subsetof true");
			Assert.IsTrue (pfalse.IsSubsetOf (pfalse), "false subsetof false");
		}
示例#31
0
		public void Add ()
		{
			NonAbstractDBDataPermission dbdp = new NonAbstractDBDataPermission (PermissionState.None);
			dbdp.Add (defaultConnectString, String.Empty, KeyRestrictionBehavior.AllowOnly);
			Assert.AreEqual (1, dbdp.ToXml ().Children.Count, "Count");

			NonAbstractDBDataPermission copy = (NonAbstractDBDataPermission)dbdp.Copy ();
			Assert.AreEqual (1, copy.ToXml ().Children.Count, "Copy.Count");

			dbdp.Clear ();
			Assert.IsNull (dbdp.ToXml ().Children, "Clear");
			Assert.AreEqual (1, copy.ToXml ().Children.Count, "Copy.Count-2");
		}
示例#32
0
		public void Union ()
		{
			NonAbstractDBDataPermission empty = new NonAbstractDBDataPermission (PermissionState.None);
			NonAbstractDBDataPermission union = (NonAbstractDBDataPermission) empty.Union (empty);
			Assert.IsNull (union, "Empty U Empty");

			NonAbstractDBDataPermission dbdp1 = new NonAbstractDBDataPermission (PermissionState.None);
			dbdp1.Add (defaultConnectString, String.Empty, KeyRestrictionBehavior.AllowOnly);
			union = (NonAbstractDBDataPermission) empty.Union (dbdp1);
			Check ("Empty U 1", union, false, false, 1);

			NonAbstractDBDataPermission dbdp2 = (NonAbstractDBDataPermission)dbdp1.Copy ();
			dbdp2.Add (defaultConnectString2, String.Empty, KeyRestrictionBehavior.AllowOnly);
			union = (NonAbstractDBDataPermission) dbdp1.Union (dbdp2);
			Check ("1 U 2", union, false, false, 2);

			NonAbstractDBDataPermission dbdp3 = new NonAbstractDBDataPermission (PermissionState.None);
			dbdp3.Add (defaultConnectString, String.Empty, KeyRestrictionBehavior.PreventUsage);
			union = (NonAbstractDBDataPermission) dbdp2.Union (dbdp3);
			Check ("2 U 3", union, false, false, 2);

			NonAbstractDBDataPermission dbdp4 = new NonAbstractDBDataPermission (PermissionState.None);
			dbdp4.Add (defaultConnectString, "Data Source=;", KeyRestrictionBehavior.PreventUsage);
			union = (NonAbstractDBDataPermission) dbdp3.Union (dbdp4);
			Check ("3 U 4", union, false, false, 1);

			NonAbstractDBDataPermission unr = new NonAbstractDBDataPermission (PermissionState.Unrestricted);
			union = (NonAbstractDBDataPermission) unr.Union (empty);
			Check ("unrestricted U empty", union, false, true, 0);

			union = (NonAbstractDBDataPermission)unr.Union (dbdp4);
			Check ("unrestricted U 4", union, false, true, 0);
		}