Exemple #1
0
        /// <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;
            }));
        }
Exemple #7
0
        /// <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;
            }));
        }
Exemple #8
0
 /// <inheritdoc />
 public IEnumerable <Failure> ValidateConfiguration(ICacheConfigData cacheData)
 => CacheConfigDataValidator.ValidateConfiguration <TestCacheFactoryConfiguration>(cacheData, cacheConfig => new Failure[] { });
Exemple #9
0
 /// <inheritdoc />
 public IEnumerable <Failure> ValidateConfiguration(ICacheConfigData cacheData)
 => CacheConfigDataValidator.ValidateConfiguration <Config>(cacheData, cacheConfig => CacheFactory.ValidateConfig(cacheConfig.EncapsulatedCache));