public void LocallyExistingRemoteDocumentUpdatedButContentStaysEqual() { byte[] hash = new byte[20]; string type = "SHA-1"; string fileName = "file.bin"; var storage = new Mock <IMetaDataStorage>(); var file = Mock.Of <IMappedObject>( f => f.RemoteObjectId == Id && f.Name == fileName && f.Type == MappedObjectType.File && f.ChecksumAlgorithmName == type && f.LastChecksum == hash); storage.AddMappedFile(file); storage.Setup(s => s.GetLocalPath(It.Is <IMappedObject>(o => o.Equals(file)))).Returns("path"); FileEvent fileEvent = null; var queue = new Mock <ISyncEventQueue>(); queue.Setup( h => h.AddEvent(It.IsAny <FileEvent>())) .Callback <ISyncEvent>(e => fileEvent = e as FileEvent); var transformer = new ContentChangeEventTransformer(queue.Object, storage.Object); var contentChangeEvent = this.PrepareEvent(DotCMIS.Enums.ChangeType.Updated, false, hash); Assert.That(transformer.Handle(contentChangeEvent), Is.True); queue.Verify(q => q.AddEvent(It.IsAny <FileEvent>()), Times.Once()); Assert.That(fileEvent.Remote, Is.EqualTo(MetaDataChangeType.CHANGED)); Assert.That(fileEvent.RemoteContent, Is.EqualTo(ContentChangeType.NONE)); }
public void IgnoreNotAccumulatedNonDeleteEvent() { var storage = new Mock <IMetaDataStorage>(); var queue = new Mock <ISyncEventQueue>(); var e = new ContentChangeEvent(DotCMIS.Enums.ChangeType.Created, Id); var transformer = new ContentChangeEventTransformer(queue.Object, storage.Object); transformer.Handle(e); }
public void IgnoreDifferentEvent() { var storage = new Mock <IMetaDataStorage>(); var queue = new Mock <ISyncEventQueue>(); var e = new Mock <ISyncEvent>(); var transformer = new ContentChangeEventTransformer(queue.Object, storage.Object); Assert.That(transformer.Handle(e.Object), Is.False); }
public void IgnoreNotAccumulatedNonDeleteEvent() { var storage = new Mock <IMetaDataStorage>(); var queue = new Mock <ISyncEventQueue>(); var e = new ContentChangeEvent(DotCMIS.Enums.ChangeType.Created, Id); var transformer = new ContentChangeEventTransformer(queue.Object, storage.Object); Assert.Throws <InvalidOperationException>(() => transformer.Handle(e)); }
public void RemoteFolderDeletionWithoutLocalFolder() { var storage = new Mock <IMetaDataStorage>(); var queue = new Mock <ISyncEventQueue>(); var transformer = new ContentChangeEventTransformer(queue.Object, storage.Object); var contentChangeEvent = this.PrepareFolderEvent(DotCMIS.Enums.ChangeType.Deleted); Assert.That(transformer.Handle(contentChangeEvent), Is.True); queue.Verify(q => q.AddEvent(It.IsAny <ISyncEvent>()), Times.Never()); }
public void DocumentCreationWithContent() { var storage = new Mock <IMetaDataStorage>(); FileEvent fileEvent = null; var queue = new Mock <ISyncEventQueue>(); queue.Setup(h => h.AddEvent(It.IsAny <FileEvent>())) .Callback <ISyncEvent>(e => fileEvent = e as FileEvent); var transformer = new ContentChangeEventTransformer(queue.Object, storage.Object); var contentChangeEvent = this.PrepareEvent(DotCMIS.Enums.ChangeType.Created, true); Assert.That(transformer.Handle(contentChangeEvent), Is.True); queue.Verify(q => q.AddEvent(It.IsAny <FileEvent>()), Times.Once()); Assert.That(fileEvent.Remote, Is.EqualTo(MetaDataChangeType.CREATED)); Assert.That(fileEvent.RemoteContent, Is.EqualTo(ContentChangeType.CREATED)); }
public void RemoteFolderSecurity() { var storage = new Mock <IMetaDataStorage>(); storage.AddLocalFolder("path", Id); FolderEvent folderEvent = null; var queue = new Mock <ISyncEventQueue>(); queue.Setup(h => h.AddEvent(It.IsAny <FolderEvent>())) .Callback <ISyncEvent>(e => folderEvent = e as FolderEvent); var transformer = new ContentChangeEventTransformer(queue.Object, storage.Object); var contentChangeEvent = this.PrepareFolderEvent(DotCMIS.Enums.ChangeType.Security); Assert.That(transformer.Handle(contentChangeEvent), Is.True); queue.Verify(q => q.AddEvent(It.IsAny <FolderEvent>()), Times.Once()); Assert.That(folderEvent.Remote, Is.EqualTo(MetaDataChangeType.CHANGED)); }
public void RemoteDeletionChangeTest() { var storage = new Mock <IMetaDataStorage>(); storage.AddLocalFile("path", Id); FileEvent fileEvent = null; var queue = new Mock <ISyncEventQueue>(); queue.Setup(h => h.AddEvent(It.IsAny <FileEvent>())) .Callback <ISyncEvent>(e => fileEvent = e as FileEvent); var transformer = new ContentChangeEventTransformer(queue.Object, storage.Object); var contentChangeEvent = this.PrepareEvent(DotCMIS.Enums.ChangeType.Deleted, false); Assert.That(transformer.Handle(contentChangeEvent), Is.True); queue.Verify(q => q.AddEvent(It.IsAny <FileEvent>()), Times.Once()); Assert.That(fileEvent.Remote, Is.EqualTo(MetaDataChangeType.DELETED)); Assert.That(fileEvent.RemoteContent, Is.EqualTo(ContentChangeType.NONE)); }