PsQueueItemTest.cs 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. using qdr.fnd.core.pqueue.Enums;
  2. namespace qdr.fnd.core.pqueue.test
  3. {
  4. public class PsQueueItemTest
  5. {
  6. private string _id = "id";
  7. private string _owner = "owner";
  8. private string _ownerRef = "ownerRef";
  9. private string _providerClass = "providerClass";
  10. private DateTime _created = DateTime.Now;
  11. private PsStatusEnum _status = PsStatusEnum.New;
  12. private bool _statusTrancient = false;
  13. private string _statusMessage = "message";
  14. [SetUp]
  15. public void Setup()
  16. {
  17. }
  18. [Test(TestOf=typeof(PsQueueItem))]
  19. public void ConstructorOk()
  20. {
  21. var item = new PsQueueItem(_id, _owner,_ownerRef,_providerClass,_created, null);
  22. Assert.That(item.Id, Is.EqualTo(_id));
  23. Assert.That(item.Owner, Is.EqualTo(_owner));
  24. Assert.That(item.OwnerRef, Is.EqualTo(_ownerRef));
  25. Assert.That(item.ProcessProviderClass, Is.EqualTo(_providerClass));
  26. Assert.That(item.Created, Is.EqualTo(_created));
  27. Assert.That(item.Status, Is.EqualTo(_status));
  28. Assert.That(item.Arguments, Is.Not.Null);
  29. Assert.That(item.StatusJournal, Is.Not.Null);
  30. Assert.That(item.Log, Is.Not.Null);
  31. Assert.That(item.IsStatusTransient, Is.False);
  32. item = new PsQueueItem(_id);
  33. Assert.That(item.Id, Is.EqualTo(_id));
  34. Assert.That(item.Arguments, Is.Not.Null);
  35. Assert.That(item.StatusJournal, Is.Not.Null);
  36. Assert.That(item.Log, Is.Not.Null);
  37. Assert.That(item.IsStatusTransient, Is.False);
  38. Assert.That(item.Status, Is.EqualTo(_status));
  39. }
  40. [Test(TestOf=typeof(PsQueueItem))]
  41. public void SetStatusOk()
  42. {
  43. var item = new PsQueueItem(_id, _owner,_ownerRef,_providerClass,_created,null);
  44. Assert.That(item.Status, Is.EqualTo(_status));
  45. Assert.That(item.StatusJournal.Count, Is.EqualTo(0));
  46. item.SetStatus(PsStatusEnum.Pending, true, "message");
  47. Assert.That(item.Status, Is.EqualTo(PsStatusEnum.Pending));
  48. Assert.That(item.StatusJournal.Count, Is.EqualTo(1));
  49. Assert.That(item.StatusJournal.First().PreviousStatus, Is.EqualTo(_status));
  50. Assert.That(item.StatusJournal.First().PreviousIsStatusTransient, Is.EqualTo(_statusTrancient));
  51. }
  52. [Test(TestOf=typeof(PsQueueItem))]
  53. public void SetStatusFail()
  54. {
  55. var item = new PsQueueItem(_id, _owner,_ownerRef,_providerClass,_created, null);
  56. Assert.Throws<ArgumentNullException>(() => item.SetStatus(null,true,string.Empty));
  57. }
  58. }
  59. }