1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- using Microsoft.VisualStudio.TestTools.UnitTesting;
- using STUN;
- namespace UnitTest;
- [TestClass]
- public class HostnameEndpointTest
- {
- [TestMethod]
- [DataRow(@"www.google.com", ushort.MinValue)]
- [DataRow(@"1.1.1.1", (ushort)1)]
- [DataRow(@"[2001:db8:1234:5678:11:2233:4455:6677]", (ushort)1919)]
- public void IsTrue(string host, ushort port)
- {
- string str = $@"{host}:{port}";
- Assert.IsTrue(StunServer.TryParse(str, out StunServer? server));
- Assert.IsNotNull(server);
- Assert.AreEqual(host, server.Hostname);
- Assert.AreEqual(port, server.Port);
- Assert.AreEqual(str, server.ToString());
- }
- [TestMethod]
- [DataRow(@"")]
- [DataRow(@"www.google.com:114514")]
- [DataRow(@"/dw.[/[:114")]
- [DataRow(@"2001:db8:1234:5678:11:2233:4455:6677:65535")]
- public void IsFalse(string str)
- {
- Assert.IsFalse(StunServer.TryParse(str, out StunServer? server));
- Assert.IsNull(server);
- }
- [TestMethod]
- [DataRow(@"www.google.com")]
- [DataRow(@"1.1.1.1")]
- [DataRow(@"2001:db8:1234:5678:11:2233:4455:6677")]
- [DataRow(@"[2001:db8:1234:5678:11:2233:4455:6677]")]
- [DataRow(@"2001:db8:1234:5678:11:2233:4455:db8")]
- public void TestDefaultPort(string str)
- {
- Assert.IsTrue(StunServer.TryParse(str, out StunServer? server));
- Assert.IsNotNull(server);
- Assert.AreEqual(str, server.Hostname);
- Assert.AreEqual(3478, server.Port);
- }
- [TestMethod]
- [DataRow(@"stun.syncthing.net:114", @"stun.syncthing.net:114")]
- [DataRow(@"stun.syncthing.net:3478", @"stun.syncthing.net")]
- [DataRow(@"[2001:db8:1234:5678:11:2233:4455:6677]", @"[2001:db8:1234:5678:11:2233:4455:6677]")]
- [DataRow(@"[2001:db8:1234:5678:11:2233:4455:6677]:3478", @"[2001:db8:1234:5678:11:2233:4455:6677]")]
- [DataRow(@"1.1.1.1:3478", @"1.1.1.1")]
- [DataRow(@"1.1.1.1:1919", @"1.1.1.1:1919")]
- public void ToString(string str, string expected)
- {
- Assert.IsTrue(StunServer.TryParse(str, out StunServer? server));
- Assert.IsNotNull(server);
- Assert.AreEqual(expected, server.ToString());
- }
- [TestMethod]
- public void DefaultServer()
- {
- StunServer server = new();
- Assert.AreEqual(@"stun.syncthing.net", server.Hostname);
- Assert.AreEqual(3478, server.Port);
- }
- [TestMethod]
- [DataRow(@"stun.syncthing.net:114", @"stun.syncthing.net:114")]
- [DataRow(@"stun.syncthing.net:3478", @"stun.syncthing.net:3478")]
- [DataRow(@"[2001:db8:1234:5678:11:2233:4455:6677]", @"[2001:db8:1234:5678:11:2233:4455:6677]:0")]
- [DataRow(@"[2001:db8:1234:5678:11:2233:4455:6677]:3478", @"[2001:db8:1234:5678:11:2233:4455:6677]:3478")]
- [DataRow(@"1.1.1.1:3478", @"1.1.1.1:3478")]
- [DataRow(@"1.1.1.1:1919", @"1.1.1.1:1919")]
- public void HostnameEndpointToString(string str, string expected)
- {
- Assert.IsTrue(HostnameEndpoint.TryParse(str, out HostnameEndpoint? server));
- Assert.IsNotNull(server);
- Assert.AreEqual(expected, server.ToString());
- }
- }
|