public async Task SetUp() { _controllerRequest = new ServerInfoRequest { IpAddress = "192.168.201.201", Port = 7778 }; _expectedResponse = new ServerInfoDetails { HostName = "test server name" }; var gameType = GameType.UnrealTournament99; var managerRequest = new ServerRequest { IpAddress = _controllerRequest.IpAddress, Port = _controllerRequest.Port, GameType = gameType }; _mockServerInfoRequestMapper = new Mock <IServerInfoRequestMapper>(); _mockServerInfoRequestMapper.Setup(m => m.Map(_controllerRequest, gameType)).Returns(managerRequest); _mockUnrealTournament99Manager = new Mock <IUnrealTournament99Manager>(); _mockUnrealTournament99Manager.Setup(x => x.GetInfo(managerRequest)).Returns(Task.FromResult(_expectedResponse)); var controller = new UnrealTournament99Controller(_mockUnrealTournament99Manager.Object, _mockServerInfoRequestMapper.Object); var response = await controller.GetInfo(_controllerRequest); var content = response as OkObjectResult; _actualResponse = JsonConvert.SerializeObject(content.Value); }
public async Task SetUp() { _serverRequest = new ServerRequest { IpAddress = "192.168.200.201", Port = 7778, GameType = GameType.UnrealTournament99 }; _serverResponse = new ServerResponse { Data = @"\hostname\test server name\hostport\7777\maptitle\CTF-Bolt_HE (High End Systems)\mapname\CTF-Bolt_HE\gametype\ACLCTFGame\numplayers\11\maxplayers\13\gamemode\openplaying\gamever\451\minnetver\432\worldlog\false\wantworldlog\false\queryid\12.1\final\", Success = true, Error = string.Empty }; _pingResponse = new PingResponse { Milliseconds = 50, Success = true }; _mockUnrealTournament99GameClient = new Mock <IUnrealTournament99GameClient>(); _mockPingClient = new Mock <IPingClient>(); _mockInfoResponseMapper = new Mock <IInfoResponseMapper>(); _mockPingClient.Setup(c => c.Ping(_serverRequest.IpAddress)).ReturnsAsync(_pingResponse); _mockUnrealTournament99GameClient.Setup(c => c.GetInfo(_serverRequest.IpAddress, _serverRequest.Port)).ReturnsAsync(_serverResponse); _mockInfoResponseMapper.Setup(c => c.Map(_serverResponse.Data)).Returns(new ServerInfoDetails { HostName = "test server name" }); _manager = new UnrealTournament99Manager(_mockUnrealTournament99GameClient.Object, _mockPingClient.Object, _mockInfoResponseMapper.Object); _result = await _manager.GetInfo(_serverRequest); }
public ServerInfoDetails Map(string payload) { if (string.IsNullOrWhiteSpace(payload)) { return(BuildNullResponse()); } var data = payload.Substring(1).Split('\\'); var info = new ServerInfoDetails(); for (int index = 0; index < data.Length; index += 2) { switch (data[index]) { case "hostname": info.HostName = data[index + 1]; break; case "hostport": info.HostPort = Convert.ToInt32(data[index + 1]); break; case "maptitle": info.MapTitle = data[index + 1]; break; case "mapname": info.MapName = data[index + 1]; break; case "gametype": info.GameType = data[index + 1]; break; case "numplayers": info.PlayerCount = Convert.ToInt32(data[index + 1]); break; case "maxplayers": info.MaxPlayers = Convert.ToInt32(data[index + 1]); break; case "gamemode": info.GameMode = data[index + 1]; break; case "gamever": info.GameVersion = data[index + 1]; break; case "minnetver": info.MinNetVersion = data[index + 1]; break; case "worldlog": info.WorldLog = Convert.ToBoolean(data[index + 1]); break; case "wantworldlog": info.WantWorldLog = Convert.ToBoolean(data[index + 1]); break; case "queryid": info.QueryId = data[index + 1]; break; default: break; } } return(info); }
public void SetUp() { var payload = @"\hostname\test server name\hostport\7777\maptitle\CTF-Bolt_HE (High End Systems)\mapname\CTF-Bolt_HE\gametype\ACLCTFGame\numplayers\11\maxplayers\13\gamemode\openplaying\gamever\451\minnetver\432\worldlog\false\wantworldlog\false\queryid\12.1\final\"; _result = new InfoResponseMapper().Map(payload); }