public override IEnumerable <ValidationResultMessage> Validate(ConfigurationParameterAttribute configurationParameterAttribute, int indexOfParentInGroup = 0)
        {
            var messages = new List <ValidationResultMessage>();

            var attrValue =
                GetConfigurationParamenterAttributeValue(configurationParameterAttribute, indexOfParentInGroup);

            var message = new ValidationResultMessage
            {
                Body   = configurationParameterAttribute.ParameterName + " " + configurationParameterAttribute.Name + " = \"" + attrValue + "\"",
                Offset = "    "
            };

            if (string.IsNullOrEmpty(attrValue) == false)
            {
                message.Status = StatusWords.OK;
            }
            else
            {
                message.Status = configurationParameterAttribute.IsRequired ? StatusWords.ERR : StatusWords.WARN;
            }

            messages.Add(message);

            return(messages);
        }
        public override IEnumerable <ValidationResultMessage> Validate(ConfigurationParameterAttribute configurationParameterAttribute, int indexOfParentInGroup = 0)
        {
            var messages = GetMessagesFromExistenceValidator(configurationParameterAttribute, indexOfParentInGroup).ToList();

            if (messages.Count != 0)
            {
                return(messages);
            }

            if (Package.Configuration.DocumentElement != null)
            {
                var attrValue =
                    GetConfigurationParamenterAttributeValue(configurationParameterAttribute, indexOfParentInGroup);

                var message = new ValidationResultMessage
                {
                    Body   = configurationParameterAttribute.ParameterName + " " + configurationParameterAttribute.Name + " = \"" + attrValue + "\"",
                    Offset = "    "
                };

                if (CheckValue(attrValue))
                {
                    message.Status = StatusWords.OK;
                }
                else
                {
                    message.Status = configurationParameterAttribute.IsRequired ? StatusWords.ERR : StatusWords.WARN;
                }

                messages.Add(message);
            }
            else
            {
                messages.Add(new ValidationResultMessage
                {
                    Body   = "Configuration file is empty",
                    Status = StatusWords.CRITICAL
                });
            }

            return(messages);
        }
Exemplo n.º 3
0
    private List <string> GetExpectedEnvVarSecretsFromLoadedAssemblies <T>(string prefix = "", string postfix = "") where T : ConfigurationParameterAttribute
    {
        var assemblies = LoadReferencedAssembliesMetadata()
                         .Where(a => a.FullName?.StartsWith("Trakx.") ?? false);
        var explorationContext = new AssemblyLoadContext(nameof(ReadmeDocumentationUpdaterBase), true);

        var result = assemblies.SelectMany(currentAssembly =>
        {
            _output.WriteLine("Inspecting assembly {0}", currentAssembly.FullName);
            var configTypes = GetAllConfigurationTypesFromAssembly(currentAssembly, explorationContext);
            var secrets     = ConfigurationParameterAttribute.GetConfigPathsFromConfigTypes <T>(configTypes, prefix, postfix);
            return(secrets.Select(s => s !));
        })
                     .Distinct()
                     .OrderBy(abc => abc)
                     .ToList();

        explorationContext.Unload();

        return(result);
    }