Example #1
0
        public void TestIsDuplicateMessageId()
        {
            int count = 10000;
            ActiveMQMessageAudit audit = new ActiveMQMessageAudit();
            List <MessageId>     list  = new List <MessageId>();

            ProducerId pid = new ProducerId();

            pid.ConnectionId = "test";
            pid.SessionId    = 0;
            pid.Value        = 1;

            for (int i = 0; i < count; i++)
            {
                MessageId id = new MessageId();
                id.ProducerId         = pid;
                id.ProducerSequenceId = i;
                list.Add(id);
                Assert.IsFalse(audit.IsDuplicate(id));
            }

            int index = list.Count - 1 - audit.AuditDepth;

            for (; index < list.Count; index++)
            {
                MessageId id = list[index];
                Assert.IsTrue(audit.IsDuplicate(id), "duplicate msg:" + id.ToString());
            }
        }
Example #2
0
        public void TestIsInOrderMessageId()
        {
            int count = 10000;
            ActiveMQMessageAudit audit = new ActiveMQMessageAudit();
            List <MessageId>     list  = new List <MessageId>();

            ProducerId pid = new ProducerId();

            pid.ConnectionId = "test";
            pid.SessionId    = 0;
            pid.Value        = 1;

            for (int i = 0; i < count; i++)
            {
                MessageId id = new MessageId();
                id.ProducerId         = pid;
                id.ProducerSequenceId = i;

                if (i == 0)
                {
                    Assert.IsFalse(audit.IsDuplicate(id));
                    Assert.IsTrue(audit.IsInOrder(id));
                }
                if (i > 1 && i % 2 != 0)
                {
                    list.Add(id);
                }
            }

            for (int i = 0; i < list.Count; i++)
            {
                MessageId mid = list[i];
                Assert.IsFalse(audit.IsInOrder(mid), "Out of order msg: " + mid.ToString());
                Assert.IsFalse(audit.IsDuplicate(mid));
            }
        }
Example #3
0
        public void TestGetLastSeqId()
        {
            int count = 10000;
            ActiveMQMessageAudit audit = new ActiveMQMessageAudit();
            List <MessageId>     list  = new List <MessageId>();

            ProducerId pid = new ProducerId();

            pid.ConnectionId = "test";
            pid.SessionId    = 0;
            pid.Value        = 1;

            MessageId id = new MessageId();

            id.ProducerId = pid;

            for (int i = 0; i < count; i++)
            {
                id.ProducerSequenceId = i;
                list.Add(id);
                Assert.IsFalse(audit.IsDuplicate(id));
                Assert.AreEqual(i, audit.GetLastSeqId(pid));
            }
        }