public void AddConnection_ShouldAddConnection() { //Arrange var connect = new ConnectionInfo() { Database = string.Empty, LastConnection = false, Login = string.Empty, ServerUrl = string.Empty }; var currentConnectionCount = projectConfiguraiton.Connections.Count; //Act projectConfiguraiton.AddConnection(connect); //Assert Assert.AreEqual(currentConnectionCount + 1, projectConfiguraiton.Connections.Count); }
private IProjectConfiguraiton MapXmlDocToProjectConfig(IProjectConfiguraiton projectConfiguration, XmlDocument xmlDoc) { projectConfiguration.LastSelectedDir = xmlDoc.SelectSingleNode("projectinfo/lastSelectedDir")?.InnerText; projectConfiguration.LastSelectedMfFile = xmlDoc.SelectSingleNode("projectinfo/lastSelectedMfFile")?.InnerText; bool.TryParse(xmlDoc.SelectSingleNode("projectinfo/useVSFormatting")?.InnerText, out bool isUsedVSFormatting); projectConfiguration.UseVSFormatting = isUsedVSFormatting; bool.TryParse(xmlDoc.SelectSingleNode("projectinfo/UseCommonProjectStructure")?.InnerText, out bool isUsedCommonProjectStructure); projectConfiguration.UseCommonProjectStructure = isUsedCommonProjectStructure; projectConfiguration.LastSelectedSearchTypeInOpenFromPackage = xmlDoc.SelectSingleNode("projectinfo/OpenFromPackageLastSearchType")?.InnerText; projectConfiguration.MethodsFolderPath = xmlDoc.SelectSingleNode("projectinfo/MethodsFolderPath")?.InnerText ?? DefaultMethodsFolderPath; projectConfiguration.MethodConfigPath = xmlDoc.SelectSingleNode("projectinfo/MethodConfigPath")?.InnerText ?? DefaultMethodConfigFilePath; projectConfiguration.IOMFilePath = xmlDoc.SelectSingleNode("projectinfo/IOMFilePath")?.InnerText ?? DefaultIOMDllFilePath; var connectionInfoXmlNodes = xmlDoc.SelectNodes("projectinfo/connections/connectionInfo"); foreach (XmlNode connectionInfoNode in connectionInfoXmlNodes) { var connectionInfo = new ConnectionInfo(); connectionInfo.ServerUrl = connectionInfoNode.SelectSingleNode("serverUrl").InnerText; connectionInfo.Database = connectionInfoNode.SelectSingleNode("databaseName").InnerText; connectionInfo.Login = connectionInfoNode.SelectSingleNode("login").InnerText; bool value; if (bool.TryParse(connectionInfoNode.SelectSingleNode("lastConnection")?.InnerText, out value)) { connectionInfo.LastConnection = value; } projectConfiguration.AddConnection(connectionInfo); } var methodInfoXmlNodes = xmlDoc.SelectNodes("projectinfo/methods/methodInfo"); foreach (XmlNode methodInfoNode in methodInfoXmlNodes) { XmlNode manifestFileNameNode = methodInfoNode.SelectSingleNode("manifestFileName"); MethodInfo methodInfo; if (manifestFileNameNode != null) { methodInfo = new PackageMethodInfo() { ManifestFileName = manifestFileNameNode.InnerText }; } else { methodInfo = new MethodInfo(); } methodInfo.InnovatorMethodConfigId = methodInfoNode.SelectSingleNode("configId").InnerText; methodInfo.InnovatorMethodId = methodInfoNode.SelectSingleNode("id").InnerText; methodInfo.MethodName = methodInfoNode.SelectSingleNode("methodName").InnerText; methodInfo.MethodType = methodInfoNode.SelectSingleNode("methodType").InnerText; methodInfo.MethodComment = methodInfoNode.SelectSingleNode("comments")?.InnerText; methodInfo.MethodLanguage = methodInfoNode.SelectSingleNode("language").InnerText; methodInfo.TemplateName = methodInfoNode.SelectSingleNode("templateName").InnerText; methodInfo.Package = new PackageInfo(methodInfoNode.SelectSingleNode("packageName").InnerText); EventSpecificData eventData; if (Enum.TryParse(methodInfoNode.SelectSingleNode("eventData")?.InnerText, out eventData)) { methodInfo.EventData = eventData; } else { methodInfo.EventData = EventSpecificData.None; } XmlNode executionAllowedTo = methodInfoNode.SelectSingleNode("executionAllowedTo"); XmlAttribute executionAllowedKeyedName = executionAllowedTo.Attributes["keyedName"]; methodInfo.ExecutionAllowedToId = executionAllowedTo.InnerText; methodInfo.ExecutionAllowedToKeyedName = executionAllowedKeyedName.InnerText; projectConfiguration.MethodInfos.Add(methodInfo); } var searchItemNodes = xmlDoc.SelectNodes("projectinfo/lastSavedSearch/searchItem"); foreach (XmlNode searchItemNode in searchItemNodes) { string itemTypeName = searchItemNode.Attributes["itemTypeName"]?.InnerText; if (string.IsNullOrEmpty(itemTypeName)) { continue; } var properties = new List <PropertyInfo>(); var propertyNodes = searchItemNode.SelectNodes("property"); foreach (XmlNode propertyNode in propertyNodes) { var savedSearch = new PropertyInfo(); savedSearch.PropertyName = propertyNode.SelectSingleNode("propertyName").InnerText; savedSearch.PropertyValue = propertyNode.SelectSingleNode("propertyValue").InnerText; properties.Add(savedSearch); } projectConfiguration.LastSavedSearch.Add(itemTypeName, properties); } return(projectConfiguration); }