mirror of
https://github.com/mRemoteNG/mRemoteNG.git
synced 2026-02-17 22:11:48 +08:00
Added tests for the external tools arg parser
This commit is contained in:
84
mRemoteNGTests/Tools/ExternalToolsArgumentParserTests.cs
Normal file
84
mRemoteNGTests/Tools/ExternalToolsArgumentParserTests.cs
Normal file
@@ -0,0 +1,84 @@
|
||||
using mRemoteNG.Connection;
|
||||
using mRemoteNG.Tools;
|
||||
using NUnit.Framework;
|
||||
|
||||
|
||||
namespace mRemoteNGTests.Tools
|
||||
{
|
||||
public class ExternalToolsArgumentParserTests
|
||||
{
|
||||
private ExternalToolArgumentParser _argumentParser;
|
||||
private const string TestString = @"()%!^abc123*<>&|""'\";
|
||||
private const string StringAfterMetacharacterEscaping = @"^(^)^%^!^^abc123*^<^>^&^|^""'\";
|
||||
private const string StringAfterAllEscaping = @"^(^)^%^!^^abc123*^<^>^&^|\^""'\";
|
||||
private const string StringAfterNoEscaping = TestString;
|
||||
private const int Port = 9933;
|
||||
private const string PortAsString = "9933";
|
||||
|
||||
|
||||
[OneTimeSetUp]
|
||||
public void Setup()
|
||||
{
|
||||
var connectionInfo = new ConnectionInfo
|
||||
{
|
||||
Name = TestString,
|
||||
Hostname = TestString,
|
||||
Port = Port,
|
||||
Username = TestString,
|
||||
Password = TestString,
|
||||
Domain = TestString,
|
||||
Description = TestString,
|
||||
MacAddress = TestString,
|
||||
UserField = TestString
|
||||
};
|
||||
_argumentParser = new ExternalToolArgumentParser(connectionInfo);
|
||||
}
|
||||
|
||||
[OneTimeTearDown]
|
||||
public void Teardown()
|
||||
{
|
||||
_argumentParser = null;
|
||||
}
|
||||
|
||||
|
||||
[TestCase("%NAME%", ExpectedResult = StringAfterAllEscaping)]
|
||||
[TestCase("%-NAME%", ExpectedResult = StringAfterMetacharacterEscaping)]
|
||||
[TestCase("%!NAME%", ExpectedResult = StringAfterNoEscaping)]
|
||||
|
||||
[TestCase("%HOSTNAME%", ExpectedResult = StringAfterAllEscaping)]
|
||||
[TestCase("%-HOSTNAME%", ExpectedResult = StringAfterMetacharacterEscaping)]
|
||||
[TestCase("%!HOSTNAME%", ExpectedResult = StringAfterNoEscaping)]
|
||||
|
||||
[TestCase("%PORT%", ExpectedResult = PortAsString)]
|
||||
[TestCase("%-PORT%", ExpectedResult = PortAsString)]
|
||||
[TestCase("%!PORT%", ExpectedResult = PortAsString)]
|
||||
|
||||
[TestCase("%USERNAME%", ExpectedResult = StringAfterAllEscaping)]
|
||||
[TestCase("%-USERNAME%", ExpectedResult = StringAfterMetacharacterEscaping)]
|
||||
[TestCase("%!USERNAME%", ExpectedResult = StringAfterNoEscaping)]
|
||||
|
||||
[TestCase("%PASSWORD%", ExpectedResult = StringAfterAllEscaping)]
|
||||
[TestCase("%-PASSWORD%", ExpectedResult = StringAfterMetacharacterEscaping)]
|
||||
[TestCase("%!PASSWORD%", ExpectedResult = StringAfterNoEscaping)]
|
||||
|
||||
[TestCase("%DOMAIN%", ExpectedResult = StringAfterAllEscaping)]
|
||||
[TestCase("%-DOMAIN%", ExpectedResult = StringAfterMetacharacterEscaping)]
|
||||
[TestCase("%!DOMAIN%", ExpectedResult = StringAfterNoEscaping)]
|
||||
|
||||
[TestCase("%DESCRIPTION%", ExpectedResult = StringAfterAllEscaping)]
|
||||
[TestCase("%-DESCRIPTION%", ExpectedResult = StringAfterMetacharacterEscaping)]
|
||||
[TestCase("%!DESCRIPTION%", ExpectedResult = StringAfterNoEscaping)]
|
||||
|
||||
[TestCase("%MACADDRESS%", ExpectedResult = StringAfterAllEscaping)]
|
||||
[TestCase("%-MACADDRESS%", ExpectedResult = StringAfterMetacharacterEscaping)]
|
||||
[TestCase("%!MACADDRESS%", ExpectedResult = StringAfterNoEscaping)]
|
||||
|
||||
[TestCase("%USERFIELD%", ExpectedResult = StringAfterAllEscaping)]
|
||||
[TestCase("%-USERFIELD%", ExpectedResult = StringAfterMetacharacterEscaping)]
|
||||
[TestCase("%!USERFIELD%", ExpectedResult = StringAfterNoEscaping)]
|
||||
public string ParserTest(string argumentString)
|
||||
{
|
||||
return _argumentParser.ParseArguments(argumentString);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -114,6 +114,7 @@
|
||||
<Compile Include="Config\Serializers\RemoteDesktopConnectionDeserializerTests.cs" />
|
||||
<Compile Include="Config\Serializers\RemoteDesktopConnectionManagerDeserializerTests.cs" />
|
||||
<Compile Include="Connection\AbstractConnectionInfoDataTests.cs" />
|
||||
<Compile Include="Tools\ExternalToolsArgumentParserTests.cs" />
|
||||
<Compile Include="Tree\ConnectionTreeDragAndDropHandlerTests.cs" />
|
||||
<Compile Include="Tree\ConnectionTreeModelTests.cs" />
|
||||
<Compile Include="Connection\ConnectionInfoInheritanceTests.cs" />
|
||||
|
||||
Reference in New Issue
Block a user