public void Ctor_ResultNull_Error() { CustomAssert.ThrowsException<ArgumentNullException>(() => { ParameterValidationResult result = new ParameterValidationResult(null); }); }
public void Ctor_IntStringConstraint_Success() { ParameterValidationResult result = new ParameterValidationResult(42, Constants.ErrorMessage, new DummyConstraint()); Assert.AreEqual(42, result.HResult); Assert.AreEqual(Constants.ErrorMessage, result.ErrorMessage); Assert.IsNotNull(result.Constraint); Assert.IsFalse(result.MemberNames.GetEnumerator().MoveNext()); }
/// <summary> /// Validates the host parameters and ensures a connection can be made to the server /// </summary> /// <param name="configParameters">The configuration parameters from the user interface</param> /// <param name="page">The configuration page</param> /// <returns>A ParameterValidationResult containing the validation status</returns> public static ParameterValidationResult ValidateHost(KeyedCollection <string, ConfigParameter> configParameters, ConfigParameterPage page) { ParameterValidationResult myResults = new ParameterValidationResult(); if (string.IsNullOrWhiteSpace(configParameters[MAParameterNames.HostName].Value)) { myResults.Code = ParameterValidationResultCode.Failure; myResults.ErrorMessage = "The hostname cannot be blank"; myResults.ErrorParameter = MAParameterNames.HostName; return(myResults); } int result = 0; if (!int.TryParse(configParameters[MAParameterNames.Port].Value, out result)) { myResults.Code = ParameterValidationResultCode.Failure; myResults.ErrorMessage = "The port number must be an integer"; myResults.ErrorParameter = MAParameterNames.Port; return(myResults); } else if (result <= 0) { myResults.Code = ParameterValidationResultCode.Failure; myResults.ErrorMessage = "The port number must be an integer greater than 0"; myResults.ErrorParameter = MAParameterNames.Port; return(myResults); } try { SshConnection.OpenSshConnection(new MAParameters(configParameters)); SshConnection.CloseSshConnection(); } catch (Exception ex) { myResults.Code = ParameterValidationResultCode.Failure; myResults.ErrorMessage = "Could not connect to the target server\n" + ex.Message; myResults.ErrorParameter = MAParameterNames.HostName; return(myResults); } myResults.Code = ParameterValidationResultCode.Success; return(myResults); }
/// <summary> /// Validates the values provided in the UI for the supplied configuration parameters /// </summary> /// <param name="configParameters">The list of configuration parameters</param> /// <param name="page">The page to get the configuration parameters for</param> /// <returns>A ParameterValidationResult object containing the results of the validation</returns> ParameterValidationResult IMAExtensible2GetParameters.ValidateConfigParameters(KeyedCollection <string, ConfigParameter> configParameters, ConfigParameterPage page) { ParameterValidationResult myResults = new ParameterValidationResult(); myResults = MAParameterValidator.ValidateConfigFile(configParameters, page); if (myResults.Code != ParameterValidationResultCode.Success) { return(myResults); } myResults = MAParameterValidator.ValidateHost(configParameters, page); if (myResults.Code != ParameterValidationResultCode.Success) { return(myResults); } myResults.Code = ParameterValidationResultCode.Success; return(myResults); }
public ParameterValidationResult ValidateConfigParameters(System.Collections.ObjectModel.KeyedCollection <string, ConfigParameter> configParameters, ConfigParameterPage page) { ParameterValidationResult myResults = new ParameterValidationResult(); return(myResults); }
public void ValidateEBIWuBlastManadatoryParams() { // Gets the search query parameter and their values. string querySequence = utilityObj.xmlUtil.GetTextValue( Constants.BlastParametersNode, Constants.QuerySequency); string queryDatabaseValue = utilityObj.xmlUtil.GetTextValue( Constants.BlastParametersNode, Constants.DatabaseValue); string queryProgramValue = utilityObj.xmlUtil.GetTextValue( Constants.BlastParametersNode, Constants.ProgramValue); string queryDatabaseParameter = utilityObj.xmlUtil.GetTextValue( Constants.BlastParametersNode, Constants.DatabaseParameter); string queryProgramParameter = utilityObj.xmlUtil.GetTextValue( Constants.BlastParametersNode, Constants.ProgramParameter); string emailParameter = utilityObj.xmlUtil.GetTextValue( Constants.BlastParametersNode, Constants.Emailparameter); string email = utilityObj.xmlUtil.GetTextValue( Constants.BlastParametersNode, Constants.EmailAdress); string alphabetName = utilityObj.xmlUtil.GetTextValue( Constants.EbiAsynchronousResultsNode, Constants.AlphabetNameNode); // Set Service confiruration parameters true. IBlastServiceHandler service = null; try { service = new EbiWuBlastHandler(); ConfigParameters configParameters = new ConfigParameters(); configParameters.UseBrowserProxy = true; service.Configuration = configParameters; // Create search parameters object. BlastParameters ebiParams = new BlastParameters(); // Add mandatory parameter values to search query parameters. //ebiParams.Add(querySequenceParameter, querySequence); ebiParams.Add(queryDatabaseParameter, queryDatabaseValue); ebiParams.Add(queryProgramParameter, queryProgramValue); ebiParams.Add(emailParameter, email); ebiParams.Add("SequenceType", alphabetName.ToLower(CultureInfo.CurrentCulture).Replace("ambiguous", "")); // Validate search query parameters. ParameterValidationResult validateParameters = EbiWuBlastHandler.ValidateParameters(ebiParams); bool result = validateParameters.IsValid; Assert.IsTrue(result); // Assert.IsTrue(ebiParams.Settings.ContainsValue(querySequence)); Assert.IsTrue(ebiParams.Settings.ContainsValue(queryDatabaseValue)); Assert.IsTrue(ebiParams.Settings.ContainsValue(queryProgramValue)); Assert.IsTrue(ebiParams.Settings.ContainsValue(email)); Assert.AreEqual(ebiParams.Settings.Count, 4); // Logs to the VSTest GUI (Console.Out) window Console.WriteLine(string.Format((IFormatProvider)null, "Ebi Blast BVT: Query Sequence{0} is as expected.", querySequence)); Console.WriteLine(string.Format((IFormatProvider)null, "Ebi Blast BVT: DataBase Value{0} is as expected.", queryDatabaseValue)); Console.WriteLine(string.Format((IFormatProvider)null, "Ebi Blast BVT: Program Value {0} is as expected.", queryProgramValue)); } catch (Exception ex) { Assert.Fail(ex.Message); } finally { if (service != null) { ((IDisposable)service).Dispose(); } } }
public void ValidateEBIWuBlastManadatoryParams() { // Gets the search query parameter and their values. string querySequence = _utilityObj._xmlUtil.GetTextValue( Constants.BlastParametersNode, Constants.QuerySequency); string queryDatabaseValue = _utilityObj._xmlUtil.GetTextValue( Constants.BlastParametersNode, Constants.DatabaseValue); string queryProgramValue = _utilityObj._xmlUtil.GetTextValue( Constants.BlastParametersNode, Constants.ProgramValue); string queryDatabaseParameter = _utilityObj._xmlUtil.GetTextValue( Constants.BlastParametersNode, Constants.DatabaseParameter); string queryProgramParameter = _utilityObj._xmlUtil.GetTextValue( Constants.BlastParametersNode, Constants.ProgramParameter); string emailParameter = _utilityObj._xmlUtil.GetTextValue( Constants.BlastParametersNode, Constants.Emailparameter); string email = _utilityObj._xmlUtil.GetTextValue( Constants.BlastParametersNode, Constants.EmailAdress); // Set Service confiruration parameters true. IBlastServiceHandler service = null; try { service = new EbiWuBlastHandler(); ConfigParameters configParameters = new ConfigParameters(); configParameters.UseBrowserProxy = true; service.Configuration = configParameters; // Create search parameters object. BlastParameters ebiParams = new BlastParameters(); // Add mandatory parameter values to search query parameters. //ebiParams.Add(querySequenceParameter, querySequence); ebiParams.Add(queryDatabaseParameter, queryDatabaseValue); ebiParams.Add(queryProgramParameter, queryProgramValue); ebiParams.Add(emailParameter, email); // Validate search query parameters. ParameterValidationResult validateParameters = EbiWuBlastHandler.ValidateParameters(ebiParams); bool result = validateParameters.IsValid; Assert.IsTrue(result); // Assert.IsTrue(ebiParams.Settings.ContainsValue(querySequence)); Assert.IsTrue(ebiParams.Settings.ContainsValue(queryDatabaseValue)); Assert.IsTrue(ebiParams.Settings.ContainsValue(queryProgramValue)); Assert.IsTrue(ebiParams.Settings.ContainsValue(email)); Assert.AreEqual(ebiParams.Settings.Count, 3); // Logs to the NUnit GUI (Console.Out) window Console.WriteLine(string.Format((IFormatProvider)null, "Ebi Blast BVT: Query Sequence{0} is as expected.", querySequence)); Console.WriteLine(string.Format((IFormatProvider)null, "Ebi Blast BVT: DataBase Value{0} is as expected.", queryDatabaseValue)); Console.WriteLine(string.Format((IFormatProvider)null, "Ebi Blast BVT: Program Value {0} is as expected.", queryProgramValue)); } finally { if (service != null) { ((IDisposable)service).Dispose(); } } }
public ParameterValidationResult ValidateParameters(ConfigParameterPage page) { ParameterValidationResult result = new ParameterValidationResult { Code = ParameterValidationResultCode.Success }; switch (page) { case ConfigParameterPage.Capabilities: break; case ConfigParameterPage.Connectivity: if (string.IsNullOrWhiteSpace(this.ServiceAccountEmailAddress)) { result.Code = ParameterValidationResultCode.Failure; result.ErrorMessage = "A service account email address is required"; result.ErrorParameter = ManagementAgentParametersBase.ServiceAccountEmailAddressParameter; return(result); } if (string.IsNullOrWhiteSpace(this.UserEmailAddress)) { result.Code = ParameterValidationResultCode.Failure; result.ErrorMessage = "A user email address is required"; result.ErrorParameter = ManagementAgentParametersBase.UserEmailAddressParameter; return(result); } if (string.IsNullOrWhiteSpace(this.Domain)) { result.Code = ParameterValidationResultCode.Failure; result.ErrorMessage = "The primary domain is required"; result.ErrorParameter = ManagementAgentParametersBase.DomainParameter; return(result); } if (string.IsNullOrWhiteSpace(this.KeyFilePath)) { result.Code = ParameterValidationResultCode.Failure; result.ErrorMessage = "A key file is required"; result.ErrorParameter = ManagementAgentParametersBase.KeyFilePathParameter; return(result); } else { if (!File.Exists(this.KeyFilePath)) { result.Code = ParameterValidationResultCode.Failure; result.ErrorMessage = "The specified key file could not be found"; result.ErrorParameter = ManagementAgentParametersBase.KeyFilePathParameter; return(result); } else { try { X509Certificate2 cert = this.Certificate; } catch (Exception ex) { result.Code = ParameterValidationResultCode.Failure; result.ErrorMessage = "The specified key file could not be opened. " + ex.Message; result.ErrorParameter = ManagementAgentParametersBase.KeyFilePathParameter; return(result); } } } if (!string.IsNullOrWhiteSpace(this.GroupRegexFilter)) { try { Regex r = new Regex(this.GroupRegexFilter); } catch (Exception ex) { result.Code = ParameterValidationResultCode.Failure; result.ErrorMessage = "The specified group regular expression was not valid. " + ex.Message; result.ErrorParameter = ManagementAgentParametersBase.GroupRegexFilterParameter; return(result); } } if (!string.IsNullOrWhiteSpace(this.ContactRegexFilter)) { try { Regex r = new Regex(this.ContactRegexFilter); } catch (Exception ex) { result.Code = ParameterValidationResultCode.Failure; result.ErrorMessage = "The specified contact regular expression was not valid. " + ex.Message; result.ErrorParameter = ManagementAgentParametersBase.ContactRegexFilterParameter; return(result); } } if (!string.IsNullOrWhiteSpace(this.UserRegexFilter)) { try { Regex r = new Regex(this.UserRegexFilter); } catch (Exception ex) { result.Code = ParameterValidationResultCode.Failure; result.ErrorMessage = "The specified user regular expression was not valid. " + ex.Message; result.ErrorParameter = ManagementAgentParametersBase.UserRegexFilterParameter; return(result); } } break; case ConfigParameterPage.Global: break; case ConfigParameterPage.Partition: break; case ConfigParameterPage.RunStep: break; case ConfigParameterPage.Schema: if (this.OrganizationsAttributeFixedTypes.Any()) { if (!this.OrganizationsAttributeFixedTypes.All(new HashSet <string>().Add)) { result.Code = ParameterValidationResultCode.Failure; result.ErrorMessage = "The organization types cannot contain duplicates"; result.ErrorParameter = ManagementAgentParametersBase.OrganizationsFixedTypeFormatParameter; return(result); } } if (this.IMsAttributeFixedTypes.Any()) { if (!this.IMsAttributeFixedTypes.All(new HashSet <string>().Add)) { result.Code = ParameterValidationResultCode.Failure; result.ErrorMessage = "The IM types cannot contain duplicates"; result.ErrorParameter = ManagementAgentParametersBase.IMsFixedTypeFormatParameter; return(result); } } if (this.AddressesAttributeFixedTypes.Any()) { if (!this.AddressesAttributeFixedTypes.All(new HashSet <string>().Add)) { result.Code = ParameterValidationResultCode.Failure; result.ErrorMessage = "The address types cannot contain duplicates"; result.ErrorParameter = ManagementAgentParametersBase.AddressesFixedTypeFormatParameter; return(result); } } if (this.WebsitesAttributeFixedTypes.Any()) { if (!this.WebsitesAttributeFixedTypes.All(new HashSet <string>().Add)) { result.Code = ParameterValidationResultCode.Failure; result.ErrorMessage = "The website types cannot contain duplicates"; result.ErrorParameter = ManagementAgentParametersBase.WebsitesFixedTypeFormatParameter; return(result); } } if (this.ExternalIDsAttributeFixedTypes.Any()) { if (!this.ExternalIDsAttributeFixedTypes.All(new HashSet <string>().Add)) { result.Code = ParameterValidationResultCode.Failure; result.ErrorMessage = "The external ID types cannot contain duplicates"; result.ErrorParameter = ManagementAgentParametersBase.ExternalIDsFixedTypeFormatParameter; return(result); } } if (this.RelationsAttributeFixedTypes.Any()) { if (!this.RelationsAttributeFixedTypes.All(new HashSet <string>().Add)) { result.Code = ParameterValidationResultCode.Failure; result.ErrorMessage = "The relations types field cannot contain duplicates"; result.ErrorParameter = ManagementAgentParametersBase.RelationsFixedTypeFormatParameter; return(result); } } if (this.PhonesAttributeFixedTypes.Any()) { if (!this.PhonesAttributeFixedTypes.All(new HashSet <string>().Add)) { result.Code = ParameterValidationResultCode.Failure; result.ErrorMessage = "The phone types cannot contain duplicates"; result.ErrorParameter = ManagementAgentParametersBase.PhonesFixedTypeFormatParameter; return(result); } } break; default: break; } return(result); }
public void GetObjectData_InfoNull_Error() { CustomAssert.ThrowsException<CodedArgumentNullException>(() => { ParameterValidationResult result = new ParameterValidationResult(42, Constants.ErrorMessage, new DummyConstraint()); result.GetObjectData(null, new System.Runtime.Serialization.StreamingContext()); }); }
public void Ctor_SerializationInfo_Success() { ParameterValidationResult result = new ParameterValidationResult(42, Constants.ErrorMessage, new NerdyDuck.ParameterValidation.Constraints.NullConstraint()); System.IO.MemoryStream Buffer = SerializationHelper.Serialize(result); ParameterValidationResult result2 = SerializationHelper.Deserialize<ParameterValidationResult>(Buffer); Assert.AreEqual(42, result2.HResult); Assert.AreEqual(Constants.ErrorMessage, result2.ErrorMessage); Assert.IsNotNull(result2.Constraint); }
/// <summary> /// Initializes a new instance of the <see cref="ParameterValidationResult"/> by using another <see cref="ParameterValidationResult"/> object. /// </summary> /// <param name="validationResult">The validation result object to copy.</param> public ParameterValidationResult(ParameterValidationResult validationResult) : base(validationResult) { if (validationResult == null) { throw new CodedArgumentNullException(Errors.CreateHResult(ErrorCodes.ParameterValidationResult_ctor_ResultNull), nameof(validationResult)); } mHResult = validationResult.HResult; mConstraint = validationResult.Constraint; }