public async Task should_remove_handle_previous_document() { CreateDocument(1, "handle_bis", TestConfig.PathToDocumentPng); CreateDocument(2, "handle_bis", TestConfig.PathToDocumentPdf); await _projections.UpdateAndWait(); var old_handle_bis_document = _documentReader.FindOneById(new DocumentDescriptorId(1)); Assert.IsNull(old_handle_bis_document); var new_handle_bis_document = _documentReader.FindOneById(new DocumentDescriptorId(2)); Assert.NotNull(new_handle_bis_document); }
public void On(DocumentLinked e) { var doc = _documentDescriptorReadModel.FindOneById(e.DocumentId); if (doc == null) { Logger.InfoFormat("Document {0} is linked to document descriptor {1} that was not found. Probably the document descriptor was de-duplicated.", e.AggregateId, e.DocumentId); return; } if (!doc.Created) { return; //Still not deduplicated. } var handle = _documentWriter.FindOneById(e.Handle); foreach (var format in doc.Formats) { var descriptor = _blobStore.GetDescriptor(format.Value.BlobId); _streamReadModelCollection.Insert(e, new StreamReadModel() { Id = GetNewId(), Handle = e.Handle, Filename = descriptor.FileNameWithExtension, DocumentDescriptorId = e.DocumentId, FormatInfo = new FormatInfo() { BlobId = format.Value.BlobId, DocumentFormat = format.Key, PipelineId = format.Value.PipelineId != PipelineId.Null ? format.Value.PipelineId : new PipelineId("original"), }, EventType = HandleStreamEventTypes.DocumentHasNewFormat, DocumentCustomData = handle.CustomData, }); } }
public void SetUp() { _collectionWrapper = Substitute.For <ICollectionWrapper <StreamReadModel, Int64> >(); rmStream = new List <StreamReadModel>(); rmDocuments = new List <DocumentDescriptorReadModel>(); _collectionWrapper.When(r => r.Insert( Arg.Any <DomainEvent>(), Arg.Any <StreamReadModel>())) .Do(cinfo => rmStream.Add((StreamReadModel)cinfo.Args()[1])); _collectionWrapper.All.Returns(rmStream.AsQueryable()); _readerDocumentReadModel = Substitute.For <IReader <DocumentDescriptorReadModel, DocumentDescriptorId> >(); _readerDocumentReadModel.AllUnsorted.Returns(rmDocuments.AsQueryable()); _readerDocumentReadModel.AllSortedById.Returns(rmDocuments.AsQueryable().OrderBy(r => r.Id)); _readerDocumentReadModel.FindOneById(Arg.Any <DocumentDescriptorId>()) .Returns(cinfo => rmDocuments.SingleOrDefault(d => d.Id == (DocumentDescriptorId)cinfo.Args()[0])); _handleWriter = Substitute.For <IDocumentWriter>(); _blobStore = Substitute.For <IBlobStore>(); }
public void SetUp() { _collectionWrapper = Substitute.For<ICollectionWrapper<StreamReadModel, Int64>>(); rmStream = new List<StreamReadModel>(); rmDocuments = new List<DocumentDescriptorReadModel>(); _collectionWrapper.When(r => r.Insert( Arg.Any<DomainEvent>(), Arg.Any<StreamReadModel>())) .Do(cinfo => rmStream.Add((StreamReadModel)cinfo.Args()[1])); _collectionWrapper.All.Returns(rmStream.AsQueryable()); _readerDocumentReadModel = Substitute.For<IReader<DocumentDescriptorReadModel, DocumentDescriptorId>>(); _readerDocumentReadModel.AllUnsorted.Returns(rmDocuments.AsQueryable()); _readerDocumentReadModel.AllSortedById.Returns(rmDocuments.AsQueryable().OrderBy(r => r.Id)); _readerDocumentReadModel.FindOneById(Arg.Any<DocumentDescriptorId>()) .Returns(cinfo => rmDocuments.SingleOrDefault(d => d.Id == (DocumentDescriptorId)cinfo.Args()[0])); _handleWriter = Substitute.For<IDocumentWriter>(); _blobStore = Substitute.For<IBlobStore>(); }