Files
mRemoteNG/mRemoteNGTests/Tree/RootNodeInfoTests.cs
copilot-swe-agent[bot] d5d9a8bf03 Fix PasswordString getter to never return empty password
Added defensive check in PasswordString getter to ensure it returns the default password when _customPassword is empty, even if Password property is true. This prevents encryption failures when Password is set inconsistently.

Co-authored-by: Kvarkas <3611964+Kvarkas@users.noreply.github.com>
2025-10-16 04:12:08 +00:00

67 lines
2.3 KiB
C#

using mRemoteNG.Tree;
using mRemoteNG.Tree.Root;
using NUnit.Framework;
namespace mRemoteNGTests.Tree
{
public class RootNodeInfoTests
{
private RootNodeInfo _rootNodeInfo;
[SetUp]
public void Setup()
{
_rootNodeInfo = new RootNodeInfo(RootNodeType.Connection);
}
[Test]
public void DefaultPasswordReturnsExpectedValue()
{
var defaultPassword = _rootNodeInfo.DefaultPassword;
Assert.That(defaultPassword, Is.EqualTo("mR3m"));
}
[TestCase("a", true)]
[TestCase("mR3m", false)]
[TestCase("", false)]
[TestCase(null, false)]
public void PasswordPropertyReflectsWhetherACustomPasswordIsInUse(string password, bool expected)
{
_rootNodeInfo.PasswordString = password;
Assert.That(_rootNodeInfo.Password, Is.EqualTo(expected));
}
[TestCase("")]
[TestCase(null)]
public void PasswordStringReturnsDefaultPasswordWhenNoCustomOneIsSet(string password)
{
_rootNodeInfo.PasswordString = password;
Assert.That(_rootNodeInfo.PasswordString, Is.EqualTo(_rootNodeInfo.DefaultPassword));
}
[TestCase("a")]
[TestCase("1234")]
public void PasswordStringReturnsCustomPassword(string password)
{
_rootNodeInfo.PasswordString = password;
Assert.That(_rootNodeInfo.PasswordString, Is.EqualTo(password));
}
[Test]
public void PasswordStringReturnsDefaultWhenPasswordPropertySetWithoutPasswordString()
{
// Edge case: Password property set to true directly without setting PasswordString
_rootNodeInfo.Password = true;
Assert.That(_rootNodeInfo.PasswordString, Is.EqualTo(_rootNodeInfo.DefaultPassword));
}
[TestCase(RootNodeType.Connection, TreeNodeType.Root)]
[TestCase(RootNodeType.PuttySessions, TreeNodeType.PuttyRoot)]
public void RootNodeHasCorrectTreeNodeType(RootNodeType rootNodeType, TreeNodeType expectedTreeNodeType)
{
var rootNode = new RootNodeInfo(rootNodeType);
Assert.That(rootNode.GetTreeNodeType(), Is.EqualTo(expectedTreeNodeType));
}
}
}