Пример #1
0
        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);
        }