Created tests for various bad version/schema scenarios

This commit is contained in:
David Sparer
2016-09-25 12:10:48 -06:00
parent d0153da3d1
commit 80a4d2af59
7 changed files with 98 additions and 3 deletions

View File

@@ -6,7 +6,7 @@ using mRemoteNG.Container;
using mRemoteNG.Tree;
using mRemoteNGTests.Properties;
using NUnit.Framework;
using System.IO;
namespace mRemoteNGTests.Config.Serializers
{
@@ -305,5 +305,29 @@ namespace mRemoteNGTests.Config.Serializers
var connection = group1.Children.First();
Assert.That(connection.RDPAuthenticationLevel, Is.EqualTo(ExpectedAuthLevel));
}
[Test]
public void ExceptionThrownOnBadSchemaVersion()
{
var badFileContents = Resources.test_rdcman_v2_2_badschemaversion;
var deserializer = new RemoteDesktopConnectionManagerDeserializer(badFileContents);
Assert.That(() => deserializer.Deserialize(), Throws.TypeOf<FileFormatException>());
}
[Test]
public void ExceptionThrownOnUnsupportedVersion()
{
var badFileContents = Resources.test_rdcman_badVersionNumber;
var deserializer = new RemoteDesktopConnectionManagerDeserializer(badFileContents);
Assert.That(() => deserializer.Deserialize(), Throws.TypeOf<FileFormatException>());
}
[Test]
public void ExceptionThrownOnNoVersion()
{
var badFileContents = Resources.test_rdcman_noversion;
var deserializer = new RemoteDesktopConnectionManagerDeserializer(badFileContents);
Assert.That(() => deserializer.Deserialize(), Throws.TypeOf<FileFormatException>());
}
}
}

View File

@@ -60,6 +60,47 @@ namespace mRemoteNGTests.Properties {
}
}
/// <summary>
/// Looks up a localized string similar to &lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;
///&lt;RDCMan schemaVersion=&quot;1&quot;&gt;
/// &lt;version&gt;99.99&lt;/version&gt;
/// &lt;file&gt;
/// &lt;/file&gt;
///&lt;/RDCMan&gt;.
/// </summary>
internal static string test_rdcman_badVersionNumber {
get {
return ResourceManager.GetString("test_rdcman_badVersionNumber", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to &lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;
///&lt;RDCMan schemaVersion=&quot;1&quot;&gt;
/// &lt;file&gt;
/// &lt;/file&gt;
///&lt;/RDCMan&gt;.
/// </summary>
internal static string test_rdcman_noversion {
get {
return ResourceManager.GetString("test_rdcman_noversion", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to &lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;
///&lt;RDCMan schemaVersion=&quot;-99&quot;&gt;
/// &lt;version&gt;2.2&lt;/version&gt;
/// &lt;file&gt;
/// &lt;/file&gt;
///&lt;/RDCMan&gt;.
/// </summary>
internal static string test_rdcman_v2_2_badschemaversion {
get {
return ResourceManager.GetString("test_rdcman_v2_2_badschemaversion", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to &lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;
///&lt;RDCMan schemaVersion=&quot;1&quot;&gt;
@@ -67,13 +108,13 @@ namespace mRemoteNGTests.Properties {
/// &lt;file&gt;
/// &lt;properties&gt;
/// &lt;name&gt;test_rdcman_v2_2_schema1&lt;/name&gt;
/// &lt;expanded&gt;False&lt;/expanded&gt;
/// &lt;expanded&gt;True&lt;/expanded&gt;
/// &lt;comment /&gt;
/// &lt;logonCredentials inherit=&quot;FromParent&quot; /&gt;
/// &lt;connectionSettings inherit=&quot;FromParent&quot; /&gt;
/// &lt;gatewaySettings inherit=&quot;FromParent&quot; /&gt;
/// &lt;remoteDesktop inherit=&quot;FromParent&quot; /&gt;
/// &lt;localResources inherit=&quot;FromParent&quot; [rest of string was truncated]&quot;;.
/// &lt;localResources inherit=&quot;FromParent&quot; [rest of string was truncated]&quot;;.
/// </summary>
internal static string test_rdcman_v2_2_schema1 {
get {

View File

@@ -121,6 +121,15 @@
<data name="TestConfCons" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\TestConfCons.xml;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252</value>
</data>
<data name="test_rdcman_badVersionNumber" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\test_rdcman_badVersionNumber.rdg;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8</value>
</data>
<data name="test_rdcman_noversion" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\test_rdcman_noversion.rdg;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8</value>
</data>
<data name="test_rdcman_v2_2_badschemaversion" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\test_rdcman_v2_2_badschemaversion.rdg;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8</value>
</data>
<data name="test_rdcman_v2_2_schema1" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\test_rdcman_v2_2_schema1.rdg;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8</value>
</data>

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<RDCMan schemaVersion="1">
<version>99.99</version>
<file>
</file>
</RDCMan>

View File

@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<RDCMan schemaVersion="1">
<file>
</file>
</RDCMan>

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<RDCMan schemaVersion="-99">
<version>2.2</version>
<file>
</file>
</RDCMan>

View File

@@ -90,6 +90,7 @@
<HintPath>..\packages\DockPanelSuite.ThemeVS2012Light.2.10.0\lib\net40\WeifenLuo.WinFormsUI.Docking.ThemeVS2012Light.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="WindowsBase" />
</ItemGroup>
<Choose>
<When Condition="('$(VisualStudioVersion)' == '10.0' or '$(VisualStudioVersion)' == '') and '$(TargetFrameworkVersion)' == 'v3.5'">
@@ -165,6 +166,9 @@
</ItemGroup>
<ItemGroup>
<Content Include="Resources\TestConfCons.xml" />
<None Include="Resources\test_rdcman_badVersionNumber.rdg" />
<None Include="Resources\test_rdcman_noversion.rdg" />
<None Include="Resources\test_rdcman_v2_2_badschemaversion.rdg" />
<None Include="Resources\test_rdcman_v2_2_schema1.rdg" />
<None Include="Resources\test_RDCMan_v2_7_schema3.rdg" />
<None Include="Resources\test_remotedesktopconnection.rdp" />