mirror of
https://github.com/mRemoteNG/mRemoteNG.git
synced 2026-02-17 22:11:48 +08:00
reduced duplication in rdcm tests
This commit is contained in:
@@ -1,276 +0,0 @@
|
||||
using mRemoteNG.Config.Serializers;
|
||||
using mRemoteNG.Connection.Protocol;
|
||||
using mRemoteNG.Connection.Protocol.RDP;
|
||||
using mRemoteNG.Container;
|
||||
using mRemoteNGTests.Properties;
|
||||
using NUnit.Framework;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
|
||||
namespace mRemoteNGTests.Config.Serializers.MiscSerializers
|
||||
{
|
||||
public class RemoteDesktopConnectionManager27DeserializerTests
|
||||
{
|
||||
private string _connectionFileContents;
|
||||
private RemoteDesktopConnectionManagerDeserializer _deserializer;
|
||||
private SerializationResult _serializationResult;
|
||||
private ContainerInfo _rootContainerInfo;
|
||||
private const string ExpectedName = "server1_displayname";
|
||||
private const string ExpectedHostname = "server1";
|
||||
private const string ExpectedDescription = "Comment text here";
|
||||
private const string ExpectedUsername = "myusername1";
|
||||
private const string ExpectedDomain = "mydomain";
|
||||
private const string ExpectedPassword = "passwordHere!";
|
||||
private const bool ExpectedUseConsoleSession = true;
|
||||
private const int ExpectedPort = 9933;
|
||||
private const RdpProtocol.RDGatewayUsageMethod ExpectedGatewayUsageMethod = RdpProtocol.RDGatewayUsageMethod.Always;
|
||||
private const string ExpectedGatewayHostname = "gatewayserverhost.innerdomain.net";
|
||||
private const string ExpectedGatewayUsername = "gatewayusername";
|
||||
private const string ExpectedGatewayDomain = "innerdomain";
|
||||
private const string ExpectedGatewayPassword = "gatewayPassword123";
|
||||
private const RdpProtocol.RDPResolutions ExpectedRdpResolution = RdpProtocol.RDPResolutions.FitToWindow;
|
||||
private const RdpProtocol.RDPColors ExpectedRdpColorDepth = RdpProtocol.RDPColors.Colors24Bit;
|
||||
private const RdpProtocol.RDPSounds ExpectedAudioRedirection = RdpProtocol.RDPSounds.DoNotPlay;
|
||||
private const bool ExpectedKeyRedirection = true;
|
||||
private const bool ExpectedSmartcardRedirection = true;
|
||||
private const bool ExpectedDriveRedirection = true;
|
||||
private const bool ExpectedPortRedirection = true;
|
||||
private const bool ExpectedPrinterRedirection = true;
|
||||
private const RdpProtocol.AuthenticationLevel ExpectedAuthLevel = RdpProtocol.AuthenticationLevel.WarnOnFailedAuth;
|
||||
|
||||
|
||||
[OneTimeSetUp]
|
||||
public void OnetimeSetup()
|
||||
{
|
||||
_connectionFileContents = Resources.test_rdcman_v2_7_schema3;
|
||||
_deserializer = new RemoteDesktopConnectionManagerDeserializer();
|
||||
_serializationResult = _deserializer.Deserialize(_connectionFileContents);
|
||||
_rootContainerInfo = _serializationResult.ConnectionRecords.OfType<ContainerInfo>().First();
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void AllSubRootFoldersImported()
|
||||
{
|
||||
var rootNodeContents = _rootContainerInfo.Children.Count(node => node.Name == "Group1" || node.Name == "Group2");
|
||||
Assert.That(rootNodeContents, Is.EqualTo(2));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void ConnectionDisplayNameImported()
|
||||
{
|
||||
var group1 = _rootContainerInfo.Children.OfType<ContainerInfo>().First(node => node.Name == "Group1");
|
||||
var connection = group1.Children.First();
|
||||
Assert.That(connection.Name, Is.EqualTo(ExpectedName));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void ConnectionHostnameImported()
|
||||
{
|
||||
var group1 = _rootContainerInfo.Children.OfType<ContainerInfo>().First(node => node.Name == "Group1");
|
||||
var connection = group1.Children.First();
|
||||
Assert.That(connection.Hostname, Is.EqualTo(ExpectedHostname));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void ConnectionDescriptionImported()
|
||||
{
|
||||
var group1 = _rootContainerInfo.Children.OfType<ContainerInfo>().First(node => node.Name == "Group1");
|
||||
var connection = group1.Children.First();
|
||||
Assert.That(connection.Description, Is.EqualTo(ExpectedDescription));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void CredentialIdCorrectlySet()
|
||||
{
|
||||
var group1 = _rootContainerInfo.Children.OfType<ContainerInfo>().First(node => node.Name == "Group1");
|
||||
var connection = group1.Children.First();
|
||||
var cred = _serializationResult.ConnectionToCredentialMap.DistinctCredentialRecords.First();
|
||||
Assert.That(connection.CredentialRecordId.FirstOrDefault(), Is.EqualTo(cred.Id));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void ConnectionUsernameImported()
|
||||
{
|
||||
var cred = _serializationResult.ConnectionToCredentialMap.DistinctCredentialRecords.First();
|
||||
Assert.That(cred.Username, Is.EqualTo(ExpectedUsername));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void ConnectionDomainImported()
|
||||
{
|
||||
var cred = _serializationResult.ConnectionToCredentialMap.DistinctCredentialRecords.First();
|
||||
Assert.That(cred.Domain, Is.EqualTo(ExpectedDomain));
|
||||
}
|
||||
|
||||
// Since password is encrypted with a machine key, cant test decryption on another machine
|
||||
//[Test]
|
||||
//public void ConnectionPasswordImported()
|
||||
//{
|
||||
// var rootNode = _connectionTreeModel.RootNodes.First();
|
||||
// var importedRdcmanRootNode = rootNode.Children.OfType<ContainerInfo>().First();
|
||||
// var group1 = importedRdcmanRootNode.Children.OfType<ContainerInfo>().First(node => node.Name == "Group1");
|
||||
// var connection = group1.Children.First();
|
||||
// Assert.That(connection.Password, Is.EqualTo(ExpectedPassword));
|
||||
//}
|
||||
|
||||
[Test]
|
||||
public void ConnectionProtocolSetToRdp()
|
||||
{
|
||||
var group1 = _rootContainerInfo.Children.OfType<ContainerInfo>().First(node => node.Name == "Group1");
|
||||
var connection = group1.Children.First();
|
||||
Assert.That(connection.Protocol, Is.EqualTo(ProtocolType.RDP));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void ConnectionUseConsoleSessionImported()
|
||||
{
|
||||
var group1 = _rootContainerInfo.Children.OfType<ContainerInfo>().First(node => node.Name == "Group1");
|
||||
var connection = group1.Children.First();
|
||||
Assert.That(connection.UseConsoleSession, Is.EqualTo(ExpectedUseConsoleSession));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void ConnectionPortImported()
|
||||
{
|
||||
var group1 = _rootContainerInfo.Children.OfType<ContainerInfo>().First(node => node.Name == "Group1");
|
||||
var connection = group1.Children.First();
|
||||
Assert.That(connection.Port, Is.EqualTo(ExpectedPort));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void ConnectionGatewayUsageMethodImported()
|
||||
{
|
||||
var group1 = _rootContainerInfo.Children.OfType<ContainerInfo>().First(node => node.Name == "Group1");
|
||||
var connection = group1.Children.First();
|
||||
Assert.That(connection.RDGatewayUsageMethod, Is.EqualTo(ExpectedGatewayUsageMethod));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void ConnectionGatewayHostnameImported()
|
||||
{
|
||||
var group1 = _rootContainerInfo.Children.OfType<ContainerInfo>().First(node => node.Name == "Group1");
|
||||
var connection = group1.Children.First();
|
||||
Assert.That(connection.RDGatewayHostname, Is.EqualTo(ExpectedGatewayHostname));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void ConnectionGatewayUsernameImported()
|
||||
{
|
||||
var group1 = _rootContainerInfo.Children.OfType<ContainerInfo>().First(node => node.Name == "Group1");
|
||||
var connection = group1.Children.First();
|
||||
Assert.That(connection.RDGatewayUsername, Is.EqualTo(ExpectedGatewayUsername));
|
||||
}
|
||||
|
||||
// Since password is encrypted with a machine key, cant test decryption on another machine
|
||||
//[Test]
|
||||
//public void ConnectionGatewayPasswordImported()
|
||||
//{
|
||||
// var rootNode = _connectionTreeModel.RootNodes.First();
|
||||
// var importedRdcmanRootNode = rootNode.Children.OfType<ContainerInfo>().First();
|
||||
// var group1 = importedRdcmanRootNode.Children.OfType<ContainerInfo>().First(node => node.Name == "Group1");
|
||||
// var connection = group1.Children.First();
|
||||
// Assert.That(connection.RDGatewayPassword, Is.EqualTo(ExpectedGatewayPassword));
|
||||
//}
|
||||
|
||||
[Test]
|
||||
public void ConnectionGatewayDomainImported()
|
||||
{
|
||||
var group1 = _rootContainerInfo.Children.OfType<ContainerInfo>().First(node => node.Name == "Group1");
|
||||
var connection = group1.Children.First();
|
||||
Assert.That(connection.RDGatewayDomain, Is.EqualTo(ExpectedGatewayDomain));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void ConnectionResolutionImported()
|
||||
{
|
||||
var group1 = _rootContainerInfo.Children.OfType<ContainerInfo>().First(node => node.Name == "Group1");
|
||||
var connection = group1.Children.First();
|
||||
Assert.That(connection.Resolution, Is.EqualTo(ExpectedRdpResolution));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void ConnectionColorDepthImported()
|
||||
{
|
||||
var group1 = _rootContainerInfo.Children.OfType<ContainerInfo>().First(node => node.Name == "Group1");
|
||||
var connection = group1.Children.First();
|
||||
Assert.That(connection.Colors, Is.EqualTo(ExpectedRdpColorDepth));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void ConnectionAudioRedirectionImported()
|
||||
{
|
||||
var group1 = _rootContainerInfo.Children.OfType<ContainerInfo>().First(node => node.Name == "Group1");
|
||||
var connection = group1.Children.First();
|
||||
Assert.That(connection.RedirectSound, Is.EqualTo(ExpectedAudioRedirection));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void ConnectionKeyRedirectionImported()
|
||||
{
|
||||
var group1 = _rootContainerInfo.Children.OfType<ContainerInfo>().First(node => node.Name == "Group1");
|
||||
var connection = group1.Children.First();
|
||||
Assert.That(connection.RedirectKeys, Is.EqualTo(ExpectedKeyRedirection));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void ConnectionDriveRedirectionImported()
|
||||
{
|
||||
var group1 = _rootContainerInfo.Children.OfType<ContainerInfo>().First(node => node.Name == "Group1");
|
||||
var connection = group1.Children.First();
|
||||
Assert.That(connection.RedirectDiskDrives, Is.EqualTo(ExpectedDriveRedirection));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void ConnectionPortRedirectionImported()
|
||||
{
|
||||
var group1 = _rootContainerInfo.Children.OfType<ContainerInfo>().First(node => node.Name == "Group1");
|
||||
var connection = group1.Children.First();
|
||||
Assert.That(connection.RedirectPorts, Is.EqualTo(ExpectedPortRedirection));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void ConnectionPrinterRedirectionImported()
|
||||
{
|
||||
var group1 = _rootContainerInfo.Children.OfType<ContainerInfo>().First(node => node.Name == "Group1");
|
||||
var connection = group1.Children.First();
|
||||
Assert.That(connection.RedirectPrinters, Is.EqualTo(ExpectedPrinterRedirection));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void ConnectionSmartcardRedirectionImported()
|
||||
{
|
||||
var group1 = _rootContainerInfo.Children.OfType<ContainerInfo>().First(node => node.Name == "Group1");
|
||||
var connection = group1.Children.First();
|
||||
Assert.That(connection.RedirectSmartCards, Is.EqualTo(ExpectedSmartcardRedirection));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void ConnectionauthenticationLevelImported()
|
||||
{
|
||||
var group1 = _rootContainerInfo.Children.OfType<ContainerInfo>().First(node => node.Name == "Group1");
|
||||
var connection = group1.Children.First();
|
||||
Assert.That(connection.RDPAuthenticationLevel, Is.EqualTo(ExpectedAuthLevel));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void ExceptionThrownOnBadSchemaVersion()
|
||||
{
|
||||
var badFileContents = Resources.test_rdcman_v2_2_badschemaversion;
|
||||
Assert.That(() => _deserializer.Deserialize(badFileContents), Throws.TypeOf<FileFormatException>());
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void ExceptionThrownOnUnsupportedVersion()
|
||||
{
|
||||
var badFileContents = Resources.test_rdcman_badVersionNumber;
|
||||
Assert.That(() => _deserializer.Deserialize(badFileContents), Throws.TypeOf<FileFormatException>());
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void ExceptionThrownOnNoVersion()
|
||||
{
|
||||
var badFileContents = Resources.test_rdcman_noversion;
|
||||
Assert.That(() => _deserializer.Deserialize(badFileContents), Throws.TypeOf<FileFormatException>());
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,4 +1,5 @@
|
||||
using mRemoteNG.Config.Serializers;
|
||||
using System.Collections.Generic;
|
||||
using mRemoteNG.Config.Serializers;
|
||||
using mRemoteNG.Connection.Protocol;
|
||||
using mRemoteNG.Connection.Protocol.RDP;
|
||||
using mRemoteNG.Container;
|
||||
@@ -6,14 +7,16 @@ using mRemoteNGTests.Properties;
|
||||
using NUnit.Framework;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using mRemoteNGTests.Tools;
|
||||
|
||||
namespace mRemoteNGTests.Config.Serializers.MiscSerializers
|
||||
{
|
||||
[TestFixtureSource(nameof(TestFixtureData))]
|
||||
public class RemoteDesktopConnectionManagerDeserializerTests
|
||||
{
|
||||
private string _connectionFileContents;
|
||||
private RemoteDesktopConnectionManagerDeserializer _deserializer;
|
||||
private SerializationResult _serializationResult;
|
||||
private readonly RemoteDesktopConnectionManagerDeserializer _deserializer;
|
||||
private readonly SerializationResult _serializationResult;
|
||||
private readonly ContainerInfo _rootContainerInfo;
|
||||
private const string ExpectedName = "server1_displayname";
|
||||
private const string ExpectedHostname = "server1";
|
||||
private const string ExpectedDescription = "Comment text here";
|
||||
@@ -35,28 +38,35 @@ namespace mRemoteNGTests.Config.Serializers.MiscSerializers
|
||||
private const bool ExpectedDriveRedirection = true;
|
||||
private const bool ExpectedPortRedirection = true;
|
||||
private const bool ExpectedPrinterRedirection = true;
|
||||
private const RdpProtocol.AuthenticationLevel ExpectedAuthLevel = RdpProtocol.AuthenticationLevel.AuthRequired;
|
||||
private const RdpProtocol.AuthenticationLevel ExpectedAuthLevel = RdpProtocol.AuthenticationLevel.WarnOnFailedAuth;
|
||||
|
||||
|
||||
[OneTimeSetUp]
|
||||
public void OnetimeSetup()
|
||||
private static IEnumerable<TestFixtureData> TestFixtureData()
|
||||
{
|
||||
return new[]
|
||||
{
|
||||
new TestFixtureData(Resources.test_rdcman_v2_2_schema1).SetName("RDCM_v2_2"),
|
||||
new TestFixtureData(Resources.test_rdcman_v2_7_schema3).SetName("RDCM_v2_7"),
|
||||
};
|
||||
}
|
||||
|
||||
public RemoteDesktopConnectionManagerDeserializerTests(string rdcmFileContents)
|
||||
{
|
||||
_connectionFileContents = Resources.test_rdcman_v2_2_schema1;
|
||||
_deserializer = new RemoteDesktopConnectionManagerDeserializer();
|
||||
_serializationResult = _deserializer.Deserialize(_connectionFileContents);
|
||||
_serializationResult = _deserializer.Deserialize(rdcmFileContents);
|
||||
_rootContainerInfo = _serializationResult.ConnectionRecords.OfType<ContainerInfo>().First();
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void AllSubRootFoldersImported()
|
||||
{
|
||||
var rootNodeContents = _serializationResult.ConnectionRecords.Count(node => node.Name == "Group1" || node.Name == "Group2");
|
||||
var rootNodeContents = _rootContainerInfo.Children.Count(node => node.Name == "Group1" || node.Name == "Group2");
|
||||
Assert.That(rootNodeContents, Is.EqualTo(2));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void ConnectionDisplayNameImported()
|
||||
{
|
||||
var group1 = _serializationResult.ConnectionRecords.OfType<ContainerInfo>().First(node => node.Name == "Group1");
|
||||
var group1 = _rootContainerInfo.Children.OfType<ContainerInfo>().First(node => node.Name == "Group1");
|
||||
var connection = group1.Children.First();
|
||||
Assert.That(connection.Name, Is.EqualTo(ExpectedName));
|
||||
}
|
||||
@@ -64,7 +74,7 @@ namespace mRemoteNGTests.Config.Serializers.MiscSerializers
|
||||
[Test]
|
||||
public void ConnectionHostnameImported()
|
||||
{
|
||||
var group1 = _serializationResult.ConnectionRecords.OfType<ContainerInfo>().First(node => node.Name == "Group1");
|
||||
var group1 = _rootContainerInfo.Children.OfType<ContainerInfo>().First(node => node.Name == "Group1");
|
||||
var connection = group1.Children.First();
|
||||
Assert.That(connection.Hostname, Is.EqualTo(ExpectedHostname));
|
||||
}
|
||||
@@ -72,25 +82,32 @@ namespace mRemoteNGTests.Config.Serializers.MiscSerializers
|
||||
[Test]
|
||||
public void ConnectionDescriptionImported()
|
||||
{
|
||||
var group1 = _serializationResult.ConnectionRecords.OfType<ContainerInfo>().First(node => node.Name == "Group1");
|
||||
var group1 = _rootContainerInfo.Children.OfType<ContainerInfo>().First(node => node.Name == "Group1");
|
||||
var connection = group1.Children.First();
|
||||
Assert.That(connection.Description, Is.EqualTo(ExpectedDescription));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void CredentialIdCorrectlySet()
|
||||
{
|
||||
var group1 = _rootContainerInfo.Children.OfType<ContainerInfo>().First(node => node.Name == "Group1");
|
||||
var connection = group1.Children.First();
|
||||
var cred = _serializationResult.ConnectionToCredentialMap.DistinctCredentialRecords.First();
|
||||
Assert.That(connection.CredentialRecordId.FirstOrDefault(), Is.EqualTo(cred.Id));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void ConnectionUsernameImported()
|
||||
{
|
||||
var group1 = _serializationResult.ConnectionRecords.OfType<ContainerInfo>().First(node => node.Name == "Group1");
|
||||
var connection = group1.Children.First();
|
||||
Assert.That(connection.CredentialRecord.Username, Is.EqualTo(ExpectedUsername));
|
||||
var cred = _serializationResult.ConnectionToCredentialMap.DistinctCredentialRecords.First();
|
||||
Assert.That(cred.Username, Is.EqualTo(ExpectedUsername));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void ConnectionDomainImported()
|
||||
{
|
||||
var group1 = _serializationResult.ConnectionRecords.OfType<ContainerInfo>().First(node => node.Name == "Group1");
|
||||
var connection = group1.Children.First();
|
||||
Assert.That(connection.CredentialRecord.Domain, Is.EqualTo(ExpectedDomain));
|
||||
var cred = _serializationResult.ConnectionToCredentialMap.DistinctCredentialRecords.First();
|
||||
Assert.That(cred.Domain, Is.EqualTo(ExpectedDomain));
|
||||
}
|
||||
|
||||
// Since password is encrypted with a machine key, cant test decryption on another machine
|
||||
@@ -99,7 +116,7 @@ namespace mRemoteNGTests.Config.Serializers.MiscSerializers
|
||||
//{
|
||||
// var rootNode = _connectionTreeModel.RootNodes.First();
|
||||
// var importedRdcmanRootNode = rootNode.Children.OfType<ContainerInfo>().First();
|
||||
// var group1 = _serializationResult.ConnectionRecords.OfType<ContainerInfo>().First(node => node.Name == "Group1");
|
||||
// var group1 = importedRdcmanRootNode.Children.OfType<ContainerInfo>().First(node => node.Name == "Group1");
|
||||
// var connection = group1.Children.First();
|
||||
// Assert.That(connection.Password, Is.EqualTo(ExpectedPassword));
|
||||
//}
|
||||
@@ -107,7 +124,7 @@ namespace mRemoteNGTests.Config.Serializers.MiscSerializers
|
||||
[Test]
|
||||
public void ConnectionProtocolSetToRdp()
|
||||
{
|
||||
var group1 = _serializationResult.ConnectionRecords.OfType<ContainerInfo>().First(node => node.Name == "Group1");
|
||||
var group1 = _rootContainerInfo.Children.OfType<ContainerInfo>().First(node => node.Name == "Group1");
|
||||
var connection = group1.Children.First();
|
||||
Assert.That(connection.Protocol, Is.EqualTo(ProtocolType.RDP));
|
||||
}
|
||||
@@ -115,7 +132,7 @@ namespace mRemoteNGTests.Config.Serializers.MiscSerializers
|
||||
[Test]
|
||||
public void ConnectionUseConsoleSessionImported()
|
||||
{
|
||||
var group1 = _serializationResult.ConnectionRecords.OfType<ContainerInfo>().First(node => node.Name == "Group1");
|
||||
var group1 = _rootContainerInfo.Children.OfType<ContainerInfo>().First(node => node.Name == "Group1");
|
||||
var connection = group1.Children.First();
|
||||
Assert.That(connection.UseConsoleSession, Is.EqualTo(ExpectedUseConsoleSession));
|
||||
}
|
||||
@@ -123,7 +140,7 @@ namespace mRemoteNGTests.Config.Serializers.MiscSerializers
|
||||
[Test]
|
||||
public void ConnectionPortImported()
|
||||
{
|
||||
var group1 = _serializationResult.ConnectionRecords.OfType<ContainerInfo>().First(node => node.Name == "Group1");
|
||||
var group1 = _rootContainerInfo.Children.OfType<ContainerInfo>().First(node => node.Name == "Group1");
|
||||
var connection = group1.Children.First();
|
||||
Assert.That(connection.Port, Is.EqualTo(ExpectedPort));
|
||||
}
|
||||
@@ -131,7 +148,7 @@ namespace mRemoteNGTests.Config.Serializers.MiscSerializers
|
||||
[Test]
|
||||
public void ConnectionGatewayUsageMethodImported()
|
||||
{
|
||||
var group1 = _serializationResult.ConnectionRecords.OfType<ContainerInfo>().First(node => node.Name == "Group1");
|
||||
var group1 = _rootContainerInfo.Children.OfType<ContainerInfo>().First(node => node.Name == "Group1");
|
||||
var connection = group1.Children.First();
|
||||
Assert.That(connection.RDGatewayUsageMethod, Is.EqualTo(ExpectedGatewayUsageMethod));
|
||||
}
|
||||
@@ -139,15 +156,24 @@ namespace mRemoteNGTests.Config.Serializers.MiscSerializers
|
||||
[Test]
|
||||
public void ConnectionGatewayHostnameImported()
|
||||
{
|
||||
var group1 = _serializationResult.ConnectionRecords.OfType<ContainerInfo>().First(node => node.Name == "Group1");
|
||||
var group1 = _rootContainerInfo.Children.OfType<ContainerInfo>().First(node => node.Name == "Group1");
|
||||
var connection = group1.Children.First();
|
||||
Assert.That(connection.RDGatewayHostname, Is.EqualTo(ExpectedGatewayHostname));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void CredentialIdSetCorrectly()
|
||||
{
|
||||
var group1 = _rootContainerInfo.Children.OfType<ContainerInfo>().First(node => node.Name == "Group1");
|
||||
var connection = group1.Children.First();
|
||||
var cred = _serializationResult.ConnectionToCredentialMap.DistinctCredentialRecords.FirstOrDefault();
|
||||
Assert.That(connection.CredentialRecordId.FirstOrDefault(), Is.EqualTo(cred?.Id));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void ConnectionGatewayUsernameImported()
|
||||
{
|
||||
var group1 = _serializationResult.ConnectionRecords.OfType<ContainerInfo>().First(node => node.Name == "Group1");
|
||||
var group1 = _rootContainerInfo.Children.OfType<ContainerInfo>().First(node => node.Name == "Group1");
|
||||
var connection = group1.Children.First();
|
||||
Assert.That(connection.RDGatewayUsername, Is.EqualTo(ExpectedGatewayUsername));
|
||||
}
|
||||
@@ -158,7 +184,7 @@ namespace mRemoteNGTests.Config.Serializers.MiscSerializers
|
||||
//{
|
||||
// var rootNode = _connectionTreeModel.RootNodes.First();
|
||||
// var importedRdcmanRootNode = rootNode.Children.OfType<ContainerInfo>().First();
|
||||
// var group1 = _serializationResult.ConnectionRecords.OfType<ContainerInfo>().First(node => node.Name == "Group1");
|
||||
// var group1 = importedRdcmanRootNode.Children.OfType<ContainerInfo>().First(node => node.Name == "Group1");
|
||||
// var connection = group1.Children.First();
|
||||
// Assert.That(connection.RDGatewayPassword, Is.EqualTo(ExpectedGatewayPassword));
|
||||
//}
|
||||
@@ -166,7 +192,7 @@ namespace mRemoteNGTests.Config.Serializers.MiscSerializers
|
||||
[Test]
|
||||
public void ConnectionGatewayDomainImported()
|
||||
{
|
||||
var group1 = _serializationResult.ConnectionRecords.OfType<ContainerInfo>().First(node => node.Name == "Group1");
|
||||
var group1 = _rootContainerInfo.Children.OfType<ContainerInfo>().First(node => node.Name == "Group1");
|
||||
var connection = group1.Children.First();
|
||||
Assert.That(connection.RDGatewayDomain, Is.EqualTo(ExpectedGatewayDomain));
|
||||
}
|
||||
@@ -174,7 +200,7 @@ namespace mRemoteNGTests.Config.Serializers.MiscSerializers
|
||||
[Test]
|
||||
public void ConnectionResolutionImported()
|
||||
{
|
||||
var group1 = _serializationResult.ConnectionRecords.OfType<ContainerInfo>().First(node => node.Name == "Group1");
|
||||
var group1 = _rootContainerInfo.Children.OfType<ContainerInfo>().First(node => node.Name == "Group1");
|
||||
var connection = group1.Children.First();
|
||||
Assert.That(connection.Resolution, Is.EqualTo(ExpectedRdpResolution));
|
||||
}
|
||||
@@ -182,7 +208,7 @@ namespace mRemoteNGTests.Config.Serializers.MiscSerializers
|
||||
[Test]
|
||||
public void ConnectionColorDepthImported()
|
||||
{
|
||||
var group1 = _serializationResult.ConnectionRecords.OfType<ContainerInfo>().First(node => node.Name == "Group1");
|
||||
var group1 = _rootContainerInfo.Children.OfType<ContainerInfo>().First(node => node.Name == "Group1");
|
||||
var connection = group1.Children.First();
|
||||
Assert.That(connection.Colors, Is.EqualTo(ExpectedRdpColorDepth));
|
||||
}
|
||||
@@ -190,7 +216,7 @@ namespace mRemoteNGTests.Config.Serializers.MiscSerializers
|
||||
[Test]
|
||||
public void ConnectionAudioRedirectionImported()
|
||||
{
|
||||
var group1 = _serializationResult.ConnectionRecords.OfType<ContainerInfo>().First(node => node.Name == "Group1");
|
||||
var group1 = _rootContainerInfo.Children.OfType<ContainerInfo>().First(node => node.Name == "Group1");
|
||||
var connection = group1.Children.First();
|
||||
Assert.That(connection.RedirectSound, Is.EqualTo(ExpectedAudioRedirection));
|
||||
}
|
||||
@@ -198,7 +224,7 @@ namespace mRemoteNGTests.Config.Serializers.MiscSerializers
|
||||
[Test]
|
||||
public void ConnectionKeyRedirectionImported()
|
||||
{
|
||||
var group1 = _serializationResult.ConnectionRecords.OfType<ContainerInfo>().First(node => node.Name == "Group1");
|
||||
var group1 = _rootContainerInfo.Children.OfType<ContainerInfo>().First(node => node.Name == "Group1");
|
||||
var connection = group1.Children.First();
|
||||
Assert.That(connection.RedirectKeys, Is.EqualTo(ExpectedKeyRedirection));
|
||||
}
|
||||
@@ -206,7 +232,7 @@ namespace mRemoteNGTests.Config.Serializers.MiscSerializers
|
||||
[Test]
|
||||
public void ConnectionDriveRedirectionImported()
|
||||
{
|
||||
var group1 = _serializationResult.ConnectionRecords.OfType<ContainerInfo>().First(node => node.Name == "Group1");
|
||||
var group1 = _rootContainerInfo.Children.OfType<ContainerInfo>().First(node => node.Name == "Group1");
|
||||
var connection = group1.Children.First();
|
||||
Assert.That(connection.RedirectDiskDrives, Is.EqualTo(ExpectedDriveRedirection));
|
||||
}
|
||||
@@ -214,7 +240,7 @@ namespace mRemoteNGTests.Config.Serializers.MiscSerializers
|
||||
[Test]
|
||||
public void ConnectionPortRedirectionImported()
|
||||
{
|
||||
var group1 = _serializationResult.ConnectionRecords.OfType<ContainerInfo>().First(node => node.Name == "Group1");
|
||||
var group1 = _rootContainerInfo.Children.OfType<ContainerInfo>().First(node => node.Name == "Group1");
|
||||
var connection = group1.Children.First();
|
||||
Assert.That(connection.RedirectPorts, Is.EqualTo(ExpectedPortRedirection));
|
||||
}
|
||||
@@ -222,7 +248,7 @@ namespace mRemoteNGTests.Config.Serializers.MiscSerializers
|
||||
[Test]
|
||||
public void ConnectionPrinterRedirectionImported()
|
||||
{
|
||||
var group1 = _serializationResult.ConnectionRecords.OfType<ContainerInfo>().First(node => node.Name == "Group1");
|
||||
var group1 = _rootContainerInfo.Children.OfType<ContainerInfo>().First(node => node.Name == "Group1");
|
||||
var connection = group1.Children.First();
|
||||
Assert.That(connection.RedirectPrinters, Is.EqualTo(ExpectedPrinterRedirection));
|
||||
}
|
||||
@@ -230,15 +256,15 @@ namespace mRemoteNGTests.Config.Serializers.MiscSerializers
|
||||
[Test]
|
||||
public void ConnectionSmartcardRedirectionImported()
|
||||
{
|
||||
var group1 = _serializationResult.ConnectionRecords.OfType<ContainerInfo>().First(node => node.Name == "Group1");
|
||||
var group1 = _rootContainerInfo.Children.OfType<ContainerInfo>().First(node => node.Name == "Group1");
|
||||
var connection = group1.Children.First();
|
||||
Assert.That(connection.RedirectSmartCards, Is.EqualTo(ExpectedSmartcardRedirection));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void ConnectionauthenticationLevelImported()
|
||||
public void ConnectionAuthenticationLevelImported()
|
||||
{
|
||||
var group1 = _serializationResult.ConnectionRecords.OfType<ContainerInfo>().First(node => node.Name == "Group1");
|
||||
var group1 = _rootContainerInfo.Children.OfType<ContainerInfo>().First(node => node.Name == "Group1");
|
||||
var connection = group1.Children.First();
|
||||
Assert.That(connection.RDPAuthenticationLevel, Is.EqualTo(ExpectedAuthLevel));
|
||||
}
|
||||
|
||||
@@ -70,7 +70,7 @@
|
||||
<redirectSmartCards>True</redirectSmartCards>
|
||||
</localResources>
|
||||
<securitySettings inherit="None">
|
||||
<authentication>1</authentication>
|
||||
<authentication>2</authentication>
|
||||
</securitySettings>
|
||||
<displaySettings inherit="None">
|
||||
<thumbnailScale>1</thumbnailScale>
|
||||
|
||||
19
mRemoteNGTests/Tools/NunitExtensions.cs
Normal file
19
mRemoteNGTests/Tools/NunitExtensions.cs
Normal file
@@ -0,0 +1,19 @@
|
||||
using NUnit.Framework;
|
||||
|
||||
namespace mRemoteNGTests.Tools
|
||||
{
|
||||
public static class NunitExtensions
|
||||
{
|
||||
/// <summary>
|
||||
/// Set the name of the fixture created by this <see cref="TestFixtureData"/>
|
||||
/// </summary>
|
||||
/// <param name="fixtureData"></param>
|
||||
/// <param name="name"></param>
|
||||
/// <returns></returns>
|
||||
public static TestFixtureData SetName(this TestFixtureData fixtureData, string name)
|
||||
{
|
||||
fixtureData.TestName = name;
|
||||
return fixtureData;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -132,7 +132,6 @@
|
||||
<Compile Include="Config\Serializers\MiscSerializers\PuttyConnectionManagerDeserializerTests.cs" />
|
||||
<Compile Include="Config\Serializers\ConnectionSerializers\Xml\XmlConnectionsDeserializerTests.cs" />
|
||||
<Compile Include="Config\Serializers\MiscSerializers\RemoteDesktopConnectionDeserializerTests.cs" />
|
||||
<Compile Include="Config\Serializers\MiscSerializers\RemoteDesktopConnectionManager27DeserializerTests.cs" />
|
||||
<Compile Include="Config\Serializers\MiscSerializers\RemoteDesktopConnectionManagerDeserializerTests.cs" />
|
||||
<Compile Include="Config\Serializers\ConnectionSerializers\Xml\XmlConnectionsDocumentCompilerTests.cs" />
|
||||
<Compile Include="Config\Serializers\ConnectionSerializers\Xml\XmlConnectionsDocumentEncryptorTests.cs" />
|
||||
@@ -181,6 +180,7 @@
|
||||
<Compile Include="TestHelpers\SerializableConnectionInfoAllPropertiesOfType.cs" />
|
||||
<Compile Include="Tools\ExternalToolsArgumentParserTests.cs" />
|
||||
<Compile Include="Tools\FullyObservableCollectionTests.cs" />
|
||||
<Compile Include="Tools\NunitExtensions.cs" />
|
||||
<Compile Include="Tools\OptionalTests.cs" />
|
||||
<Compile Include="Tools\Registry\WindowsRegistryTests.cs" />
|
||||
<Compile Include="Tree\ClickHandlers\TreeNodeCompositeClickHandlerTests.cs" />
|
||||
|
||||
Reference in New Issue
Block a user