public async Task <ServerInfoResult> GetServerStatus(string host, int port) { try { var hostEntry = Dns.GetHostEntry(host); if (hostEntry.AddressList.Length < 1) { throw new Exception($"Hostname did not resolve."); } var query = new ServerQuery(new IPEndPoint(hostEntry.AddressList[0], port)); var res = await query.GetServerInfo(); return(res); } catch (Exception) { throw; } }
public void GetServerInfo_ShouldPopulateCorrectServerInfo() { (byte[] responsePacket, object responseObject) = ResponseHelper.GetValidResponse(ResponseHelper.ServerInfo); var expectedObject = (ServerInfo)responseObject; byte[][] requestPackets = new byte[][] { RequestHelpers.PrepareAS2_INFO_Request() }; byte[][] responsePackets = new byte[][] { responsePacket }; Mock <IUdpClient> udpClientMock = SetupReceiveResponse(responsePackets); SetupRequestCompare(requestPackets, udpClientMock); using (var sq = new ServerQuery(udpClientMock.Object, _localIpEndpoint)) { Assert.Equal(JsonConvert.SerializeObject(expectedObject), JsonConvert.SerializeObject(sq.GetServerInfo())); } }