Esempio n. 1
0
        public void ValidateSessionTokenParsingFromEmptyString()
        {
            string        sessionToken = "";
            ISessionToken parsedSessionToken;

            Assert.IsFalse(VectorSessionToken.TryCreate(sessionToken, out parsedSessionToken));
        }
Esempio n. 2
0
        public void ValidateSessionTokenParsingWithInvalidRegionProgress()
        {
            string        sessionToken = "1#100#1=20#2=x#3=30";
            ISessionToken parsedSessionToken;

            Assert.IsFalse(VectorSessionToken.TryCreate(sessionToken, out parsedSessionToken));
        }
Esempio n. 3
0
        public void ValidateSessionTokenParsingWithInvalidGlobalLsn()
        {
            string        sessionToken = "1#foo#1=20#2=5#3=30";
            ISessionToken parsedSessionToken;

            Assert.IsFalse(VectorSessionToken.TryCreate(sessionToken, out parsedSessionToken));
        }
Esempio n. 4
0
        public void ValidateSessionTokenParsingWithInvalidFormat()
        {
            string        sessionToken = "1;100#1=20#2=40";
            ISessionToken parsedSessionToken;

            Assert.IsFalse(VectorSessionToken.TryCreate(sessionToken, out parsedSessionToken));

            sessionToken = "foo";
            Assert.IsFalse(SimpleSessionToken.TryCreate(sessionToken, out parsedSessionToken));
        }
Esempio n. 5
0
 public void TestSessionContainer()
 {
     this.TestSessionContainer((int n) => new SimpleSessionToken(n));
     this.TestSessionContainer((int n) =>
     {
         ISessionToken sessionToken;
         Assert.IsTrue(VectorSessionToken.TryCreate("1#100#4=90#5=" + n, out sessionToken));
         return(sessionToken);
     });
 }
Esempio n. 6
0
        public void ValidateSuccessfulSessionTokenParsing()
        {
            // valid session token
            string        sessionToken = "1#100#1=20#2=5#3=30";
            ISessionToken parsedSessionToken;

            Assert.IsTrue(VectorSessionToken.TryCreate(sessionToken, out parsedSessionToken));

            sessionToken = "500";
            Assert.IsTrue(SimpleSessionToken.TryCreate(sessionToken, out parsedSessionToken));
        }
Esempio n. 7
0
        public void ValidateSessionTokenComparison()
        {
            // valid session token
            ISessionToken sessionToken1;
            ISessionToken sessionToken2;
            ISessionToken sessionTokenMerged;

            Assert.IsTrue(VectorSessionToken.TryCreate("1#100#1=20#2=5#3=30", out sessionToken1));
            Assert.IsTrue(VectorSessionToken.TryCreate("2#105#4=10#2=5#3=30", out sessionToken2));
            Assert.IsFalse(sessionToken1.Equals(sessionToken2));
            Assert.IsFalse(sessionToken2.Equals(sessionToken1));
            Assert.IsTrue(sessionToken1.IsValid(sessionToken2));
            Assert.IsFalse(sessionToken2.IsValid(sessionToken1));

            Assert.IsTrue(VectorSessionToken.TryCreate("2#105#2=5#3=30#4=10", out sessionTokenMerged));
            Assert.IsTrue(sessionTokenMerged.Equals(sessionToken1.Merge(sessionToken2)));

            Assert.IsTrue(VectorSessionToken.TryCreate("1#100#1=20#2=5#3=30", out sessionToken1));
            Assert.IsTrue(VectorSessionToken.TryCreate("1#100#1=10#2=8#3=30", out sessionToken2));
            Assert.IsFalse(sessionToken1.Equals(sessionToken2));
            Assert.IsFalse(sessionToken2.Equals(sessionToken1));
            Assert.IsFalse(sessionToken1.IsValid(sessionToken2));
            Assert.IsFalse(sessionToken2.IsValid(sessionToken1));

            Assert.IsTrue(VectorSessionToken.TryCreate("1#100#1=20#2=8#3=30", out sessionTokenMerged));
            Assert.IsTrue(sessionTokenMerged.Equals(sessionToken1.Merge(sessionToken2)));

            Assert.IsTrue(VectorSessionToken.TryCreate("1#100#1=20#2=5#3=30", out sessionToken1));
            Assert.IsTrue(VectorSessionToken.TryCreate("1#102#1=100#2=8#3=30", out sessionToken2));
            Assert.IsFalse(sessionToken1.Equals(sessionToken2));
            Assert.IsFalse(sessionToken2.Equals(sessionToken1));
            Assert.IsTrue(sessionToken1.IsValid(sessionToken2));
            Assert.IsFalse(sessionToken2.IsValid(sessionToken1));

            Assert.IsTrue(VectorSessionToken.TryCreate("1#102#2=8#3=30#1=100", out sessionTokenMerged));
            Assert.IsTrue(sessionTokenMerged.Equals(sessionToken1.Merge(sessionToken2)));

            Assert.IsTrue(VectorSessionToken.TryCreate("1#101#1=20#2=5#3=30", out sessionToken1));
            Assert.IsTrue(VectorSessionToken.TryCreate("1#100#1=20#2=5#3=30#4=40", out sessionToken2));

            try
            {
                sessionToken1.Merge(sessionToken2);
                Assert.Fail("Region progress can not be different when version is same");
            }
            catch (InternalServerErrorException)
            {
            }

            try
            {
                sessionToken2.IsValid(sessionToken1);
                Assert.Fail("Region progress can not be different when version is same");
            }
            catch (InternalServerErrorException)
            {
            }

            Assert.IsTrue(SimpleSessionToken.TryCreate("100", out sessionToken1));
            Assert.IsTrue(SimpleSessionToken.TryCreate("200", out sessionToken2));
            Assert.IsTrue(sessionToken1.Merge(sessionToken2).Equals(sessionToken2));
            Assert.IsFalse(sessionToken2.Equals(sessionToken1));
            Assert.IsTrue(sessionToken1.IsValid(sessionToken2));
            Assert.IsFalse(sessionToken2.IsValid(sessionToken1));

            Assert.IsTrue(SimpleSessionToken.TryCreate("100", out sessionToken1));
            Assert.IsTrue(SimpleSessionToken.TryCreate("100", out sessionToken2));
            Assert.IsTrue(sessionToken1.Merge(sessionToken2).Equals(sessionToken1));
            Assert.IsTrue(sessionToken2.Equals(sessionToken1));
            Assert.IsTrue(sessionToken1.IsValid(sessionToken2));
            Assert.IsTrue(sessionToken2.IsValid(sessionToken1));
        }