public static ConfigurationParameters LoadConfigurationFile() { var configurationSettings = ConfigurationManager.GetSection("SitecoreAssurance") as NameValueCollection; if (configurationSettings == null) { throw new InvalidConfigurationException("No Sitecore Assurance configuration section found in config file"); } try { var configurationParameters = new ConfigurationParameters { BaseUrl = configurationSettings["BaseUrl"], ListUrls = Convert.ToBoolean(configurationSettings["ListUrls"]), RootNodeId = new Guid(configurationSettings["RootNodeId"]), RunHttpChecker = Convert.ToBoolean(configurationSettings["RunHttpChecker"]), RunWebDriverChecker = Convert.ToBoolean(configurationSettings["RunWebDriverChecker"]), Domain = configurationSettings["Domain"], UserName = configurationSettings["UserName"], Password = configurationSettings["Password"], InputFileName = configurationSettings["InputFilename"] }; return(configurationParameters); } catch (Exception) { throw new InvalidConfigurationException("Invalid value(s) in Sitecore Assurance configuration section"); } }
private static void ParseInputFilenameParameter(string inputFileName, ConfigurationParameters parameters) { if (string.IsNullOrEmpty(inputFileName)) { return; } // test if fully qualified path if (File.Exists(inputFileName)) { parameters.InputFileName = inputFileName; return; } // test if path relative to executable var assembly = Assembly.GetExecutingAssembly(); var absoluteFilePath = Path.Combine(assembly.Location, inputFileName); if (!File.Exists(absoluteFilePath)) { throw new InvalidConfigurationException("Invalid input filename supplied"); } parameters.InputFileName = absoluteFilePath; }
public static bool LoadConfiguration(string[] args, out ConfigurationParameters config) { try { if (ConfigurationFileExists()) { try { config = ConfigurationParameterParser.LoadConfigurationFile(); } catch (InvalidConfigurationException) { // fall back to command line options if cannot load from .config config = ConfigurationParameterParser.ParseCommandLineArgs(args); } } else { config = ConfigurationParameterParser.ParseCommandLineArgs(args); } } catch (InvalidConfigurationException) { config = null; return(false); } return(true); }
private static void ParseBaseUrlParameter(string baseUrl, ConfigurationParameters parameters) { if (!String.IsNullOrEmpty(baseUrl)) { Uri parseUri; bool isValid = Uri.TryCreate(baseUrl, UriKind.Absolute, out parseUri); if (isValid) { parameters.BaseUrl = baseUrl; return; } } throw new InvalidConfigurationException("Base url is required"); }
private static ConfigurationParameters BuildConfigurationParameters(CommandLineParameters options) { var parameters = new ConfigurationParameters(); ParseRootNodeParameter(options.Root, parameters); ParseBaseUrlParameter(options.BaseUrl, parameters); ParseInputFilenameParameter(options.InputFileName, parameters); parameters.ListUrls = options.ListUrls; parameters.RunHttpChecker = options.RunHttpChecker; parameters.RunWebDriverChecker = options.RunWebDriverChecker; parameters.Domain = options.Domain; parameters.UserName = options.Username; parameters.Password = options.Password; return(parameters); }
private static void ParseRootNodeParameter(string root, ConfigurationParameters parameters) { if (!string.IsNullOrEmpty(root)) { Guid rootNodeGuid; var isValid = Guid.TryParse(root, out rootNodeGuid); if (isValid) { parameters.RootNodeId = rootNodeGuid; } else { throw new InvalidConfigurationException("Root node id is invalid"); } } else { throw new InvalidConfigurationException("Root node id is required"); } }