Esempio n. 1
0
        private UserInfo CreateUserWithVerifiedEmailAddressAndPicture(string email, string password)
        {
            WebAccountService.WebAccountService endpoint = new WebAccountService.WebAccountService();

            UserInfo result = new UserInfo();

            result.email    = email;
            result.password = password;

            result.id = CreateUser(email, password);
            Assert.IsTrue(result.id > 0);

            result.ticket = Login(email, password);
            Assert.IsNotEmpty(result.ticket);

            Assert.IsFalse(endpoint.HasVerifiedEmail(result.ticket, result.id));
            WebAccountService.TransitAccountEmailConfirmation[] confirmations = endpoint.GetAccountEmailConfirmations(
                GetAdminTicket(), result.id, null);

            string verifiedemail = endpoint.VerifyAccountEmail(
                confirmations[0].Id, confirmations[0].Code);

            Console.WriteLine("Verified: {0}", verifiedemail);
            Assert.AreEqual(verifiedemail, result.email);
            Assert.IsTrue(endpoint.HasVerifiedEmail(result.ticket, result.id));

            WebAccountService.TransitAccountPicture t_picture = new WebAccountService.TransitAccountPicture();
            t_picture.AccountId = result.id;
            t_picture.Bitmap    = GetNewBitmap();
            t_picture.Name      = Guid.NewGuid().ToString();
            endpoint.CreateOrUpdateAccountPicture(result.ticket, t_picture);

            return(result);
        }
Esempio n. 2
0
        public void AcceptAccountFriendRequestTest()
        {
            string email    = GetNewEmailAddress();
            string password = "******";
            int    user_id  = CreateUser(email, password);

            Console.WriteLine("Email: {0}", email);
            // verify the user e-mail
            WebAccountService.WebAccountService account_endpoint = new WebAccountService.WebAccountService();
            WebAccountService.TransitAccountEmailConfirmation[] confirmations = account_endpoint.GetAccountEmailConfirmations(GetAdminTicket(), user_id, null);
            string verifiedemail = account_endpoint.VerifyAccountEmail(confirmations[0].Id, confirmations[0].Code);

            Console.WriteLine("Verified: {0}", verifiedemail);
            // admin is not a friend with the new user
            WebSocialService.TransitAccountFriendQueryOptions qopt = new WebSocialService.TransitAccountFriendQueryOptions();
            qopt.AccountId = GetAdminAccount().Id;
            WebSocialService.TransitAccountFriend[] friends_before = EndPoint.GetAccountFriends(GetAdminTicket(), qopt, null);
            Assert.IsFalse(new TransitServiceCollection <WebSocialService.TransitAccountFriend>(friends_before).ContainsId(user_id, "FriendId"));
            // admin requests to be friends with the new user
            int friend_request_id = EndPoint.CreateOrUpdateAccountFriendRequest(GetAdminTicket(), user_id, GetNewString());

            Console.WriteLine("Created friend request: {0}", friend_request_id);
            // there's an e-mail to the user that admin has requested to be friends with
            WebAccountService.TransitAccountEmailMessage[] messages_request = account_endpoint.GetAccountEmailMessages(GetAdminTicket(), null);
            Assert.IsTrue(messages_request.Length > 0);
            WebAccountService.TransitAccountEmailMessage message_request = messages_request[messages_request.Length - 1];
            Console.WriteLine("Email: {0} to {1}", message_request.Subject, message_request.MailTo);
            Assert.IsTrue(message_request.Subject.Contains("wants to be your friend"));
            Assert.IsTrue(message_request.MailTo.Contains(email));
            // accept the friends request
            string ticket = Login(email, password);

            EndPoint.AcceptAccountFriendRequest(ticket, friend_request_id, GetNewString());
            // check that these two are friends
            WebSocialService.TransitAccountFriend[] friends_after = EndPoint.GetAccountFriends(GetAdminTicket(), qopt, null);
            Assert.IsTrue(new TransitServiceCollection <WebSocialService.TransitAccountFriend>(friends_after).ContainsId(user_id, "FriendId"));
            Assert.AreEqual(friends_before.Length + 1, friends_after.Length);
            // there's an e-mail to the administrator confirming that the user accepted the friends request
            WebAccountService.TransitAccountEmailMessage[] messages_accepted = account_endpoint.GetAccountEmailMessages(GetAdminTicket(), null);
            Assert.IsTrue(messages_accepted.Length > 0);
            WebAccountService.TransitAccountEmailMessage message_accepted = messages_accepted[messages_accepted.Length - 1];
            Console.WriteLine("Email: {0} to {1}", message_accepted.Subject, message_accepted.MailTo);
            Assert.IsTrue(message_accepted.Subject.Contains("accepted your request"));
            Assert.IsFalse(message_accepted.MailTo.Contains(email));
            // check that the friend request is deleted
            WebSocialService.TransitAccountFriendRequest[] requests = EndPoint.GetSentAccountFriendRequests(GetAdminTicket(), GetAdminAccount().Id, null);
            Assert.IsFalse(new TransitServiceCollection <WebSocialService.TransitAccountFriendRequest>(requests).ContainsId(friend_request_id));
            DeleteUser(user_id);
        }