Beispiel #1
0
        public void ModifyAfterAck_fail()
        {
            Queue queue = initLocalQueue("ModifyAfterAck_falil");


            var smres = queue.SendQueueMessagesBatch(new Message[] {
                new Message
                {
                    Body     = KubeMQ.SDK.csharp.Tools.Converter.ToByteArray("hi there"),
                    Metadata = "first test Ack"
                },

                new Message
                {
                    Body     = KubeMQ.SDK.csharp.Tools.Converter.ToByteArray("hi again"),
                    Metadata = "first test Ack"
                }
            });

            Transaction tr    = queue.CreateTransaction();
            var         recms = tr.Receive(5);
            var         ackms = tr.AckMessage(recms.Message.Attributes.Sequence);

            Thread.Sleep(100);
            var recMod = tr.ExtendVisibility(5);

            Assert.IsTrue(recMod.IsError);
        }
Beispiel #2
0
        public void SendReciveTranAck_Pass()
        {
            Queue queue = initLocalQueue("SendReciveTranAck_Pass");
            var   smres = queue.SendQueueMessage(new Message
            {
                Body      = KubeMQ.SDK.csharp.Tools.Converter.ToByteArray("hi there"),
                Metadata  = "first test Ack",
                MessageID = KubeMQ.SDK.csharp.Tools.IDGenerator.Getid()
            });
            Transaction tr    = queue.CreateTransaction();
            var         recms = tr.Receive(5);

            Assert.IsFalse(tr.AckMessage(recms.Message.Attributes.Sequence).IsError);
        }
Beispiel #3
0
        public void SendReciveTranVisabilityExpire_Fail()
        {
            Queue queue = initLocalQueue("SendReciveTranAcknRecive_Pass");
            var   smres = queue.SendQueueMessage(new Message
            {
                Body     = KubeMQ.SDK.csharp.Tools.Converter.ToByteArray("hi there"),
                Metadata = "first test Ack",
            });
            Transaction tr    = queue.CreateTransaction();
            var         recms = tr.Receive(2);

            Thread.Sleep(2 * 1000);
            var ackms = tr.AckMessage(recms.Message.Attributes.Sequence);

            Assert.AreEqual(ackms.Error, "Error 129: current visibility timer expired");
        }
Beispiel #4
0
        public void SendReciveTranVisabilityModAck_Pass()
        {
            Queue queue = initLocalQueue("SendReciveTranAcknRecive_Pass");
            var   smres = queue.SendQueueMessage(new Message
            {
                Body      = KubeMQ.SDK.csharp.Tools.Converter.ToByteArray("hi there"),
                Metadata  = "first test Ack",
                MessageID = KubeMQ.SDK.csharp.Tools.IDGenerator.Getid()
            });
            Transaction tr    = queue.CreateTransaction();
            var         recms = tr.Receive();

            tr.ExtendVisibility(5);
            Thread.Sleep(4 * 1000);
            var ackms = tr.AckMessage(recms.Message.Attributes.Sequence);

            Assert.IsFalse(ackms.IsError, $"{ackms.Error}");
        }