public async void UpdateCompleteRequestServed() { var serverIp = "Test_UpdateCompleteRequestServed"; // Create test server with updating status. var server = new GameServer(serverIp); server.IsUpdating = true; await Helpers.CreateTestServer(server, true); // Mock data. var data = JToken.Parse($@"{{ 'Ip':'{serverIp}', {Helpers.JsonServerCredentials} }}"); // Execute controller. var conrtoller = new UpdateCompleteController(); var responseToken = await conrtoller.HandleHttpRequestAsync(data); // Assert controller response status is OK. Assert.Equal(responseToken["Status"], JStatus.Ok.JToken["Status"]); // Make sure server is set to not updating. server = await server.LoadAsync(); Assert.False(server.IsUpdating); }
// FIXME: failing on initial run under parallel tests. //[Fact] public async void UpdateBuildRequestServed() { var serverIp = "Test_UpdateBuildRequestServed"; var buildUri = "Test_UpdateBuildRequestServed"; // Create test server. var server = await Helpers.CreateTestServer(serverIp); // Mock data. var data = JToken.Parse($@"{{ 'BuildUri':'{buildUri}', {Helpers.JsonServerCredentials} }}"); // Execute controller. var conrtoller = new UpdateBuildController(); var responseToken = await conrtoller.HandleHttpRequestAsync(data); // Assert controller response status is OK. Assert.Equal(responseToken["Status"], JStatus.Ok.JToken["Status"]); // Make sure server is set to updating. server = await server.LoadAsync(); Assert.True(server.IsUpdating); }
public async void RequisitesForAvailableInstanceProvided() { var playerId = "Test_RequisitesForAvailableInstanceProvided"; var serverIp = "Test_RequisitesForAvailableInstanceProvided"; var instancePort = "Test_RequisitesForAvailableInstanceProvided"; var arenaMetaId = "Test_RequisitesForAvailableInstanceProvided"; // Create test arena meta if it doesn't exist. var arenaMeta = await new ArenaMeta(arenaMetaId).LoadAsync(); if (arenaMeta == null) { arenaMeta = new ArenaMeta(arenaMetaId); arenaMeta.MaxPlayers = 10; await arenaMeta.InsertAsync(); } // Create test server with test instance. var instance = new ArenaInstance(arenaMetaId, instancePort); var server = await Helpers.CreateTestServer(serverIp, instance : instance); // Create and auth test player. await Helpers.CreateTestPlayer(playerId); var sessionToken = Helpers.GetSessionToken(playerId); // Mock data. var data = JToken.Parse($@"{{ 'PlayerId':'{playerId}', 'SessionToken':'{sessionToken}', 'ArenaMetaId':'{arenaMetaId}' }}"); // Execute controller. var conrtoller = new RequestInstanceController(); var responseToken = await conrtoller.HandleHttpRequestAsync(data); // Assert controller response status is OK. Assert.Equal(responseToken["Status"], JStatus.Ok.JToken["Status"]); // Assert returned IP and port are valid. Assert.Equal(responseToken["Ip"], serverIp); Assert.Equal(responseToken["Port"], instancePort); // Make sure instance free slot was removed. server = await server.LoadAsync(); Assert.True(server.ActiveInstances[0].FreeSlots == 9); }
public async void ReadyInstanceAdded() { var serverIp = "Test_ReadyInstanceAdded"; var instancePort = "Test_ReadyInstanceAdded"; var arenaMetaId = "Test_ReadyInstanceAdded"; // Create test arena meta if it doesn't exist. var arenaMeta = await new ArenaMeta(arenaMetaId).LoadAsync(); if (arenaMeta == null) { arenaMeta = new ArenaMeta(arenaMetaId); await arenaMeta.InsertAsync(); } // Create a test server. var server = await Helpers.CreateTestServer(serverIp); // Create a test requested instance. var requestedInstance = await Helpers.CreateTestRequestedInstance(arenaMetaId); // Mock data. var data = JToken.Parse($@"{{ 'PlayerId':'{Configuration.AppSettings["ServerPlayerId"]}', 'SessionToken':'{Configuration.AppSettings["ServerSessionToken"]}', 'Ip':'{serverIp}', 'Port':'{instancePort}', 'ArenaMetaId':'{arenaMetaId}', {Helpers.JsonServerCredentials} }}"); // Execute controller. var conrtoller = new OnInstanceReadyController(); var responseToken = await conrtoller.HandleHttpRequestAsync(data); // Assert controller response status is OK. Assert.Equal(responseToken["Status"], JStatus.Ok.JToken["Status"]); // Make sure instance was added. server = await server.LoadAsync(); Assert.True(server.ActiveInstances[0].MetaId == arenaMetaId && server.ActiveInstances[0].Port == instancePort); // Make sure requested instance was removed. requestedInstance = await requestedInstance.LoadAsync(); Assert.Null(requestedInstance); }
public async void ClosedInstanceWontAcceptJoinRequests() { var playerId = "Test_ClosedInstanceWontAcceptJoinRequests"; var arenaMetaId = "Test_ClosedInstanceWontAcceptJoinRequests"; var serverIp = "Test_ClosedInstanceWontAcceptJoinRequests"; var instancePort = "Test_ClosedInstanceWontAcceptJoinRequests"; // Create test arena meta if it doesn't exist. var arenaMeta = await new ArenaMeta(arenaMetaId).LoadAsync(); if (arenaMeta == null) { arenaMeta = new ArenaMeta(arenaMetaId); await arenaMeta.InsertAsync(); } // Create test server with a closed instance. var instance = new ArenaInstance(arenaMetaId, instancePort); instance.FreeSlots = 2; instance.IsOpen = false; var server = await Helpers.CreateTestServer(serverIp, instance : instance); // Create and auth test player. await Helpers.CreateTestPlayer(playerId); var sessionToken = Helpers.GetSessionToken(playerId); // Mock data. var data = JToken.Parse($@"{{ 'PlayerId':'{playerId}', 'SessionToken':'{sessionToken}', 'ArenaMetaId':'{arenaMetaId}' }}"); // Execute controller. var conrtoller = new RequestInstanceController(); var responseToken = await conrtoller.HandleHttpRequestAsync(data); // Assert controller response status is Wait. Assert.Equal(responseToken["Status"], JStatus.Wait.JToken["Status"]); // Make sure a new instance is requested. var requestedInstance = await new RequestedInstance(arenaMetaId).LoadAsync(); Assert.NotNull(requestedInstance); }
public async void SlotOfDisconnectedPlayerIsFree() { var serverIp = "Test_SlotOfDisconnectedPlayerIsFree"; var instancePort = "Test_SlotOfDisconnectedPlayerIsFree"; var arenaMetaId = "Test_SlotOfDisconnectedPlayerIsFree"; // Create test arena meta if it doesn't exist. var arenaMeta = await new ArenaMeta(arenaMetaId).LoadAsync(); if (arenaMeta == null) { arenaMeta = new ArenaMeta(arenaMetaId); arenaMeta.MaxPlayers = 10; await arenaMeta.InsertAsync(); } // Create test server with test instance. var instance = new ArenaInstance(arenaMetaId, instancePort); instance.FreeSlots--; var server = await Helpers.CreateTestServer(serverIp, instance : instance); // Mock data. var data = JToken.Parse($@"{{ {Helpers.JsonServerCredentials}, 'Ip':'{serverIp}', 'Port':'{instancePort}' }}"); // Execute controller. var conrtoller = new OnPlayerDisconnectedController(); var responseToken = await conrtoller.HandleHttpRequestAsync(data); // Assert controller response status is OK. Assert.Equal(responseToken["Status"], JStatus.Ok.JToken["Status"]); // Make sure slot was freed. server = await server.LoadAsync(); Assert.True(server.ActiveInstances[0].FreeSlots == 10); }
public async void DestroyedInstanceRemoved() { var serverIp = "Test_DestroyedInstanceRemoved"; var instancePort = "Test_DestroyedInstanceRemoved"; var arenaMetaId = "Test_DestroyedInstanceRemoved"; // Create test arena meta if it doesn't exist. var arenaMeta = await new ArenaMeta(arenaMetaId).LoadAsync(); if (arenaMeta == null) { arenaMeta = new ArenaMeta(arenaMetaId); await arenaMeta.InsertAsync(); } // Create test server with test instance. var instance = new ArenaInstance(arenaMetaId, instancePort); var server = await Helpers.CreateTestServer(serverIp, instance : instance); // Mock data. var data = JToken.Parse($@"{{ 'Ip':'{serverIp}', 'Port':'{instancePort}', {Helpers.JsonServerCredentials} }}"); // Execute controller. var conrtoller = new OnInstanceDestroyedController(); var responseToken = await conrtoller.HandleHttpRequestAsync(data); // Assert controller response status is OK. Assert.Equal(responseToken["Status"], JStatus.Ok.JToken["Status"]); // Make sure instance was removed. server = await server.LoadAsync(); Assert.True(server.ActiveInstances.Count == 0); }