public void Pass_New_NoParameters() { // Setup var parameters = new Dictionary <string, string> (); var name = Fakes.RandomString(); var xml = XmlGenerators.ConfigurationFile(name, parameters); var xmlDoc = new XmlDocument(); xmlDoc.LoadXml(xml); // Execute var config = new Configuration(name); using (var stream = new MemoryStream()) { using (var writer = new StreamWriter(stream)) { writer.Write(xml); writer.Flush(); stream.Position = 0; config.Initialize(stream, null); } } // Assert Assert.NotNull(config.Parameters); Assert.True(config.Parameters.Count == 0); }
public void Fail_New_NoConfiguration() { // Setup var parameters = new Dictionary <string, string>(); var name = Fakes.RandomString(); var xml = XmlGenerators.ConfigurationFile(Fakes.RandomString(), parameters); var xmlDoc = new XmlDocument(); xmlDoc.LoadXml(xml); // Execute var config = new Configuration(name); Exception exception; using (var stream = new MemoryStream()) { using (var writer = new StreamWriter(stream)) { writer.Write(xml); writer.Flush(); stream.Position = 0; exception = Record.Exception(() => config.Initialize(stream, null)); } } // Assert Assert.NotNull(exception); Assert.IsType <InvalidConfigurationNameException>(exception); Assert.Equal(name, (exception as InvalidConfigurationNameException)?.ConfigurationName); }
public void Pass_New() { // Setup var parameters = new Dictionary <string, string> { { Fakes.RandomString(), Fakes.RandomString() }, { Fakes.RandomString(), Fakes.RandomString() } }; var name = Fakes.RandomString(); var xml = XmlGenerators.ConfigurationFile(name, parameters); var xmlDoc = new XmlDocument(); xmlDoc.LoadXml(xml); // Execute var config = new Configuration(name); using (var stream = new MemoryStream()) { using (var writer = new StreamWriter(stream)) { writer.Write(xml); writer.Flush(); stream.Position = 0; config.Initialize(stream, null); } } // Assert Assert.NotNull(config.Parameters); foreach (var parameter in parameters) { Assert.True(config.Parameters.ContainsKey(parameter.Key)); Assert.Equal(parameter.Value, config.Parameters[parameter.Key].Value); } }
internal void CreateDtprojFiles(string projectName, string configurationName) { var packages = new[] { $"p_{Fakes.RandomString()}.dtsx", $"p_{Fakes.RandomString()}.dtsx" }; var connections = new[] { $"c_{Fakes.RandomString()}.conmgr", $"c_{Fakes.RandomString()}.conmgr" }; var paramName = Fakes.RandomString(); var projectParamsXml = XmlGenerators.ProjectParamsFile(new List <ParameterSetupData>() { { new ParameterSetupData { Value = Fakes.RandomString(), Name = paramName, DataType = DataType.String, Sensitive = false } } }); var projectManifestXml = XmlGenerators.ProjectManifestFile(ProtectionLevel.DontSaveSensitive, 1, 2, Fakes.RandomString(), 3, "Descr", packages, connections, new[] { new ParameterSetupData() { Value = Fakes.RandomString(), DataType = DataType.String, Name = Fakes.RandomString(), Sensitive = false }, }); var configurationXml = XmlGenerators.ConfigurationFile(configurationName, new Dictionary <string, string>() { { $"Project::{paramName}", Fakes.RandomString() } }); var configurationsXmlDoc = new XmlDocument(); configurationsXmlDoc.LoadXml(configurationXml); var userConfigurationXml = XmlGenerators.UserConfigurationFile(configurationName, new Dictionary <string, string>() { { $"Project::{paramName}", Fakes.RandomString() } }); var dtprojXml = $@"<?xml version=""1.0"" encoding=""utf-8""?> <Project xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"" xmlns:xsd=""http://www.w3.org/2001/XMLSchema""> <DeploymentModel>Project</DeploymentModel> <DeploymentModelSpecificContent> <Manifest> {projectManifestXml} </Manifest> </DeploymentModelSpecificContent> <Configurations> {configurationsXmlDoc.SelectSingleNode("//Configuration", configurationsXmlDoc.GetNameSpaceManager())?.OuterXml} </Configurations> </Project>"; var dtproj = projectName; File.WriteAllText(Path.Combine(_workingFolder, dtproj), dtprojXml); File.WriteAllText(Path.Combine(_workingFolder, "Project.params"), projectParamsXml); File.WriteAllText($"{Path.Combine(_workingFolder, dtproj)}.user", userConfigurationXml); foreach (var package in packages) { var packageXml = XmlGenerators.PackageFile(Fakes.RandomString(), (int)ProtectionLevel.EncryptSensitiveWithPassword, Fakes.RandomString()); File.WriteAllText($"{Path.Combine(_workingFolder, package)}", packageXml); } foreach (var connection in connections) { var projectConnectionsXml = XmlGenerators.ProjectConnectionsFile(); File.WriteAllText($"{Path.Combine(_workingFolder, connection)}", projectConnectionsXml); } }