Ejemplo n.º 1
0
        private List <ConfigSection> GetValidatorConfigSettings(IValidatorProxy proxy)
        {
            List <ConfigSection> configValues = null;

            try
            {
                configValues = this._vsVasa.GetConfigSections(null, proxy.ValidatorId);
            }
            catch (Exception ex)
            {
                log.Debug("ValidatorProxy: {proxy} had no Vasa configuration settings that were found. Exception {ExceptionMessage}", proxy.ValidatorId, ex.Message);
            }

            return(configValues ?? new List <ConfigSection>());
        }
Ejemplo n.º 2
0
        private void VerifyScheduleRequestValidity(IEnumerable <IScheduleRequest> scheduleRequests)
        {
            foreach (var scheduleRequest in scheduleRequests)
            {
                IValidatorProxy    proxy    = this._validatorProvider.GetValidatorProxy(scheduleRequest.ValidatorId);
                IValidatorInstance instance = this._validatorProvider.GetValidatorInstance(scheduleRequest.ValidatorId, scheduleRequest.ValidatorInstanceId);

                bool jobExists = this._validationScheduler.IsValidationScheduled(proxy.ValidatorId, instance.ValidatorInstanceId);

                if (jobExists)
                {
                    throw new Exception(string.Format("Validation already scheduled for validator instance {0}", scheduleRequest.ValidatorInstanceId));
                }
            }
        }
Ejemplo n.º 3
0
        public IValidatorInstance GetValidatorInstance(string validationId, string validatorInstanceId)
        {
            Guard.NotNullOrEmpty(validationId, "validationId", log);
            Guard.NotNullOrEmpty(validatorInstanceId, "validatorInstanceId", log);

            IValidatorProxy proxy = this.GetValidatorProxy(validationId);

            var instance = proxy.ValidatorInstances.SingleOrDefault(vi => vi.ValidatorInstanceId == validatorInstanceId);

            if (instance == null)
            {
                throw new Exception(string.Format("ScheduleRequest with ValidatorInstanceId: {0} was invalid. No ValidatorInstance found with that Id", validatorInstanceId));
            }

            return(instance);
        }
Ejemplo n.º 4
0
        private List <IValidatorRunEntry> RunValidatorInstance(ValidatorInstanceInfo info)
        {
            var             startTime      = DateTime.Now;
            IValidatorProxy validatorProxy = null;

            try
            {
                validatorProxy = _validatorProvider.GetValidatorProxy(info.ValidatorId);
                IValidatorInstance validatorInstance = _validatorProvider.GetValidatorInstance(info.ValidatorId, info.ValidatorInstanceId);

                log.Debug("Validator: {ValidatorId}  Version:  {ValidatorVersion}{NewLine}   Description:  {Description}", validatorProxy.ValidatorId, validatorProxy.Version.ToString(), Environment.NewLine, validatorProxy.Description);
                log.Debug("ValidatorInstance: {Name}  Description: {Description} beginning to validate.", validatorInstance.Name, validatorInstance.Description);

                IValidator               validator = validatorProxy.Create(validatorInstance);
                IValidatorContext        vc        = new ValidatorContext();
                IList <IValidatorResult> results   = validator.Execute(vc);

                var endTime = DateTime.Now;

                log.Debug("ValidatorInstance: {Name} finished validating. Start: {start}  End: {end}", validatorInstance.Name, startTime.ToString(), endTime.ToString());
                log.Debug("ValidatorInstance: {Name} returned {resultCount} results.", validatorInstance.Name, results.Count);

                List <IValidatorRunEntry> runEntries = results.Select(x =>
                                                                      new ValidatorRunEntry(startTime, endTime, x, validator.FilterSequence)
                {
                } as IValidatorRunEntry).ToList();

                return(runEntries);
            }
            catch (Exception ex)
            {
                log.Error(ex, "{ValidatorProxy} execution caused Error: {Message}", validatorProxy.ValidatorId, ex.Message);

                var vr = new ValidatorResult(validatorProxy.ValidatorId, ex.Message, ValidatorResultCode.Error, UnhandledExceptionResultCode);

                var vre = new ValidatorRunEntry(startTime, DateTime.Now, vr);

                return(new List <IValidatorRunEntry>()
                {
                    vre
                });
            }
        }
Ejemplo n.º 5
0
        private void WarnWhenNoValidatorInstancesFound(IValidatorProxy proxy, int validatorInstanceCount)
        {
            if (validatorInstanceCount == 0)
            {
                var message = string.Format("No validators were found for {0}", proxy.ValidatorId);

                var vr = new ValidatorResult(proxy.ValidatorId, message, ValidatorResultCode.Warning, NoValidatorInstancesFound);

                var vre = new ValidatorRunEntry(DateTime.Now, DateTime.Now, vr, new List <string>()
                {
                    proxy.ValidatorId
                })
                {
                } as IValidatorRunEntry;

                //TODO
                // change error ... throw instead
                //this.SendValidatorResults(new List<IValidatorRunEntry>() { vre });
            }
        }
Ejemplo n.º 6
0
        public void GetValidatorInstanceFailsOnNullProxyOrInstance(string validatorId, string validatorInstanceId, IValidatorProxy proxy)
        {
            var kernel   = GetKernelWithBindings();
            var provider = kernel.Get <IValidatorProvider>();

            Assert.ThrowsAny <Exception>(() =>
            {
                provider.GetValidatorInstance(validatorId, null);
            });

            Assert.ThrowsAny <Exception>(() =>
            {
                provider.GetValidatorInstance(null, validatorInstanceId);
            });
        }