public void Import(string fileName, ContainerInfo destinationContainer) { if (fileName == null) { Runtime.MessageCollector.AddMessage(MessageClass.ErrorMsg, "Unable to import file. File path is null."); return; } if (!File.Exists(fileName)) { Runtime.MessageCollector.AddMessage(MessageClass.ErrorMsg, $"Unable to import file. File does not exist. Path: {fileName}"); } var dataProvider = new FileDataProvider(fileName); var xmlString = dataProvider.Load(); var xmlConnectionsDeserializer = new XmlConnectionsDeserializer(); var connectionTreeModel = xmlConnectionsDeserializer.Deserialize(xmlString, true); var rootImportContainer = new ContainerInfo { Name = Path.GetFileNameWithoutExtension(fileName) }; rootImportContainer.AddChildRange(connectionTreeModel.RootNodes.First().Children.ToArray()); destinationContainer.AddChild(rootImportContainer); }
public ConnectionTreeModel Load() { var dataProvider = new FileDataProvider(_connectionFilePath); var xmlString = dataProvider.Load(); var deserializer = new XmlConnectionsDeserializer(PromptForPassword); return(deserializer.Deserialize(xmlString)); }
public void Setup(string confCons, string password) { _xmlConnectionsDeserializer = new XmlConnectionsDeserializer(confCons) { AuthenticationRequestor = password.ConvertToSecureString }; _connectionTreeModel = _xmlConnectionsDeserializer.Deserialize(); }
public void SerializeThenDeserialize() { var originalModel = SetupConnectionTreeModel(); var serializedContent = _serializer.Serialize(originalModel); _deserializer = new XmlConnectionsDeserializer(serializedContent); var deserializedModel = _deserializer.Deserialize(); var nodeNamesFromDeserializedModel = deserializedModel.GetRecursiveChildList().Select(node => node.Name); var nodeNamesFromOriginalModel = originalModel.GetRecursiveChildList().Select(node => node.Name); Assert.That(nodeNamesFromDeserializedModel, Is.EquivalentTo(nodeNamesFromOriginalModel)); }
public void Setup() { _originalModel = SetupConnectionTreeModel(); var cryptoProvider = _cryptoFactory.Build(); var nodeSerializer = new XmlConnectionNodeSerializer27( cryptoProvider, _originalModel.RootNodes.OfType <RootNodeInfo>().First().PasswordString.ConvertToSecureString(), new SaveFilter()); _serializer = new XmlConnectionsSerializer(cryptoProvider, nodeSerializer); _deserializer = new XmlConnectionsDeserializer(); }
public void SerializeAndDeserializePropertiesWithInternationalCharacters() { var originalConnectionInfo = new ConnectionInfo { Name = "con1", Password = "******" }; var serializedContent = _serializer.Serialize(originalConnectionInfo); _deserializer = new XmlConnectionsDeserializer(serializedContent); var deserializedModel = _deserializer.Deserialize(); var deserializedConnectionInfo = deserializedModel.GetRecursiveChildList().First(node => node.Name == originalConnectionInfo.Name); Assert.That(deserializedConnectionInfo.Password, Is.EqualTo(originalConnectionInfo.Password)); }
public void Import(string fileName, ContainerInfo destinationContainer) { var dataProvider = new FileDataProvider(fileName); var xmlString = dataProvider.Load(); var xmlConnectionsDeserializer = new XmlConnectionsDeserializer(xmlString); var connectionTreeModel = xmlConnectionsDeserializer.Deserialize(true); var rootImportContainer = new ContainerInfo { Name = Path.GetFileNameWithoutExtension(fileName) }; rootImportContainer.Children.AddRange(connectionTreeModel.RootNodes.First().Children); destinationContainer.AddChild(rootImportContainer); }
public void SerializeAndDeserializeWithCustomKdfIterationsValue() { var cryptoProvider = new CryptographyProviderFactory().CreateAeadCryptographyProvider(BlockCipherEngines.AES, BlockCipherModes.GCM); cryptoProvider.KeyDerivationIterations = 5000; _serializer = new XmlConnectionsSerializer(cryptoProvider); var originalModel = SetupConnectionTreeModel(); var serializedContent = _serializer.Serialize(originalModel); _deserializer = new XmlConnectionsDeserializer(serializedContent); var deserializedModel = _deserializer.Deserialize(); var nodeNamesFromDeserializedModel = deserializedModel.GetRecursiveChildList().Select(node => node.Name); var nodeNamesFromOriginalModel = originalModel.GetRecursiveChildList().Select(node => node.Name); Assert.That(nodeNamesFromDeserializedModel, Is.EquivalentTo(nodeNamesFromOriginalModel)); }
public ConnectionTreeModel LoadConnections(bool import) { IDeserializer deserializer; if (UseDatabase) { var connector = new SqlDatabaseConnector(); var dataProvider = new SqlDataProvider(connector); var dataTable = dataProvider.Load(); deserializer = new DataTableDeserializer(dataTable); } else { var dataProvider = new FileDataProvider(ConnectionFileName); var xmlString = dataProvider.Load(); deserializer = new XmlConnectionsDeserializer(xmlString) { AuthenticationRequestor = PromptForPassword }; } var connectionTreeModel = deserializer.Deserialize(); if (connectionTreeModel != null) { frmMain.Default.ConnectionsFileName = ConnectionFileName; } else { connectionTreeModel = new ConnectionTreeModel(); } if (import) { return(connectionTreeModel); } PuttySessionsManager.Instance.AddSessions(); connectionTreeModel.RootNodes.AddRange(PuttySessionsManager.Instance.RootPuttySessionsNodes); return(connectionTreeModel); }
public void Teardown() { _xmlConnectionsDeserializer = null; _connectionTreeModel = null; }
public void Setup(string confCons, string password) { _xmlConnectionsDeserializer = new XmlConnectionsDeserializer(confCons, password.ConvertToSecureString); _connectionTreeModel = _xmlConnectionsDeserializer.Deserialize(); }
public void Teardown() { _serializer = null; _deserializer = null; }
public void Setup() { _xmlConnectionsDeserializer = new XmlConnectionsDeserializer(Resources.TestConfCons); _connectionTreeModel = _xmlConnectionsDeserializer.Deserialize(); }