public void Pass_New_ProjectParameter_InvalidDataType() { // Setup var name = Fakes.RandomString(); var value = Fakes.RandomString(); var scope = Fakes.RandomString(); var xmldoc = new XmlDocument(); var parameterXml = XmlGenerators.ProjectFileParameter(name, value, false, Fakes.RandomEnum <DataType>()); xmldoc.LoadXml(parameterXml); var dataTypeNode = xmldoc.SelectSingleNode("//*[@SSIS:Name=\"DataType\"]", xmldoc.GetNameSpaceManager()); if (dataTypeNode != null) { dataTypeNode.InnerText = "xyz"; } // Execute var parameter = new ProjectParameter(scope, xmldoc.DocumentElement); // Assert Assert.NotNull(parameter); Assert.Equal(null, parameter.ParameterDataType?.Name); }
public void Pass_SetValue(bool originalNull, bool setToNull, ParameterSource source) { // Setup var name = Fakes.RandomString(); var value = Fakes.RandomString(); var scope = Fakes.RandomString(); var xmldoc = new XmlDocument(); // var parameterXml = CreateProjectParameterXml(name, false, originalNull, value, DataType.String); var parameterXml = XmlGenerators.ProjectFileParameter(name, value, false, DataType.String, originalNull); xmldoc.LoadXml(parameterXml); // Execute var parameter = new ProjectParameter(scope, xmldoc.DocumentElement); var newValue = setToNull ? null : Fakes.RandomString(); parameter.SetValue(newValue, source); var testValueFromXml = xmldoc.SelectSingleNode("//*[@SSIS:Name=\"Value\"]", xmldoc.GetNameSpaceManager())?.InnerText; // Assert Assert.Equal(newValue, parameter.Value); Assert.Equal(source, parameter.Source); Assert.Equal(newValue, testValueFromXml); }
public void Fail_New_ProjectParameter_InvalidDataType() { // Setup var name = Fakes.RandomString(); var value = Fakes.RandomString(); var scope = Fakes.RandomString(); var xmldoc = new XmlDocument(); var parameterXml = XmlGenerators.ProjectFileParameter(name, value, false, Fakes.RandomEnum <DataType>()); xmldoc.LoadXml(parameterXml); var dataTypeNode = xmldoc.SelectSingleNode("//*[@SSIS:Name=\"DataType\"]", xmldoc.GetNameSpaceManager()); if (dataTypeNode != null) { dataTypeNode.InnerText = "xyz"; } // Execute var exception = Record.Exception(() => new ProjectParameter(scope, xmldoc.DocumentElement)); // Assert Assert.NotNull(exception); Assert.IsType <InvalidCastException>(exception); }
public void Fail_New_ProjectParameter_NoScope() { // Setup var name = Fakes.RandomString(); var value = Fakes.RandomString(); var xmldoc = new XmlDocument(); var parameterXml = XmlGenerators.ProjectFileParameter(name, value, false, Fakes.RandomEnum <DataType>()); xmldoc.LoadXml(parameterXml); // Execute var exception = Record.Exception(() => new ProjectParameter(null, xmldoc.DocumentElement)); // Assert Assert.NotNull(exception); Assert.IsType <ArgumentNullException>(exception); }
public void Pass_New_ProjectParameter_CoverDataTypes(DataType type) { // Setup var name = Fakes.RandomString(); var value = Fakes.RandomString(); var scope = Fakes.RandomString(); var xmldoc = new XmlDocument(); var parameterXml = XmlGenerators.ProjectFileParameter(name, value, false, type); xmldoc.LoadXml(parameterXml); // Execute var parameter = new ProjectParameter(scope, xmldoc.DocumentElement); // Assert Assert.NotNull(parameter); Assert.Equal((int)type == 1000 ? null : type.ToString("G"), parameter.ParameterDataType?.Name, StringComparer.InvariantCultureIgnoreCase); }
public void Pass_New_ProjectParameter_DataTypeValidation() { // Setup var name = Fakes.RandomString(); var value = "False"; var scope = Fakes.RandomString(); var xmldoc = new XmlDocument(); var parameterXml = XmlGenerators.ProjectFileParameter(name, value, false, DataType.Boolean); xmldoc.LoadXml(parameterXml); // Execute var parameter = new ProjectParameter(scope, xmldoc.DocumentElement); // Assert Assert.NotNull(parameter); Assert.Equal("false", parameter.Value); }
public void Fail_New_ProjectParameter_EmptyName() { // Setup var name = string.Empty; var value = Fakes.RandomString(); var xmldoc = new XmlDocument(); var parameterXml = XmlGenerators.ProjectFileParameter(name, value, Fakes.RandomBool(), Fakes.RandomEnum <DataType>(), Fakes.RandomBool()); xmldoc.LoadXml(parameterXml); // Execute var exception = Record.Exception(() => new ProjectParameter(Fakes.RandomString(), xmldoc.DocumentElement)); // Assert Assert.NotNull(exception); Assert.IsType <InvalidXmlException>(exception); Assert.Equal(xmldoc.DocumentElement?.OuterXml, ((InvalidXmlException)exception).NodeXml); Assert.NotNull(exception.Message); }
public void Pass_New_ProjectParameter(bool sensitive, bool withValue, DataType type) { // Setup var name = Fakes.RandomString(); var value = Fakes.RandomString(); var scope = Fakes.RandomString(); var xmldoc = new XmlDocument(); var parameterXml = XmlGenerators.ProjectFileParameter(name, value, sensitive, type, withValue); xmldoc.LoadXml(parameterXml); // Execute var parameter = new ProjectParameter(scope, xmldoc.DocumentElement); // Assert Assert.NotNull(parameter); Assert.Equal(withValue ? value : null, parameter.Value); Assert.Equal(type.ToString("G"), parameter.ParameterDataType.Name, StringComparer.InvariantCultureIgnoreCase); Assert.Equal(sensitive, parameter.Sensitive); Assert.Equal($"{scope}::{name}", parameter.Name); Assert.Equal(ParameterSource.Original, parameter.Source); }