public void Setup()
        {
            client = ClientHelper.GetClient();

            // Clear the database every test.
            RedisConnector.Server.FlushDatabase();

            // Create two new user accounts.
            authHelper = new AuthTestHelper(client);
            authHelper.createAccount(playerOneInGame);
            authHelper.createAccount(playerTwoInGame);
            authHelper.createAccount(playerThreeInGame);
            authHelper.createAccount(playerOutOfGame);
            authHelper.loginToAccount(playerOneInGame);
            gameId = client.CreateNewRoom(new CreateRoomRequest()
            {
                MaxPlayers     = 3,
                RoomName       = "TestRoom",
                MinutesPerTick = (1.0 / 60.0), // One second per tick
            }).CreatedRoom.RoomId;
            authHelper.loginToAccount(playerTwoInGame);
            client.JoinRoom(new JoinRoomRequest()
            {
                RoomId = gameId
            });
            authHelper.loginToAccount(playerThreeInGame);
            client.JoinRoom(new JoinRoomRequest()
            {
                RoomId = gameId
            });

            // Game has begun.
            authHelper.loginToAccount(playerOneInGame);
        }
Exemplo n.º 2
0
        public void Setup()
        {
            client = ClientHelper.GetClient();

            // Clear the database every test.
            MongoConnector.FlushCollections();

            // Create two new user accounts.
            authHelper = new AuthTestHelper(client);
            authHelper.createAccount(playerOneInGame);
            authHelper.createAccount(playerTwoInGame);
            authHelper.createAccount(playerThreeInGame);
            authHelper.createAccount(playerOutOfGame);
            authHelper.loginToAccount(playerOneInGame);
            gameId = client.CreateNewRoom(new CreateRoomRequest()
            {
                GameSettings = new GameSettings()
                {
                    Anonymous      = false,
                    Goal           = Goal.Domination,
                    IsRanked       = false,
                    MaxPlayers     = 3,
                    MinutesPerTick = (1.0 / 60.0), // One second per tick
                },
                RoomName         = "TestRoom",
                MapConfiguration = new MapConfiguration()
                {
                    Seed = 123123,
                    OutpostsPerPlayer      = 3,
                    MinimumOutpostDistance = 100,
                    MaximumOutpostDistance = 1200,
                    DormantsPerPlayer      = 3,
                    OutpostDistribution    = new OutpostWeighting()
                    {
                        FactoryWeight    = 0.33f,
                        GeneratorWeight  = 0.33f,
                        WatchtowerWeight = 0.33f,
                    }
                },
            }).CreatedRoom.Id;
            authHelper.loginToAccount(playerTwoInGame);
            client.JoinRoom(new JoinRoomRequest()
            {
                RoomId = gameId
            });
            authHelper.loginToAccount(playerThreeInGame);
            client.JoinRoom(new JoinRoomRequest()
            {
                RoomId = gameId
            });

            // Game has begun.
            authHelper.loginToAccount(playerOneInGame);
        }
        public void BlockingAFriendRemovesThemAsAFriend()
        {
            client.SendFriendRequest(new SendFriendRequestRequest()
            {
                FriendId = authHelper.getAccountId("userTwo")
            });

            authHelper.loginToAccount("userTwo");
            client.AcceptFriendRequest(new AcceptFriendRequestRequest()
            {
                FriendId = authHelper.getAccountId("userOne"),
            });

            // Ensure players are friends
            ViewFriendsResponse friends = client.ViewFriends(new ViewFriendsRequest());

            Assert.AreEqual(friends.Status.IsSuccess, true);
            Assert.AreEqual(1, friends.Friends.Count);


            BlockPlayerResponse blockResponse = client.BlockPlayer(new BlockPlayerRequest()
            {
                UserIdToBlock = authHelper.getAccountId("userOne"),
            });

            Assert.AreEqual(blockResponse.Status.IsSuccess, true);

            // Ensure players are not friends
            ViewFriendsResponse friendsAfterBlock = client.ViewFriends(new ViewFriendsRequest());

            Assert.AreEqual(friendsAfterBlock.Status.IsSuccess, true);
            Assert.AreEqual(0, friendsAfterBlock.Friends.Count);
        }
