public UpdateObject ( ISession session ) : void | ||
session | ISession | /// Session from where the object should be requested. /// |
Résultat | void |
public void DocumentAlreadyAccumulatedIsNotAccumulatedAgain() { var session = new Mock<ISession>(); var remoteObject = Mock.Of<ICmisObject>(); var newRemoteObject = Mock.Of<ICmisObject>(); session.Setup(s => s.GetObject(It.IsAny<string>(), It.IsAny<IOperationContext>())).Returns(remoteObject); var accumulator = new ContentChangeEventAccumulator(session.Object, new Mock<ISyncEventQueue>().Object); var contentChange = new ContentChangeEvent(DotCMIS.Enums.ChangeType.Created, Id); contentChange.UpdateObject(session.Object); session.Setup(s => s.GetObject(It.IsAny<string>(), It.IsAny<IOperationContext>())).Returns(newRemoteObject); Assert.That(accumulator.Handle(contentChange), Is.False); Assert.That(contentChange.CmisObject, Is.EqualTo(remoteObject)); Assert.That(contentChange.CmisObject, Is.Not.EqualTo(newRemoteObject)); }
public void CreatedEventForIgnoredObject() { this.SetUpMocks(); var createdObject = MockOfIFolderUtil.CreateRemoteFolderMock(this.folderId, this.folderName, this.remotePath, Guid.NewGuid().ToString()); createdObject.SetupIgnore("*"); var createdEvent = new ContentChangeEvent(ChangeType.Created, this.folderId); this.session.Setup(s => s.GetObject(It.IsAny<string>(), It.IsAny<IOperationContext>())).Returns(createdObject.Object); createdEvent.UpdateObject(this.session.Object); this.matcher.Setup(m => m.CanCreateLocalPath(createdObject.Object)).Returns(true); this.matcher.Setup(m => m.CreateLocalPath(createdObject.Object)).Returns(this.localPath); Assert.That(this.underTest.Handle(createdEvent), Is.False); this.ignoreStorage.Verify(s => s.AddOrUpdateEntryAndDeleteAllChildrenFromStorage(It.Is<IIgnoredEntity>(e => e.LocalPath == this.localPath && e.ObjectId == this.folderId))); this.queue.VerifyThatNoEventIsAdded(); }
public void ChangeEventForFormerIgnoredObjectAndNowNotIgnoredObject() { this.SetUpMocks(); var changedObject = MockOfIFolderUtil.CreateRemoteFolderMock(this.folderId, this.folderName, this.remotePath, Guid.NewGuid().ToString()); var changeEvent = new ContentChangeEvent(ChangeType.Updated, this.folderId); this.session.Setup(s => s.GetObject(It.IsAny<string>(), It.IsAny<IOperationContext>())).Returns(changedObject.Object); this.ignoreStorage.Setup(i => i.IsIgnoredId(this.folderId)).Returns(IgnoredState.IGNORED); changeEvent.UpdateObject(this.session.Object); Assert.That(this.underTest.Handle(changeEvent), Is.False); this.ignoreStorage.Verify(s => s.AddOrUpdateEntryAndDeleteAllChildrenFromStorage(It.IsAny<IIgnoredEntity>()), Times.Never()); this.ignoreStorage.Verify(s => s.Remove(this.folderId)); this.queue.Verify(q => q.AddEvent(It.Is<StartNextSyncEvent>(e => e.FullSyncRequested == true)), Times.Once()); this.queue.VerifyThatNoOtherEventIsAddedThan<StartNextSyncEvent>(); }
public void ChangedEventForUnchangedIgnoredStateObject() { this.SetUpMocks(); var changedObject = MockOfIFolderUtil.CreateRemoteFolderMock(this.folderId, this.folderName, this.remotePath, Guid.NewGuid().ToString()); var changeEvent = new ContentChangeEvent(ChangeType.Updated, this.folderId); this.session.Setup(s => s.GetObject(It.IsAny<string>(), It.IsAny<IOperationContext>())).Returns(changedObject.Object); changeEvent.UpdateObject(this.session.Object); Assert.That(this.underTest.Handle(changeEvent), Is.False); this.ignoreStorage.Verify(s => s.AddOrUpdateEntryAndDeleteAllChildrenFromStorage(It.IsAny<IIgnoredEntity>()), Times.Never()); this.queue.VerifyThatNoEventIsAdded(); }
public void TransformContentChangeEventFromChangeToDeleteIfTargetIsInsideAnIgnoredFolder() { this.SetupMocks(); var objectId = Guid.NewGuid().ToString(); var folderObject = Mock.Of<IFolder>(f => f.Id == objectId); var contentChangeEvent = new ContentChangeEvent(DotCMIS.Enums.ChangeType.Updated, objectId); var session = new Mock<ISession>(); session.Setup(s => s.GetObject(objectId, It.IsAny<IOperationContext>())).Returns(folderObject); contentChangeEvent.UpdateObject(session.Object); this.ignores.Setup(i => i.IsIgnored(folderObject)).Returns(IgnoredState.INHERITED); Assert.That(this.underTest.Handle(contentChangeEvent), Is.True); this.queue.VerifyThatNoOtherEventIsAddedThan<ContentChangeEvent>(); this.queue.Verify(q => q.AddEvent(It.Is<ContentChangeEvent>(e => e.ObjectId == objectId && e.Type == DotCMIS.Enums.ChangeType.Deleted))); }
private ContentChangeEvent PrepareFolderEvent(DotCMIS.Enums.ChangeType type) { var e = new ContentChangeEvent(type, Id); var remoteObject = new Mock<IFolder>(); var session = new Mock<ISession>(); session.Setup(s => s.GetObject(It.IsAny<string>(), It.IsAny<IOperationContext>())).Returns(remoteObject.Object); e.UpdateObject(session.Object); return e; }
private ContentChangeEvent PrepareEvent(DotCMIS.Enums.ChangeType type, bool hasContentStream, byte[] contentHash = null) { var e = new ContentChangeEvent(type, Id); var remoteObject = MockOfIDocumentUtil.CreateRemoteDocumentMock(hasContentStream ? "streamId" : null, Id, "name", (string)null); if (contentHash != null) { remoteObject.SetupContentStreamHash(contentHash); } var session = new Mock<ISession>(); session.Setup(s => s.GetObject(It.IsAny<string>(), It.IsAny<IOperationContext>())).Returns(remoteObject.Object); e.UpdateObject(session.Object); return e; }