public override bool Handle(ISyncEvent e) { if (e is FolderEvent) { var folderEvent = e as FolderEvent; if(folderEvent.LocalFolder != null) { return false; } if (!this.matcher.CanCreateLocalPath(folderEvent.RemoteFolder.Path)) { Logger.Debug("Dropping FolderEvent for not accessable path: " + folderEvent.RemoteFolder.Path); return true; } Logger.Debug("Fetching local object for " + folderEvent); string localPath = this.matcher.CreateLocalPath(folderEvent.RemoteFolder.Path); folderEvent.LocalFolder = this.fsFactory.CreateDirectoryInfo(localPath); } if (e is FileEvent) { var fileEvent = e as FileEvent; if (fileEvent.LocalFile != null) { return false; } if (!this.matcher.CanCreateLocalPath(fileEvent.RemoteFile.Paths[0])) { Logger.Debug("Dropping FileEvent for not accessable path: " + fileEvent.RemoteFile.Paths[0]); return true; } Logger.Debug("Fetching local object for " + fileEvent); string localPath = this.matcher.CreateLocalPath(fileEvent.RemoteFile.Paths[0]); fileEvent.LocalFile = this.fsFactory.CreateFileInfo(localPath); } return false; } }
public void IgnoresOtherEvents() { var matcher = new Mock<IPathMatcher>(); var syncEvent = new Mock<ISyncEvent>(); var fetcher = new LocalObjectFetcher(matcher.Object); Assert.That(fetcher.Handle(syncEvent.Object), Is.False); }