public void DoNotFetchIfExtendedAttributeIsMissing() { var session = new Mock<ISession>(); session.SetupSessionDefaultValues(); IDocument remote = MockOfIDocumentUtil.CreateRemoteDocumentMock(null, Id, "name", (string)null).Object; session.Setup(s => s.GetObject(Id, It.IsAny<IOperationContext>())).Returns(remote); var storage = new Mock<IMetaDataStorage>(); storage.AddLocalFile(Path, Id, Uuid); var fileEvent = new FileEvent(Mock.Of<IFileInfo>()); var fetcher = new RemoteObjectFetcher(session.Object, storage.Object); fetcher.Handle(fileEvent); session.Verify(s => s.GetObject(It.IsAny<string>(), It.IsAny<IOperationContext>()), Times.Never()); }
public void CrawlRequestedEventWithNewRemoteFolder() { var session = new Mock<ISession>(); session.SetupSessionDefaultValues(); IFolder remote = MockOfIFolderUtil.CreateRemoteFolderMock(Id, "name", "/name").Object; session.Setup(s => s.GetObject(Id, It.IsAny<IOperationContext>())).Returns(remote); var storage = new Mock<IMetaDataStorage>(); storage.AddLocalFolder(Path, Id, Uuid); var dirMock = new Mock<IDirectoryInfo>(); dirMock.Setup(d => d.Exists).Returns(true); dirMock.Setup(d => d.Uuid).Returns(Uuid); var crawlEvent = new CrawlRequestEvent(localFolder: dirMock.Object, remoteFolder: null); var fetcher = new RemoteObjectFetcher(session.Object, storage.Object); Assert.That(fetcher.Handle(crawlEvent), Is.False); Assert.That(crawlEvent.RemoteFolder, Is.EqualTo(remote)); }
public void OperationContextDoesNotUsesTheSessionCache() { var session = new Mock<ISession>(); session.SetupSessionDefaultValues(); IFolder remote = MockOfIFolderUtil.CreateRemoteFolderMock(Id, "name", "/name").Object; session.Setup(s => s.GetObject(Id, It.IsAny<IOperationContext>())).Returns(remote); var storage = new Mock<IMetaDataStorage>(); storage.AddLocalFolder(Path, Id, Uuid); var dirMock = new Mock<IDirectoryInfo>(); dirMock.Setup(d => d.Exists).Returns(true); dirMock.Setup(d => d.GetExtendedAttribute(MappedObject.ExtendedAttributeKey)).Returns(Uuid.ToString()); var folderEvent = new FolderEvent(dirMock.Object); var fetcher = new RemoteObjectFetcher(session.Object, storage.Object); Assert.That(fetcher.Handle(folderEvent), Is.False); session.VerifyThatCachingIsDisabled(); }
public void FolderEventWithoutObjectIdAndExtendedAttributeExceptionOnUuidRequest() { var session = new Mock<ISession>(); session.SetupSessionDefaultValues(); IFolder remote = MockOfIFolderUtil.CreateRemoteFolderMock(Id, "name", "/name").Object; session.Setup(s => s.GetObject(Id, It.IsAny<IOperationContext>())).Returns(remote); var storage = new Mock<IMetaDataStorage>(); storage.AddLocalFolder(Path, Id, Uuid); var dirMock = new Mock<IDirectoryInfo>(); dirMock.Setup(d => d.Exists).Returns(true); dirMock.Setup(d => d.Uuid).Throws<ExtendedAttributeException>(); var folderEvent = new FolderEvent(dirMock.Object); var fetcher = new RemoteObjectFetcher(session.Object, storage.Object); Assert.That(fetcher.Handle(folderEvent), Is.False); Assert.That(folderEvent.RemoteFolder, Is.Null); }
public void FolderEventForRemovedFolder() { var session = new Mock<ISession>(); session.SetupSessionDefaultValues(); session.Setup(s => s.GetObject(Id, It.IsAny<IOperationContext>())).Throws(new CmisObjectNotFoundException()); var storage = new Mock<IMetaDataStorage>(); storage.AddLocalFolder(Path, Id); var dirMock = new Mock<IDirectoryInfo>(); dirMock.Setup(d => d.GetExtendedAttribute(MappedObject.ExtendedAttributeKey)).Returns(Uuid.ToString()); var folderEvent = new FolderEvent(dirMock.Object); var fetcher = new RemoteObjectFetcher(session.Object, storage.Object); Assert.That(fetcher.Handle(folderEvent), Is.False); Assert.That(folderEvent.RemoteFolder, Is.Null); }
public void FolderEventWithIFolder() { var session = new Mock<ISession>(); var fetcher = new RemoteObjectFetcher(session.Object, Mock.Of<IMetaDataStorage>()); var folderEvent = new FolderEvent(new Mock<IDirectoryInfo>().Object, new Mock<IFolder>().Object); fetcher.Handle(folderEvent); session.Verify(s => s.GetObject(It.IsAny<string>(), It.IsAny<IOperationContext>()), Times.Never()); }
public void FileMovedEventWithoutLocalPath() { var session = new Mock<ISession>(); var fetcher = new RemoteObjectFetcher(session.Object, Mock.Of<IMetaDataStorage>()); var fileMovedEvent = new FileMovedEvent(null, null, Path, Mock.Of<IDocument>()); Assert.That(fetcher.Handle(fileMovedEvent), Is.False); session.Verify(s => s.GetObject(It.IsAny<string>(), It.IsAny<IOperationContext>()), Times.Never()); }
public void FileEventWithIDocument() { var session = new Mock<ISession>(); var storage = new Mock<IMetaDataStorage>(); var fetcher = new RemoteObjectFetcher(session.Object, storage.Object); var fileEvent = new FileEvent(new Mock<IFileInfo>().Object, new Mock<IDocument>().Object); fetcher.Handle(fileEvent); session.Verify(s => s.GetObject(It.IsAny<string>(), It.IsAny<IOperationContext>()), Times.Never()); }
public void FileEventForRemovedFile() { var session = new Mock<ISession>(); session.SetupSessionDefaultValues(); session.Setup(s => s.GetObject(Id, It.IsAny<IOperationContext>())).Throws(new CmisObjectNotFoundException()); var storage = new Mock<IMetaDataStorage>(); storage.AddLocalFile(Path, Id); var fileInfoMock = new Mock<IFileInfo>(); fileInfoMock.Setup(f => f.GetExtendedAttribute(It.IsAny<string>())).Returns(Uuid.ToString()); var fileEvent = new FileEvent(fileInfoMock.Object); var fetcher = new RemoteObjectFetcher(session.Object, storage.Object); Assert.That(fetcher.Handle(fileEvent), Is.False); Assert.That(fileEvent.RemoteFile, Is.Null); }
public void FileEventWithoutObjectId() { var session = new Mock<ISession>(); session.SetupSessionDefaultValues(); IDocument remote = MockOfIDocumentUtil.CreateRemoteDocumentMock(null, Id, "name", (string)null).Object; session.Setup(s => s.GetObject(Id, It.IsAny<IOperationContext>())).Returns(remote); var storage = new Mock<IMetaDataStorage>(); storage.AddLocalFile(Path, Id, Uuid); var fileInfoMock = new Mock<IFileInfo>(); fileInfoMock.Setup(f => f.Uuid).Returns(Uuid); fileInfoMock.Setup(f => f.Exists).Returns(true); var fileEvent = new FileEvent(fileInfoMock.Object); var fetcher = new RemoteObjectFetcher(session.Object, storage.Object); Assert.That(fetcher.Handle(fileEvent), Is.False); Assert.That(fileEvent.RemoteFile, Is.Not.Null); }