Exemplo n.º 4
0
        public void PlayerCanViewAnotherUsersMessageInAChat()
        {
            CreateMessageGroupRequest request = new CreateMessageGroupRequest()
            {
                RoomId = gameId,
            };

            request.UserIdsInGroup.Add(authHelper.getAccountId(playerTwoInGame));
            request.UserIdsInGroup.Add(authHelper.getAccountId(playerOneInGame));

            CreateMessageGroupResponse groupResponse = client.CreateMessageGroup(request);

            Assert.AreEqual(groupResponse.Status.IsSuccess, true);
            Assert.IsTrue(groupResponse.GroupId != null);
            var groupId = groupResponse.GroupId;

            SendMessageRequest messageRequest = new SendMessageRequest()
            {
                GroupId = groupId,
                Message = "Hello!",
                RoomId  = gameId,
            };

            client.SendMessage(messageRequest);
            client.SendMessage(messageRequest);
            client.SendMessage(messageRequest);
            client.SendMessage(messageRequest);
            client.SendMessage(messageRequest);
            client.SendMessage(messageRequest);

            authHelper.loginToAccount(playerTwoInGame);

            GetGroupMessagesResponse messageResponse = client.GetGroupMessages(new GetGroupMessagesRequest()
            {
                GroupId    = groupId,
                RoomId     = gameId,
                Pagination = 1,
            });

            Assert.AreEqual(messageResponse.Status.IsSuccess, true);
            Assert.AreEqual(6, messageResponse.Group.Messages.Count);
            Assert.AreEqual(messageResponse.Group.Messages[0].SenderId, authHelper.getAccountId(playerOneInGame));
        }
        public void CanViewSpecialistsCreatedByAnyPlayer()
        {
            String userOneSpecName = "UserOneSpecialists";

            submitCustomSpecialist(userOneSpecName);

            authHelper.loginToAccount("userTwo");

            String userTwoSpecialist = "MyCustomSpecialist";

            submitCustomSpecialist(userTwoSpecialist);

            GetCustomSpecialistsResponse specResponse = client.GetCustomSpecialists(new GetCustomSpecialistsRequest());

            Assert.IsTrue(specResponse.CustomSpecialists.Count == 2);
            Assert.IsTrue(specResponse.CustomSpecialists.Count(it => it.SpecialistName == userOneSpecName) == 1);
            Assert.IsTrue(specResponse.CustomSpecialists.Count(it => it.SpecialistName == userTwoSpecialist) == 1);
            Assert.IsTrue(specResponse.CustomSpecialists.Count(it => it.Creator.Username == "userOne") == 1);
            Assert.IsTrue(specResponse.CustomSpecialists.Count(it => it.Creator.Username == "userTwo") == 1);
        }
        public void Setup()
        {
            client = ClientHelper.GetClient();

            // Clear the database every test.
            MongoConnector.FlushCollections();

            // Create two new user accounts.
            authHelper = new AuthTestHelper(client);
            authHelper.createAccount("userOne");
            authHelper.createAccount("userTwo");
            authHelper.loginToAccount("userOne");
        }
Exemplo n.º 7
0
        public void Setup()
        {
            client = ClientHelper.GetClient();

            // Clear the database every test.
            RedisConnector.Server.FlushDatabase();


            // Create three new user accounts.
            authHelper = new AuthTestHelper(client);
            authHelper.createAccount("userOne");
            authHelper.createAccount("userTwo");
            authHelper.createAccount("userThree");
            authHelper.loginToAccount("userOne");
        }
        public void PlayerCannotSubmitEventsToAGameTheyAreNotIn()
        {
            authHelper.loginToAccount(playerOutOfGame);
            var exception = client.SubmitGameEvent(new SubmitGameEventRequest()
            {
                EventData = new GameEventRequest()
                {
                    EventData    = ByteString.CopyFromUtf8("MyEventData"),
                    OccursAtTick = 42,
                },
                RoomId = gameId,
            });

            Assert.AreEqual(exception.Status.IsSuccess, false);
            Assert.AreEqual(exception.Status.Detail, ResponseType.PERMISSION_DENIED.ToString());
        }
        public void WhenAPlayerGetsAFriendRequestTheyCanSeeIt()
        {
            authHelper.loginToAccount("userOne");

            SendFriendRequestRequest request = new SendFriendRequestRequest()
            {
                FriendId = authHelper.getAccountId("userTwo")
            };

            SendFriendRequestResponse response = client.SendFriendRequest(request);

            Assert.AreEqual(response.Status.IsSuccess, true);

            authHelper.loginToAccount("userTwo");

            ViewFriendRequestsResponse friendRequestresponse = client.ViewFriendRequests(new ViewFriendRequestsRequest());

            Assert.AreEqual(friendRequestresponse.Status.IsSuccess, true);
            Assert.AreEqual(1, friendRequestresponse.IncomingFriends.Count);
            Assert.IsTrue(friendRequestresponse.IncomingFriends.Any((user) => user.Id == authHelper.getAccountId("userOne")));
        }
