/ src / modules / cmdpal / Tests / Microsoft.CmdPal.Ext.RemoteDesktop.UnitTests / RdpConnectionsManagerTests.cs
RdpConnectionsManagerTests.cs
 1  // Copyright (c) Microsoft Corporation
 2  // The Microsoft Corporation licenses this file to you under the MIT license.
 3  // See the LICENSE file in the project root for more information.
 4  
 5  using System.Linq;
 6  using Microsoft.CmdPal.Ext.RemoteDesktop.Commands;
 7  using Microsoft.CmdPal.Ext.RemoteDesktop.Helper;
 8  using Microsoft.VisualStudio.TestTools.UnitTesting;
 9  
10  namespace Microsoft.CmdPal.Ext.RemoteDesktop.UnitTests;
11  
12  [TestClass]
13  public class RdpConnectionsManagerTests
14  {
15      [TestMethod]
16      public void Constructor_AddsOpenCommandItem()
17      {
18          // Act
19          var manager = new RdpConnectionsManager(new MockSettingsManager(["test.local"]));
20  
21          // Assert
22          Assert.IsTrue(manager.Connections.Any(item => string.IsNullOrEmpty(item.ConnectionName)));
23      }
24  
25      [TestMethod]
26      public void FindConnection_ReturnsExactMatch()
27      {
28          // Arrange
29          var connectionName = "rdp-test";
30          var connection = new ConnectionListItem(connectionName);
31  
32          // Act
33          var result = ConnectionHelpers.FindConnection(connectionName, new[] { connection });
34  
35          // Assert
36          Assert.IsNotNull(result);
37          Assert.AreEqual(connectionName, result.ConnectionName);
38      }
39  
40      [TestMethod]
41      public void FindConnection_ReturnsNullForWhitespaceQuery()
42      {
43          // Arrange
44          var connection = new ConnectionListItem("rdp-test");
45  
46          // Act
47          var result = ConnectionHelpers.FindConnection("   ", new[] { connection });
48  
49          // Assert
50          Assert.IsNull(result);
51      }
52  }