/// <inheritdoc /> public IEnumerable <Failure> ValidateConfiguration(ICacheConfigData cacheData) { return(CacheConfigDataValidator.ValidateConfiguration <Config>(cacheData, cacheConfig => { var failures = new List <Failure>(); failures.AddFailureIfNullOrWhitespace(cacheConfig.CacheLogPath, nameof(cacheConfig.CacheLogPath)); failures.AddFailureIfNullOrWhitespace(cacheConfig.CacheId, nameof(cacheConfig.CacheId)); if (cacheConfig.CacheKeyBumpTimeMins <= 0) { failures.Add(new IncorrectJsonConfigDataFailure($"{nameof(cacheConfig.CacheKeyBumpTimeMins)} must be greater than 0")); } if (!Uri.IsWellFormedUriString(cacheConfig.CacheServiceContentEndpoint, UriKind.Absolute)) { failures.Add(new IncorrectJsonConfigDataFailure($"{nameof(cacheConfig.CacheServiceContentEndpoint)}=[{cacheConfig.CacheServiceContentEndpoint}] is not a valid Uri.")); } if (!Uri.IsWellFormedUriString(cacheConfig.CacheServiceFingerprintEndpoint, UriKind.Absolute)) { failures.Add(new IncorrectJsonConfigDataFailure($"{nameof(cacheConfig.CacheServiceFingerprintEndpoint)}=[{cacheConfig.CacheServiceFingerprintEndpoint}] is not a valid Uri.")); } if (cacheConfig.DomainId < 0 || cacheConfig.DomainId > 99) { failures.Add(new IncorrectJsonConfigDataFailure($"{nameof(cacheConfig.DomainId)} must be in the range [0,99]")); } return failures; })); }
/// <inheritdoc /> public IEnumerable <Failure> ValidateConfiguration(ICacheConfigData cacheData) { return(CacheConfigDataValidator.ValidateConfiguration <Config>(cacheData, cacheConfig => { var failures = new List <Failure>(); failures.AddFailureIfNullOrWhitespace(cacheConfig.CacheId, nameof(cacheConfig.CacheId)); failures.AddFailureIfNullOrWhitespace(cacheConfig.CacheName, nameof(cacheConfig.CacheName)); failures.AddFailureIfNullOrWhitespace(cacheConfig.MetadataLogPath, nameof(cacheConfig.MetadataLogPath)); return failures; })); }
/// <inheritdoc /> public IEnumerable <Failure> ValidateConfiguration(ICacheConfigData cacheData) { return(CacheConfigDataValidator.ValidateConfiguration <Config>(cacheData, cacheConfig => { var failures = new List <Failure>(); failures.AddFailureIfNullOrWhitespace(cacheConfig.CacheId, nameof(cacheConfig.CacheId)); failures.AddFailureIfNullOrWhitespace(cacheConfig.CacheLogPath, nameof(cacheConfig.CacheLogPath)); failures.AddFailureIfNullOrWhitespace(cacheConfig.CacheRootPath, nameof(cacheConfig.CacheRootPath)); if (cacheConfig.UseStreamCAS && string.IsNullOrEmpty(cacheConfig.StreamCAS.CacheRootPath)) { failures.Add(new IncorrectJsonConfigDataFailure($"If {nameof(cacheConfig.UseStreamCAS)} is enabled, {nameof(cacheConfig.StreamCAS)}.{nameof(cacheConfig.StreamCAS.CacheRootPath)} cannot be null or empty.")); } return failures; })); }
/// <inheritdoc /> public IEnumerable <Failure> ValidateConfiguration(ICacheConfigData cacheData) { return(CacheConfigDataValidator.ValidateConfiguration <Config>(cacheData, cacheAggregatorConfig => { var failures = new List <Failure>(); failures.AddRange( CacheFactory.ValidateConfig(cacheAggregatorConfig.LocalCache) .Select(failure => new Failure <string>($"{nameof(cacheAggregatorConfig.LocalCache)} validation failed", failure))); failures.AddRange( CacheFactory.ValidateConfig(cacheAggregatorConfig.RemoteCache) .Select(failure => new Failure <string>($"{nameof(cacheAggregatorConfig.RemoteCache)} validation failed", failure))); return failures; })); }
/// <inheritdoc /> public IEnumerable <Failure> ValidateConfiguration(ICacheConfigData cacheData) { return(CacheConfigDataValidator.ValidateConfiguration <Config>(cacheData, cacheConfig => { var failures = new List <Failure>(); failures.AddFailureIfNull(cacheConfig.CacheId, nameof(cacheConfig.CacheId)); failures.AddFailureIfNull(cacheConfig.CacheRootPath, nameof(cacheConfig.CacheRootPath)); if (cacheConfig.IsAuthoritative && !cacheConfig.StrictMetadataCasCoupling) { failures.Add(new IncorrectJsonConfigDataFailure($"If {nameof(cacheConfig.IsAuthoritative)} is enabled, {nameof(cacheConfig.StrictMetadataCasCoupling)} must be enabled as well.")); } return failures; })); }
/// <inheritdoc /> public IEnumerable <Failure> ValidateConfiguration(ICacheConfigData cacheData) { return(CacheConfigDataValidator.ValidateConfiguration <Config>(cacheData, compositingConfig => { var failures = new List <Failure>(); failures.AddRange( CacheFactory.ValidateConfig(compositingConfig.MetadataCache) .Select(failure => new Failure <string>($"{nameof(compositingConfig.MetadataCache)} validation failed", failure))); failures.AddRange( CacheFactory.ValidateConfig(compositingConfig.CasCache) .Select(failure => new Failure <string>($"{nameof(compositingConfig.CasCache)} validation failed", failure))); return failures; })); }
/// <inheritdoc /> public IEnumerable <Failure> ValidateConfiguration(ICacheConfigData cacheData) { return(CacheConfigDataValidator.ValidateConfiguration <Config>(cacheData, config => { var failures = new List <Failure>(); if (!string.IsNullOrWhiteSpace(config.MustInclude)) { try { var mustIncludeRegex = new Regex(config.MustInclude, RegexOptions.Compiled); } catch (Exception e) { failures.Add(new RegexFailure(config.MustInclude, e)); } } if (!string.IsNullOrWhiteSpace(config.MustNotInclude)) { try { var mustNotIncludeRegex = new Regex(config.MustNotInclude, RegexOptions.Compiled); } catch (Exception e) { failures.Add(new RegexFailure(config.MustNotInclude, e)); } } failures.AddRange( CacheFactory.ValidateConfig(config.FilteredCache) .Select(failure => new Failure <string>($"{nameof(config.FilteredCache)} validation failed.", failure))); return failures; })); }
/// <inheritdoc /> public IEnumerable <Failure> ValidateConfiguration(ICacheConfigData cacheData) => CacheConfigDataValidator.ValidateConfiguration <TestCacheFactoryConfiguration>(cacheData, cacheConfig => new Failure[] { });
/// <inheritdoc /> public IEnumerable <Failure> ValidateConfiguration(ICacheConfigData cacheData) => CacheConfigDataValidator.ValidateConfiguration <Config>(cacheData, cacheConfig => CacheFactory.ValidateConfig(cacheConfig.EncapsulatedCache));