public void DoesNotFilterChangeEventsOfNotExistingObjects() { string remoteId = "remoteId"; var filter = new IgnoreAlreadyHandledContentChangeEventsFilter(Mock.Of<IMetaDataStorage>(), Mock.Of<ISession>()); var contentChangeEvent = new ContentChangeEvent(DotCMIS.Enums.ChangeType.Updated, remoteId); Assert.That(filter.Handle(contentChangeEvent), Is.False); }
public void DoesNotFilterChangeEventsOfExistingButDifferentObjects() { string remoteId = "remoteId"; string oldToken = "oldToken"; string newToken = "newToken"; var session = new Mock<ISession>(); var storage = new Mock<IMetaDataStorage>(); var filter = new IgnoreAlreadyHandledContentChangeEventsFilter(storage.Object, session.Object); var mappedObject = Mock.Of<IMappedObject>( o => o.LastChangeToken == oldToken && o.RemoteObjectId == remoteId); storage.Setup(s => s.GetObjectByRemoteId(It.Is<string>(id => id == remoteId))).Returns(mappedObject); var remoteObject = Mock.Of<ICmisObject>( o => o.ChangeToken == newToken); session.Setup(s => s.GetObject(It.Is<string>(id => id == remoteId), It.IsAny<IOperationContext>())).Returns(remoteObject); var contentChangeEvent = new ContentChangeEvent(DotCMIS.Enums.ChangeType.Updated, remoteId); Assert.That(filter.Handle(contentChangeEvent), Is.False); }
public void DoesNotHandleUnknownEvents() { var filter = new IgnoreAlreadyHandledContentChangeEventsFilter(Mock.Of<IMetaDataStorage>(), Mock.Of<ISession>()); Assert.That(filter.Handle(Mock.Of<ISyncEvent>()), Is.False); }
public void FilterIgnoresFileChangedEventsIfChangeLogTokenIsEqualButParentIdIsDifferent() { string remoteId = "remoteId"; string changeToken = "Token"; var session = new Mock<ISession>(); var storage = new Mock<IMetaDataStorage>(); var filter = new IgnoreAlreadyHandledContentChangeEventsFilter(storage.Object, session.Object); var mappedObject = Mock.Of<IMappedObject>( o => o.LastChangeToken == changeToken && o.RemoteObjectId == remoteId && o.ParentId == "oldParent"); storage.Setup(s => s.GetObjectByRemoteId(It.Is<string>(id => id == remoteId))).Returns(mappedObject); var remoteDocument = Mock.Of<IDocument>( o => o.ChangeToken == changeToken); Mock.Get(remoteDocument).SetupParent(Mock.Of<IFolder>(f => f.Id == "newParent")); session.Setup(s => s.GetObject(It.Is<string>(id => id == remoteId), It.IsAny<IOperationContext>())).Returns(remoteDocument); var contentChangeEvent = new ContentChangeEvent(DotCMIS.Enums.ChangeType.Updated, remoteId); Assert.That(filter.Handle(contentChangeEvent), Is.False); }
public void FiltersChangeEventsIfChangeLogTokenIsEqualToLocalObject() { string remoteId = "remoteId"; string changeToken = "Token"; string parentId = "parentId"; var session = new Mock<ISession>(); var storage = new Mock<IMetaDataStorage>(); var filter = new IgnoreAlreadyHandledContentChangeEventsFilter(storage.Object, session.Object); var mappedObject = Mock.Of<IMappedObject>( o => o.LastChangeToken == changeToken && o.RemoteObjectId == remoteId && o.ParentId == parentId); storage.Setup(s => s.GetObjectByRemoteId(It.Is<string>(id => id == remoteId))).Returns(mappedObject); var remoteObject = Mock.Of<IFolder>( o => o.ChangeToken == changeToken && o.ParentId == parentId); session.Setup(s => s.GetObject(It.Is<string>(id => id == remoteId), It.IsAny<IOperationContext>())).Returns(remoteObject); var contentChangeEvent = new ContentChangeEvent(DotCMIS.Enums.ChangeType.Updated, remoteId); Assert.That(filter.Handle(contentChangeEvent), Is.True); }
public void FilterIgnoresDeletedEventsOfLocalExistingObjects() { string remoteId = "remoteId"; var storage = new Mock<IMetaDataStorage>(); storage.Setup(s => s.GetObjectByRemoteId(It.Is<string>(id => id == remoteId))).Returns(Mock.Of<IMappedObject>()); var filter = new IgnoreAlreadyHandledContentChangeEventsFilter(storage.Object, Mock.Of<ISession>()); var contentChangeEvent = new ContentChangeEvent(DotCMIS.Enums.ChangeType.Deleted, remoteId); Assert.That(filter.Handle(contentChangeEvent), Is.False); }
public void FilterHandlesDeletedEventsOfNonLocalExistingObjects() { var filter = new IgnoreAlreadyHandledContentChangeEventsFilter(Mock.Of<IMetaDataStorage>(), Mock.Of<ISession>()); var contentChangeEvent = new ContentChangeEvent(DotCMIS.Enums.ChangeType.Deleted, "remoteId"); Assert.That(filter.Handle(contentChangeEvent), Is.True); }