Пример #1
0
        public void ExistsMessage_ExistingMessageWrongState_ShouldUpdateCorrectRequestEntry()
        {
            const int id_to_retrieve = 7;

            var sut = new TitanicMemoryIO ();
            var ids = new Guid[10];

            for (var i = 0; i < 10; i++)
            {
                ids[i] = Guid.NewGuid ();

                var request = new NetMQMessage ();
                request.Push (string.Format ("Request #{0}", i));
                request.Push ("echo");
                sut.SaveMessage (TitanicOperation.Request, ids[i], request);
            }

            sut.ExistsMessage (TitanicOperation.Reply, ids[id_to_retrieve]).Should ().BeFalse ();
        }
Пример #2
0
        public void ExistsMessage_NotExistingMessage_ShouldUpdateCorrectRequestEntry ()
        {

            var sut = new TitanicMemoryIO ();
            var ids = new Guid[10];

            for (var i = 0; i < 10; i++)
            {
                ids[i] = Guid.NewGuid ();

                var request = new NetMQMessage ();
                request.Push ($"Request #{i}");
                request.Push ("echo");
                sut.SaveMessage (TitanicOperation.Request, ids[i], request);
            }

            sut.ExistsMessage (TitanicOperation.Request, Guid.NewGuid ()).Should ().BeFalse ();
        }
Пример #3
0
        public void SaveMessage_UpdateExistingMessage_ShouldUpdateCorrectRequestEntry ()
        {
            const int id_to_retrieve = 7;

            var sut = new TitanicMemoryIO ();
            var ids = new Guid[10];

            for (var i = 0; i < 10; i++)
            {
                ids[i] = Guid.NewGuid ();

                var request = new NetMQMessage ();
                request.Push ($"Request #{i}");
                request.Push ("echo");
                sut.SaveMessage (TitanicOperation.Request, ids[i], request);
            }

            sut.NumberOfRequests.Should ().Be (10);

            var reply = new NetMQMessage ();
            reply.Push ($"This is a REPLY to Request #{id_to_retrieve}");
            reply.Push ("echo");

            sut.SaveMessage (TitanicOperation.Reply, ids[id_to_retrieve], reply).Should ().BeTrue ();

            sut.NumberOfRequests.Should ().Be (10);

            var result = sut.GetRequestEntry (ids[id_to_retrieve]);

            result.State.Should ().Be (RequestEntry.Is_Processed);
            result.RequestId.Should ().Be (ids[id_to_retrieve]);
            result.Request.Should ().Equal (reply);
        }
Пример #4
0
        public void SaveMessage_NewMessage_ShouldUpdateQueue ()
        {
            var sut = new TitanicMemoryIO ();
            var id = Guid.NewGuid ();
            var request = new NetMQMessage ();
            request.Push ("Request #1");
            request.Push ("echo");


            sut.SaveMessage (TitanicOperation.Request, id, request).Should ().BeTrue ();
            sut.NumberOfRequests.Should ().Be (1);

            var result = sut.GetRequestEntry (id);

            result.Request.Should ().Equal (request);
            result.State.Should ().Be (RequestEntry.Is_Pending);
        }