PsQueueTest.cs 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. using qdr.fnd.core.pqueue.Configuration;
  2. using qdr.fnd.core.pqueue.Enums;
  3. using qdr.fnd.core.pqueue.Storages;
  4. using qdr.fnd.core.pqueue.test.Mocks;
  5. using Quadarax.Foundation.Core.Logging;
  6. using System;
  7. using System.Collections.Generic;
  8. using System.Linq;
  9. using System.Text;
  10. using System.Threading.Tasks;
  11. namespace qdr.fnd.core.pqueue.test
  12. {
  13. /// <summary>
  14. /// Complex test class for <see cref="Mocks.PsQueueMock"/> <see langword="class"/>.
  15. /// </summary>
  16. public class PsQueueTest
  17. {
  18. #region *** Queue Fields ***
  19. private string _queueName;
  20. private ILogger? _logger;
  21. private PsQueueConfiguration? _configuration;
  22. private IPsQueueStorage? _storageProvider;
  23. #endregion
  24. #region *** Queue Item Fields ***
  25. private string _id = "id";
  26. private string _owner = "owner";
  27. private string _ownerRef = "ownerRef";
  28. private string _providerClass = "providerClass";
  29. private DateTime _created = DateTime.Now;
  30. private PsStatusEnum _status = PsStatusEnum.New;
  31. private bool _statusTrancient = false;
  32. private string _statusMessage = "message";
  33. #endregion
  34. [SetUp]
  35. public void Setup()
  36. {
  37. _queueName = "queueName";
  38. _logger = new LoggerMock();
  39. _configuration = new PsQueueConfiguration();
  40. _storageProvider = new MemoryStorageProvider(_logger);
  41. }
  42. [Test(TestOf=typeof(PsQueue))]
  43. public void ConstructorOk()
  44. {
  45. var queue = CreateQueue();
  46. Assert.IsFalse(queue.IsRunning);
  47. }
  48. [Test(TestOf=typeof(PsQueue))]
  49. public void ConstructorFail()
  50. {
  51. Assert.Throws<ArgumentNullException>(() => new PsQueueMock(string.Empty, _configuration!, _storageProvider!, _logger!));
  52. Assert.Throws<ArgumentNullException>(() => new PsQueueMock(_queueName, null!, _storageProvider!, _logger!));
  53. Assert.Throws<ArgumentNullException>(() => new PsQueueMock(_queueName, _configuration!, null!, _logger!));
  54. }
  55. [Test(TestOf=typeof(PsQueue))]
  56. public void ValidateItemIdOk()
  57. {
  58. var queue = CreateQueue();
  59. queue.TestValidateItemId("aaa");
  60. Assert.Throws<ArgumentNullException>(() => queue.TestValidateItemId(string.Empty));
  61. Assert.Throws<ArgumentNullException>(() => queue.TestValidateItemId(null!));
  62. }
  63. [Test(TestOf=typeof(PsQueue))]
  64. public void ValidateEmitterOk()
  65. {
  66. var queue = CreateQueue();
  67. queue.TestValidateEmitter("aaa");
  68. Assert.Throws<ArgumentNullException>(() => queue.TestValidateEmitter(string.Empty));
  69. Assert.Throws<ArgumentNullException>(() => queue.TestValidateEmitter(null!));
  70. }
  71. [Test(TestOf=typeof(PsQueue))]
  72. public void ValidateItemOk()
  73. {
  74. var queue = CreateQueue();
  75. var item = CreaeQueueItem(_id);
  76. queue.TestValidateItem(item);
  77. }
  78. private PsQueueMock CreateQueue()
  79. {
  80. return new PsQueueMock(_queueName, _configuration!, _storageProvider!, _logger!);
  81. }
  82. private PsQueueItem CreaeQueueItem(string id)
  83. {
  84. var item = new PsQueueItem(id, _owner,_ownerRef,_providerClass,_created);
  85. return item;
  86. }
  87. }
  88. }