Example #1
0
        public async Task Enqueue_Dequeue_Generic_Class_Simple_Valid()
        {
            var id = "C41DE0C9658143E1A4EB00ABFE638CAD";

            var testModel = new TestModelGenerics()
            {
                Id   = "123456",
                Name = "Some test Data"
            };

            var start = DateTime.Now;

            var delay = 500;

            CompleteIt(id, testModel, delay);

            var result = await _coupler.WaitOnAsync(id, TimeSpan.FromSeconds(5));

            var delta = DateTime.Now - start;

            /* Just sanity check ot make sure that we waited for at least how long the process should be decoupled */
            Assert.IsTrue(delta.TotalMilliseconds > delay);
            Assert.IsNotNull(result);
            Assert.IsTrue(result.Successful);
            Assert.AreEqual(testModel.Id, result.Result.Id);
            Assert.AreEqual(testModel.Name, result.Result.Name);
            Assert.AreEqual(0, _coupler.ActiveSessions);
        }
Example #2
0
 private void CompleteIt(string id, TestModelGenerics result, int ms = 250)
 {
     Task.Run(async() =>
     {
         await Task.Delay(ms);
         await _coupler.CompleteAsync(id, result);
     });
 }
Example #3
0
        public async Task Enqueue_Dequeue_Generic_Class_Simple_Timeout_Failed()
        {
            var id = "C41DE0C9658143E1A4EB00ABFE638CAD";

            var testModel = new TestModelGenerics()
            {
                Id   = "123456",
                Name = "Some test Data"
            };

            var result = await _coupler.WaitOnAsync(id, TimeSpan.FromMilliseconds(500));

            Assert.IsNotNull(result);
            Assert.IsFalse(result.Successful);
            Assert.AreEqual("Timeout waiting for response.", result.Errors[0].Message);
            Assert.AreEqual(0, _coupler.ActiveSessions);
        }
Example #4
0
        public async Task Enqueue_Dequeue_Generic_Class_CorrelationId_DoesNotExistd()
        {
            var id = "C41DE0C9658143E1A4EB00ABFE638CAD";

            var testModel = new TestModelGenerics()
            {
                Id   = "123456",
                Name = "Some test Data"
            };

            var result = await _coupler.CompleteAsync(id, testModel);

            Assert.IsNotNull(result);
            Assert.IsFalse(result.Successful);
            Assert.AreEqual($"Correlation id not found: {id}.", result.Errors[0].Message);
            Assert.AreEqual(0, _coupler.ActiveSessions);
        }