public void FinishProcessingItem_RemovesRawItemFromBlobStore() { var mocks = new LocatorMocks(); var store = new ItemStore(mocks.MockLocator.Object); var rawItem = GetSampleItem(); store.StoreFinishedItem(rawItem); mocks.MockRawBlobStore.Verify(b => b.Delete(rawItem.ResourceId), Times.Once()); }
public void FinishProcessingItem_UpdatesTableStoreInformation() { var mocks = new LocatorMocks(); var store = new ItemStore(mocks.MockLocator.Object); var rawItem = GetSampleItem(); store.StoreFinishedItem(rawItem); mocks.MockTableStore.Verify(ts => ts.Update(Match.Create<ItemBase>(ib => ib.ResourceId == rawItem.ResourceId)), Times.Once()); }
public void AddNewItem_StoresRawFileInBlob() { var mocks = new LocatorMocks(); var store = new ItemStore(mocks.MockLocator.Object); var rawItem = GetSampleItem(); store.AddNewItem(rawItem); mocks.MockRawBlobStore.Verify(mrb => mrb.Create(rawItem.ResourceId, rawItem.File), Times.Once()); }
public void FinishProcessingItem_AddsItemToFinishedBlobStore() { var mocks = new LocatorMocks(); var store = new ItemStore(mocks.MockLocator.Object); var rawItem = GetSampleItem(); store.StoreFinishedItem(rawItem); mocks.MockFinishedBlobStore.Verify(b => b.Create(rawItem.ResourceId, rawItem.File), Times.Once()); }
public void AddNewItem_RecordsAdditionInTable() { var mocks = new LocatorMocks(); var store = new ItemStore(mocks.MockLocator.Object); var rawItem = GetSampleItem(); store.AddNewItem(rawItem); mocks.MockTableStore.Verify(mts => mts.Create(Match.Create<ItemBase>(ib => ib.ResourceId == rawItem.ResourceId)), Times.Once()); }
public void AddNewItem_AddsItemToQueueForProcessing() { var mocks = new LocatorMocks(); var store = new ItemStore(mocks.MockLocator.Object); var rawItem = GetSampleItem(); store.AddNewItem(rawItem); mocks.MockQueueStore.Verify(mqs => mqs.Enqueue(Match.Create<ItemBase>(ib => ib.ResourceId == rawItem.ResourceId)), Times.Once()); }
public void RetrieveForProcessing_ItemInQueue_DequeuesASingleItem() { var mocks = new LocatorMocks(); var store = new ItemStore(mocks.MockLocator.Object); Guid id = Guid.NewGuid(); byte[] expected = new UTF8Encoding().GetBytes("test data"); mocks.MockQueueStore.Setup(q => q.Dequeue()).Returns(new ItemBase() { ResourceId = id }); mocks.MockRawBlobStore.Setup(b => b.Retrieve(id)).Returns(expected); var actual = store.RetrieveForProcessing(); mocks.MockRawBlobStore.Verify(b => b.Retrieve(id), Times.Once()); }
public void RetrieveForProcessing_NoItemInQueue_ReturnsNull() { var mocks = new LocatorMocks(); var store = new ItemStore(mocks.MockLocator.Object); Guid id = Guid.NewGuid(); byte[] expected = new UTF8Encoding().GetBytes("test data"); mocks.MockQueueStore.Setup(q => q.Dequeue()).Returns<ItemBase>(null); var actual = store.RetrieveForProcessing(); Assert.IsNull(actual); }
public void RetrieveForProcessing_NoItemInQueue_DoesNotAttemptToRetrieveDataFroBlobStore() { var mocks = new LocatorMocks(); var store = new ItemStore(mocks.MockLocator.Object); Guid id = Guid.NewGuid(); byte[] expected = new UTF8Encoding().GetBytes("test data"); mocks.MockQueueStore.Setup(q => q.Dequeue()).Returns<ItemBase>(null); var actual = store.RetrieveForProcessing(); mocks.MockRawBlobStore.Verify(b => b.Retrieve(It.IsAny<Guid>()), Times.Never()); }
public void RetrieveForProcessing_ItemInQueue_ReturnsItemWithRawData() { var mocks = new LocatorMocks(); var store = new ItemStore(mocks.MockLocator.Object); Guid id = Guid.NewGuid(); byte[] expected = new UTF8Encoding().GetBytes("test data"); mocks.MockQueueStore.Setup(q => q.Dequeue()).Returns(new ItemBase() { ResourceId = id }); mocks.MockRawBlobStore.Setup(b => b.Retrieve(id)).Returns(expected); var actual = store.RetrieveForProcessing(); Assert.AreEqual(expected, actual.File); }