Exemplo n.º 10
0
        public void PlayerCanJoinAGameRoom()
        {
            CreateRoomRequest createRequest = new CreateRoomRequest()
            {
                Anonymous          = false,
                Goal               = Goal.Domination,
                MaxPlayers         = 5,
                IsRanked           = false,
                RoomName           = "My Room!",
                AllowedSpecialists = { "a", "b", "c" },
            };

            CreateRoomResponse roomResponse = client.CreateNewRoom(createRequest);

            Assert.AreEqual(roomResponse.Status.IsSuccess, true);
            Assert.IsTrue(roomResponse.CreatedRoom.RoomId != null);
            var roomId = roomResponse.CreatedRoom.RoomId;

            authHelper.loginToAccount("userTwo");

            // View open rooms.
            OpenLobbiesResponse openLobbiesResponse = client.GetOpenLobbies(new OpenLobbiesRequest());

            Assert.AreEqual(openLobbiesResponse.Status.IsSuccess, true);
            Assert.AreEqual(1, openLobbiesResponse.Rooms.Count);
            Assert.AreEqual(roomId, openLobbiesResponse.Rooms[0].RoomId);
            // Ensure the creator is a member of the game
            Assert.AreEqual(1, openLobbiesResponse.Rooms[0].Players.Count);
            Assert.AreEqual("userOne", openLobbiesResponse.Rooms[0].Players[0].Username);

            JoinRoomRequest joinRequest = new JoinRoomRequest()
            {
                RoomId = roomId,
            };

            JoinRoomResponse joinResponse = client.JoinRoom(joinRequest);

            Assert.AreEqual(joinResponse.Status.IsSuccess, true);

            OpenLobbiesResponse openLobbiesResponseAfterJoin = client.GetOpenLobbies(new OpenLobbiesRequest());

            Assert.AreEqual(openLobbiesResponseAfterJoin.Status.IsSuccess, true);
            Assert.AreEqual(1, openLobbiesResponseAfterJoin.Rooms.Count);
            Assert.AreEqual(roomId, openLobbiesResponseAfterJoin.Rooms[0].RoomId);
            Assert.AreEqual(2, openLobbiesResponseAfterJoin.Rooms[0].Players.Count);
            Assert.IsTrue(openLobbiesResponseAfterJoin.Rooms[0].Players.Any(it => it.Id == authHelper.getAccountId("userTwo")));
        }
Exemplo n.º 11
0
        public void PlayerCanJoinAGameRoom()
        {
            var roomId = createRoom();

            authHelper.loginToAccount("userTwo");

            // View open rooms.
            OpenLobbiesResponse openLobbiesResponse = client.GetOpenLobbies(new OpenLobbiesRequest());

            Assert.AreEqual(openLobbiesResponse.Status.IsSuccess, true);
            Assert.AreEqual(1, openLobbiesResponse.Rooms.Count);
            Assert.AreEqual(roomId, openLobbiesResponse.Rooms[0].Id);
            // Ensure the creator is a member of the game
            Assert.AreEqual(1, openLobbiesResponse.Rooms[0].Players.Count);
            Assert.AreEqual("userOne", openLobbiesResponse.Rooms[0].Players[0].Username);

            JoinRoomRequest joinRequest = new JoinRoomRequest()
            {
                RoomId = roomId,
            };

            JoinRoomResponse joinResponse = client.JoinRoom(joinRequest);

            Assert.AreEqual(joinResponse.Status.IsSuccess, true);

            OpenLobbiesResponse openLobbiesResponseAfterJoin = client.GetOpenLobbies(new OpenLobbiesRequest());

            Assert.AreEqual(openLobbiesResponseAfterJoin.Status.IsSuccess, true);
            Assert.AreEqual(1, openLobbiesResponseAfterJoin.Rooms.Count);
            Assert.AreEqual(roomId, openLobbiesResponseAfterJoin.Rooms[0].Id);
            Assert.AreEqual(2, openLobbiesResponseAfterJoin.Rooms[0].Players.Count);
            Assert.IsTrue(openLobbiesResponseAfterJoin.Rooms[0].Players.Any(it => it.Id == authHelper.getAccountId("userTwo")));
        }