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); }
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); }