Dalibor Votruba 1 год назад
Родитель
Сommit
9a16ade6a3

+ 13 - 0
qdr.fnd.core.pqueue.test/Process/Mock/PsProcessProviderBaseMock.cs

@@ -0,0 +1,13 @@
+using qdr.fnd.core.pqueue.Process;
+using Quadarax.Foundation.Core.Data;
+using Quadarax.Foundation.Core.Logging;
+
+namespace qdr.fnd.core.pqueue.test.Process.Mock
+{
+    internal class PsProcessProviderBaseMock : PsProcessProviderBase
+    {
+        public PsProcessProviderBaseMock(string itemId, TypedArgument[] arguments, ILogger logger) : base(itemId, arguments, logger)
+        {
+        }
+    }
+}

+ 19 - 0
qdr.fnd.core.pqueue.test/Process/Mock/PsProcessProviderDummyMock.cs

@@ -0,0 +1,19 @@
+using qdr.fnd.core.pqueue.Process;
+using Quadarax.Foundation.Core.Data;
+using Quadarax.Foundation.Core.Logging;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace qdr.fnd.core.pqueue.test.Process.Mock
+{
+    public class PsProcessProviderDummyMock : PsProcessProviderBase
+    {
+        public PsProcessProviderDummyMock(string itemId, TypedArgument[] arguments, ILogger logger) : base(itemId, arguments, logger)
+        {
+        }
+    }
+
+}

+ 101 - 0
qdr.fnd.core.pqueue.test/PsQueueTest.cs

@@ -0,0 +1,101 @@
+using qdr.fnd.core.pqueue.Configuration;
+using qdr.fnd.core.pqueue.Enums;
+using qdr.fnd.core.pqueue.Storages;
+using qdr.fnd.core.pqueue.test.Mocks;
+using Quadarax.Foundation.Core.Logging;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace qdr.fnd.core.pqueue.test
+{
+    /// <summary>
+    /// Complex test class for <see cref="Mocks.PsQueueMock"/> <see langword="class"/>.
+    /// </summary>
+    public class PsQueueTest
+    {
+        #region *** Queue Fields ***    
+        private string _queueName;
+        private ILogger? _logger;
+        private PsQueueConfiguration? _configuration;
+        private IPsQueueStorage? _storageProvider;
+        #endregion
+
+        #region *** Queue Item Fields ***
+        private string _id = "id";
+        private string _owner = "owner";
+        private string _ownerRef = "ownerRef";
+        private string _providerClass = "providerClass";
+        private DateTime _created = DateTime.Now;
+        private PsStatusEnum _status = PsStatusEnum.New;
+        private bool _statusTrancient = false;
+        private string _statusMessage = "message";
+
+        #endregion
+
+        [SetUp]
+        public void Setup()
+        {
+            _queueName = "queueName";
+            _logger = new LoggerMock();
+            _configuration = new PsQueueConfiguration();
+            _storageProvider = new MemoryStorageProvider(_logger);
+        }
+
+        [Test(TestOf=typeof(PsQueue))]
+        public void ConstructorOk()
+        {
+            var queue = CreateQueue();
+            Assert.IsFalse(queue.IsRunning);
+        }
+
+        [Test(TestOf=typeof(PsQueue))]
+        public void ConstructorFail()
+        {
+            Assert.Throws<ArgumentNullException>(() => new PsQueueMock(string.Empty, _configuration!, _storageProvider!, _logger!));
+            Assert.Throws<ArgumentNullException>(() => new PsQueueMock(_queueName, null!, _storageProvider!, _logger!));
+            Assert.Throws<ArgumentNullException>(() => new PsQueueMock(_queueName, _configuration!, null!, _logger!));
+        }
+
+        [Test(TestOf=typeof(PsQueue))]
+        public void ValidateItemIdOk()
+        {
+            var queue = CreateQueue();
+            queue.TestValidateItemId("aaa");
+            Assert.Throws<ArgumentNullException>(() => queue.TestValidateItemId(string.Empty));
+            Assert.Throws<ArgumentNullException>(() => queue.TestValidateItemId(null!));
+        }
+
+        [Test(TestOf=typeof(PsQueue))]
+        public void ValidateEmitterOk()
+        {
+            var queue = CreateQueue();
+            queue.TestValidateEmitter("aaa");
+            Assert.Throws<ArgumentNullException>(() => queue.TestValidateEmitter(string.Empty));
+            Assert.Throws<ArgumentNullException>(() => queue.TestValidateEmitter(null!));
+        }
+
+        [Test(TestOf=typeof(PsQueue))]
+        public void ValidateItemOk()
+        {
+            var queue = CreateQueue();
+            var item = CreaeQueueItem(_id);
+            queue.TestValidateItem(item);
+
+
+        }
+
+        private PsQueueMock CreateQueue()
+        {
+            return new PsQueueMock(_queueName, _configuration!, _storageProvider!, _logger!);
+        }
+
+        private PsQueueItem CreaeQueueItem(string id)
+        {
+            var item = new PsQueueItem(id, _owner,_ownerRef,_providerClass,_created);
+            return item;
+        }
+    }
+}

+ 1 - 3
qdr.fnd.core.pqueue/Process/IPsProcessProvider.cs

@@ -1,6 +1,4 @@
-using Quadarax.Foundation.Core.Data;
-
-namespace qdr.fnd.core.pqueue.Process
+namespace qdr.fnd.core.pqueue.Process
 {
     public interface IPsProcessProvider
     {

+ 1 - 6
qdr.fnd.core.pqueue/Process/PsProcessProviderBase.cs

@@ -1,9 +1,4 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using Quadarax.Foundation.Core.Data;
+using Quadarax.Foundation.Core.Data;
 using Quadarax.Foundation.Core.Logging;
 using Quadarax.Foundation.Core.Object;