public RootFolderModule(IRootFolderService rootFolderService, IBroadcastSignalRMessage signalRBroadcaster, RootFolderValidator rootFolderValidator, PathExistsValidator pathExistsValidator, MappedNetworkDriveValidator mappedNetworkDriveValidator, StartupFolderValidator startupFolderValidator, SystemFolderValidator systemFolderValidator, FolderWritableValidator folderWritableValidator ) : base(signalRBroadcaster) { _rootFolderService = rootFolderService; GetResourceAll = GetRootFolders; GetResourceById = GetRootFolder; CreateResource = CreateRootFolder; DeleteResource = DeleteFolder; SharedValidator.RuleFor(c => c.Path) .Cascade(CascadeMode.StopOnFirstFailure) .IsValidPath() .SetValidator(rootFolderValidator) .SetValidator(mappedNetworkDriveValidator) .SetValidator(startupFolderValidator) .SetValidator(pathExistsValidator) .SetValidator(systemFolderValidator) .SetValidator(folderWritableValidator); }
public MediaManagementConfigModule(IConfigService configService, PathExistsValidator pathExistsValidator) : base(configService) { SharedValidator.RuleFor(c => c.FileChmod).NotEmpty(); SharedValidator.RuleFor(c => c.FolderChmod).NotEmpty(); SharedValidator.RuleFor(c => c.RecycleBin).IsValidPath().SetValidator(pathExistsValidator).When(c => !string.IsNullOrWhiteSpace(c.RecycleBin)); }
public RemotePathMappingModule(IRemotePathMappingService remotePathMappingService, PathExistsValidator pathExistsValidator, MappedNetworkDriveValidator mappedNetworkDriveValidator) { _remotePathMappingService = remotePathMappingService; GetResourceAll = GetMappings; GetResourceById = GetMappingById; CreateResource = CreateMapping; DeleteResource = DeleteMapping; UpdateResource = UpdateMapping; SharedValidator.RuleFor(c => c.Host) .NotEmpty(); // We cannot use IsValidPath here, because it's a remote path, possibly other OS. SharedValidator.RuleFor(c => c.RemotePath) .NotEmpty(); SharedValidator.RuleFor(c => c.LocalPath) .Cascade(CascadeMode.StopOnFirstFailure) .IsValidPath() .SetValidator(mappedNetworkDriveValidator) .SetValidator(pathExistsValidator); }
public MediaManagementConfigController(IConfigService configService, PathExistsValidator pathExistsValidator, FolderChmodValidator folderChmodValidator, FolderWritableValidator folderWritableValidator, MoviePathValidator moviePathValidator, StartupFolderValidator startupFolderValidator, SystemFolderValidator systemFolderValidator, RootFolderAncestorValidator rootFolderAncestorValidator, RootFolderValidator rootFolderValidator) : base(configService) { SharedValidator.RuleFor(c => c.RecycleBinCleanupDays).GreaterThanOrEqualTo(0); SharedValidator.RuleFor(c => c.ChmodFolder).SetValidator(folderChmodValidator).When(c => !string.IsNullOrEmpty(c.ChmodFolder) && (OsInfo.IsLinux || OsInfo.IsOsx)); SharedValidator.RuleFor(c => c.RecycleBin).IsValidPath() .SetValidator(folderWritableValidator) .SetValidator(rootFolderValidator) .SetValidator(pathExistsValidator) .SetValidator(rootFolderAncestorValidator) .SetValidator(startupFolderValidator) .SetValidator(systemFolderValidator) .SetValidator(moviePathValidator) .When(c => !string.IsNullOrWhiteSpace(c.RecycleBin)); SharedValidator.RuleFor(c => c.MinimumFreeSpaceWhenImporting).GreaterThanOrEqualTo(100); }
public MediaManagementConfigModule(IConfigService configService, PathExistsValidator pathExistsValidator, FolderChmodValidator folderChmodValidator) : base(configService) { SharedValidator.RuleFor(c => c.RecycleBinCleanupDays).GreaterThanOrEqualTo(0); SharedValidator.RuleFor(c => c.ChmodFolder).SetValidator(folderChmodValidator).When(c => !string.IsNullOrEmpty(c.ChmodFolder) && (OsInfo.IsLinux || OsInfo.IsOsx)); SharedValidator.RuleFor(c => c.RecycleBin).IsValidPath().SetValidator(pathExistsValidator).When(c => !string.IsNullOrWhiteSpace(c.RecycleBin)); SharedValidator.RuleFor(c => c.MinimumFreeSpaceWhenImporting).GreaterThanOrEqualTo(100); }
public MediaManagementConfigModule(IConfigService configService, PathExistsValidator pathExistsValidator, FileChmodValidator fileChmodValidator) : base(configService) { SharedValidator.RuleFor(c => c.RecycleBinCleanupDays).GreaterThanOrEqualTo(0); SharedValidator.RuleFor(c => c.FileChmod).SetValidator(fileChmodValidator).When(c => !string.IsNullOrEmpty(c.FileChmod) && PlatformInfo.IsMono); SharedValidator.RuleFor(c => c.RecycleBin).IsValidPath().SetValidator(pathExistsValidator).When(c => !string.IsNullOrWhiteSpace(c.RecycleBin)); SharedValidator.RuleFor(c => c.MinimumFreeSpaceWhenImporting).GreaterThanOrEqualTo(100); }
public void PathNotExist(string pathName, string pathValue) { PathExistsValidator val = this.CreateValidator(pathName, false); Task task = ValidatorTestSetup.CreateTask("someTask", new string[] { pathName }, new string[] { pathValue }); IEnumerable <ValidationResult> results = val.Evaluate(new Task[] { task }); Assert.Contains(results, r => r.State == ValidatorState.Error); Assert.DoesNotContain(results, r => r.State == ValidatorState.Success); }
public RootFolderModule(IRootFolderService rootFolderService, ICalibreProxy calibreProxy, IBroadcastSignalRMessage signalRBroadcaster, RootFolderValidator rootFolderValidator, PathExistsValidator pathExistsValidator, MappedNetworkDriveValidator mappedNetworkDriveValidator, StartupFolderValidator startupFolderValidator, SystemFolderValidator systemFolderValidator, FolderWritableValidator folderWritableValidator, QualityProfileExistsValidator qualityProfileExistsValidator, MetadataProfileExistsValidator metadataProfileExistsValidator) : base(signalRBroadcaster) { _rootFolderService = rootFolderService; _calibreProxy = calibreProxy; GetResourceAll = GetRootFolders; GetResourceById = GetRootFolder; CreateResource = CreateRootFolder; UpdateResource = UpdateRootFolder; DeleteResource = DeleteFolder; SharedValidator.RuleFor(c => c.Path) .Cascade(CascadeMode.StopOnFirstFailure) .IsValidPath() .SetValidator(mappedNetworkDriveValidator) .SetValidator(startupFolderValidator) .SetValidator(pathExistsValidator) .SetValidator(systemFolderValidator) .SetValidator(folderWritableValidator); PostValidator.RuleFor(c => c.Path) .SetValidator(rootFolderValidator); SharedValidator.RuleFor(c => c) .Must(x => CalibreLibraryOnlyUsedOnce(x)) .When(x => x.IsCalibreLibrary) .WithMessage("Calibre library is already configured as a root folder"); SharedValidator.RuleFor(c => c.Name) .NotEmpty(); SharedValidator.RuleFor(c => c.DefaultMetadataProfileId) .SetValidator(metadataProfileExistsValidator); SharedValidator.RuleFor(c => c.DefaultQualityProfileId) .SetValidator(qualityProfileExistsValidator); SharedValidator.RuleFor(c => c.Host).ValidHost().When(x => x.IsCalibreLibrary); SharedValidator.RuleFor(c => c.Port).InclusiveBetween(1, 65535).When(x => x.IsCalibreLibrary); SharedValidator.RuleFor(c => c.UrlBase).ValidUrlBase().When(c => c.UrlBase.IsNotNullOrWhiteSpace()); SharedValidator.RuleFor(c => c.Username).NotEmpty().When(c => !string.IsNullOrWhiteSpace(c.Password)); SharedValidator.RuleFor(c => c.Password).NotEmpty().When(c => !string.IsNullOrWhiteSpace(c.Username)); SharedValidator.RuleFor(c => c.OutputFormat).Must(x => x.Split(',').All(y => Enum.TryParse <CalibreFormat>(y, true, out _))).When(x => x.OutputFormat.IsNotNullOrWhiteSpace()).WithMessage("Invalid output formats"); SharedValidator.RuleFor(c => c.OutputProfile).IsEnumName(typeof(CalibreProfile)); }
private PathExistsValidator CreateValidator(string paramNames, bool pathExists) { PathExistsValidator val = Substitute.ForPartsOf <PathExistsValidator>(); val.WhenForAnyArgs(v => v.PathExists(null)).DoNotCallBase(); val.PathExists(null).ReturnsForAnyArgs(pathExists); val.Data["ParamNames"] = paramNames; return(val); }
public RTorrentDirectoryValidator(PathExistsValidator pathExistsValidator, MappedNetworkDriveValidator mappedNetworkDriveValidator) { RuleFor(c => c.Directory).Cascade(CascadeMode.StopOnFirstFailure) .IsValidPath() .SetValidator(mappedNetworkDriveValidator) .SetValidator(pathExistsValidator) .When(c => c.Directory.IsNotNullOrWhiteSpace()) .When(c => c.Host == "localhost" || c.Host == "127.0.0.1"); }
public RTorrentDirectoryValidator(RootFolderValidator rootFolderValidator, PathExistsValidator pathExistsValidator, DroneFactoryValidator droneFactoryValidator, MappedNetworkDriveValidator mappedNetworkDriveValidator) { RuleFor(c => c.TvDirectory).Cascade(CascadeMode.StopOnFirstFailure) .IsValidPath() .SetValidator(rootFolderValidator) .SetValidator(droneFactoryValidator) .SetValidator(mappedNetworkDriveValidator) .SetValidator(pathExistsValidator) .When(c => c.Host == "localhost" || c.Host == "127.0.0.1"); }
public DownloadClientConfigModule(IConfigService configService, RootFolderValidator rootFolderValidator, PathExistsValidator pathExistsValidator, MappedNetworkDriveValidator mappedNetworkDriveValidator) : base(configService) { SharedValidator.RuleFor(c => c.DownloadedEpisodesFolder) .Cascade(CascadeMode.StopOnFirstFailure) .IsValidPath() .SetValidator(rootFolderValidator) .SetValidator(mappedNetworkDriveValidator) .SetValidator(pathExistsValidator) .When(c => !string.IsNullOrWhiteSpace(c.DownloadedEpisodesFolder)); }
public RemotePathMappingController(IRemotePathMappingService remotePathMappingService, PathExistsValidator pathExistsValidator, MappedNetworkDriveValidator mappedNetworkDriveValidator) { _remotePathMappingService = remotePathMappingService; SharedValidator.RuleFor(c => c.Host) .NotEmpty(); // We cannot use IsValidPath here, because it's a remote path, possibly other OS. SharedValidator.RuleFor(c => c.RemotePath) .NotEmpty(); SharedValidator.RuleFor(c => c.LocalPath) .Cascade(CascadeMode.StopOnFirstFailure) .IsValidPath() .SetValidator(mappedNetworkDriveValidator) .SetValidator(pathExistsValidator); }
public RootFolderModule(IRootFolderService rootFolderService, IBroadcastSignalRMessage signalRBroadcaster, RootFolderValidator rootFolderValidator, PathExistsValidator pathExistsValidator, DroneFactoryValidator droneFactoryValidator) : base(signalRBroadcaster) { _rootFolderService = rootFolderService; GetResourceAll = GetRootFolders; GetResourceById = GetRootFolder; CreateResource = CreateRootFolder; DeleteResource = DeleteFolder; SharedValidator.RuleFor(c => c.Path) .Cascade(CascadeMode.StopOnFirstFailure) .IsValidPath() .SetValidator(rootFolderValidator) .SetValidator(pathExistsValidator) .SetValidator(droneFactoryValidator); }
public SeriesModule(ICommandExecutor commandExecutor, ISeriesService seriesService, ISeriesStatisticsService seriesStatisticsService, ISceneMappingService sceneMappingService, IMapCoversToLocal coverMapper, RootFolderValidator rootFolderValidator, PathExistsValidator pathExistsValidator, SeriesPathValidator seriesPathValidator, SeriesExistsValidator seriesExistsValidator, DroneFactoryValidator droneFactoryValidator ) : base(commandExecutor) { _commandExecutor = commandExecutor; _seriesService = seriesService; _seriesStatisticsService = seriesStatisticsService; _sceneMappingService = sceneMappingService; _coverMapper = coverMapper; GetResourceAll = AllSeries; GetResourceById = GetSeries; CreateResource = AddSeries; UpdateResource = UpdateSeries; DeleteResource = DeleteSeries; SharedValidator.RuleFor(s => s.QualityProfileId).ValidId(); PutValidator.RuleFor(s => s.Path) .Cascade(CascadeMode.StopOnFirstFailure) .IsValidPath() .SetValidator(rootFolderValidator) .SetValidator(seriesPathValidator) .SetValidator(droneFactoryValidator); PostValidator.RuleFor(s => s.Path).IsValidPath().When(s => String.IsNullOrEmpty(s.RootFolderPath)); PostValidator.RuleFor(s => s.RootFolderPath).IsValidPath().When(s => String.IsNullOrEmpty(s.Path)); PostValidator.RuleFor(s => s.Title).NotEmpty(); PostValidator.RuleFor(s => s.TvdbId).GreaterThan(0).SetValidator(seriesExistsValidator); }
public MediaManagementConfigModule(IConfigService configService, PathExistsValidator pathExistsValidator, FolderChmodValidator folderChmodValidator, FolderWritableValidator folderWritableValidator, MoviePathValidator moviePathValidator, StartupFolderValidator startupFolderValidator, SystemFolderValidator systemFolderValidator, RootFolderAncestorValidator rootFolderAncestorValidator, RootFolderValidator rootFolderValidator) : base(configService) { SharedValidator.RuleFor(c => c.ChmodFolder).SetValidator(folderChmodValidator).When(c => !string.IsNullOrEmpty(c.ChmodFolder) && PlatformInfo.IsMono); SharedValidator.RuleFor(c => c.RecycleBin).IsValidPath() .SetValidator(folderWritableValidator) .SetValidator(rootFolderValidator) .SetValidator(pathExistsValidator) .SetValidator(moviePathValidator) .SetValidator(rootFolderAncestorValidator) .SetValidator(startupFolderValidator) .SetValidator(systemFolderValidator) .When(c => !string.IsNullOrWhiteSpace(c.RecycleBin)); }
public RootFolderController(IRootFolderService rootFolderService, IBroadcastSignalRMessage signalRBroadcaster, RootFolderValidator rootFolderValidator, PathExistsValidator pathExistsValidator, MappedNetworkDriveValidator mappedNetworkDriveValidator, RecycleBinValidator recycleBinValidator, StartupFolderValidator startupFolderValidator, SystemFolderValidator systemFolderValidator, FolderWritableValidator folderWritableValidator) : base(signalRBroadcaster) { _rootFolderService = rootFolderService; SharedValidator.RuleFor(c => c.Path) .Cascade(CascadeMode.StopOnFirstFailure) .IsValidPath() .SetValidator(rootFolderValidator) .SetValidator(mappedNetworkDriveValidator) .SetValidator(startupFolderValidator) .SetValidator(recycleBinValidator) .SetValidator(pathExistsValidator) .SetValidator(systemFolderValidator) .SetValidator(folderWritableValidator); }
public MediaManagementConfigModule(IConfigService configService, PathExistsValidator pathExistsValidator, FileChmodValidator fileChmodValidator) : base(configService) { SharedValidator.RuleFor(c => c.FileChmod).SetValidator(fileChmodValidator).When(c => !string.IsNullOrEmpty(c.FileChmod) && PlatformInfo.IsMono); SharedValidator.RuleFor(c => c.RecycleBin).IsValidPath().SetValidator(pathExistsValidator).When(c => !string.IsNullOrWhiteSpace(c.RecycleBin)); }
public DownloadClientConfigModule(IConfigService configService, RootFolderValidator rootFolderValidator, PathExistsValidator pathExistsValidator) : base(configService) { SharedValidator.RuleFor(c => c.DownloadedEpisodesFolder) .Cascade(CascadeMode.StopOnFirstFailure) .IsValidPath() .SetValidator(rootFolderValidator) .SetValidator(pathExistsValidator) .When(c => !String.IsNullOrWhiteSpace(c.DownloadedEpisodesFolder)); SharedValidator.RuleFor(c => c.BlacklistGracePeriod) .InclusiveBetween(1, 24); SharedValidator.RuleFor(c => c.BlacklistRetryInterval) .InclusiveBetween(5, 120); SharedValidator.RuleFor(c => c.BlacklistRetryLimit) .InclusiveBetween(0, 10); }