示例#1
0
        public async Task GetUserByTokenAsyncTest()
        {
            // Create the user
            var created = await UserHelper.CreateNewUserAsync();

            // Setup user token
            var token = await UserHelper.AuthenticateAsync(created.Username, created.Password);

            App.UserToken = token;

            // Get the created user
            var getUserRequest = new GetUserRequest()
            {
                UserId = token, UserIdType = "token"
            };
            var getUserResponse = await getUserRequest.ExecuteAsync();

            ApiHelper.EnsureValidResponse(getUserResponse);
            Assert.IsNotNull(getUserResponse.User);
            Assert.IsTrue(getUserResponse.User.Username == created.Username);
            Assert.IsTrue(getUserResponse.User.FirstName == created.FirstName);
            Assert.IsTrue(getUserResponse.User.LastName == created.LastName);
            Assert.IsTrue(getUserResponse.User.Email == created.Email);
            Assert.IsTrue(getUserResponse.User.DateOfBirth == created.DateOfBirth);
            Assert.IsTrue(getUserResponse.User.Phone == created.Phone);
            var user2 = getUserResponse.User;

            Console.WriteLine("Username: {0}", user2.Username);
            Console.WriteLine("Firstname: {0}", user2.FirstName);
            Console.WriteLine("Lastname: {0}", user2.LastName);
            Console.WriteLine("Email: {0}", user2.Email);
            Console.WriteLine("Birthdate: {0}", user2.DateOfBirth);
            Console.WriteLine("Phone: {0}", user2.Phone);
        }
示例#2
0
        public static async Task <APUser> GetExistingUserAsync(string id)
        {
            Console.WriteLine("Getting existing user with id {0}.", id);
            var getRequest = new GetUserRequest()
            {
                UserId = id
            };
            var getResponse = await getRequest.ExecuteAsync();

            Assert.IsNotNull(getResponse, "Cannot get updated user for user id {0}.", id);
            Assert.IsNotNull(getResponse.Status, "Status for get user call is null.");
            if (getResponse.Status.IsSuccessful == false)
            {
                Assert.Fail(getResponse.Status.Message);
            }
            Assert.IsNotNull(getResponse.User, "Get user for id {0} returned null.", id);
            return(getResponse.User);
        }
        /// <summary>
        /// Get user by id.
        /// </summary>
        /// <param name="id">Id of the user article</param>
        /// <param name="fields">Optional fields that you want to get. </param>
        /// <returns>The user with the specified id</returns>
        public static async Task <User> GetByUsernameAsync(string username, IEnumerable <string> fields = null)
        {
            var request = new GetUserRequest {
                UserId = username, UserIdType = "username"
            };

            if (fields != null)
            {
                request.Fields.AddRange(fields);
            }

            var response = await request.ExecuteAsync();

            if (response.Status.IsSuccessful == false)
            {
                throw response.Status.ToFault();
            }
            Debug.Assert(response.User != null, "For a successful get call, article should always be returned.");
            return(response.User);
        }
示例#4
0
        /// <summary>
        /// Gets an existing user by user session token.
        /// </summary>
        /// <param name="token">User session token.</param>
        /// <param name="fields">The user fields to be retrieved.</param>
        /// <param name="options">Request specific api options. These will override the global settings for the app for this request.</param>
        public static async Task <APUser> GetUserByTokenAsync(string token, IEnumerable <string> fields = null, ApiOptions options = null)
        {
            var request = new GetUserRequest {
                UserIdType = "token", UserToken = token
            };

            if (fields != null)
            {
                request.Fields.AddRange(fields);
            }
            ApiOptions.Apply(request, options);
            var response = await request.ExecuteAsync();

            if (response.Status.IsSuccessful == false)
            {
                throw response.Status.ToFault();
            }
            Debug.Assert(response.User != null, "For a successful get call, object should always be returned.");
            return(response.User);
        }
        public async Task GetUserByIdAsyncTest()
        {
            // Create the user
            var created = await UserHelper.CreateNewUserAsync();

            await AppContext.LoginAsync(new UsernamePasswordCredentials(created.Username, created.Password));

            // Setup user token
            string token = await UserHelper.AuthenticateAsync(created.Username, created.Password);

            // Get the created user
            GetUserResponse getUserResponse = null;

            var getUserRequest = new GetUserRequest()
            {
                UserId = created.Id
            };

            getUserResponse = await getUserRequest.ExecuteAsync();

            ApiHelper.EnsureValidResponse(getUserResponse);
            Assert.IsNotNull(getUserResponse.User);

            Assert.IsTrue(getUserResponse.User.Username == created.Username);
            Assert.IsTrue(getUserResponse.User.FirstName == created.FirstName);
            Assert.IsTrue(getUserResponse.User.LastName == created.LastName);
            Assert.IsTrue(getUserResponse.User.Email == created.Email);
            Assert.IsTrue(getUserResponse.User.DateOfBirth == created.DateOfBirth);
            Assert.IsTrue(getUserResponse.User.Phone == created.Phone);
            var user2 = getUserResponse.User;

            Console.WriteLine("Username: {0}", user2.Username);
            Console.WriteLine("Firstname: {0}", user2.FirstName);
            Console.WriteLine("Lastname: {0}", user2.LastName);
            Console.WriteLine("Email: {0}", user2.Email);
            Console.WriteLine("Birthdate: {0}", user2.DateOfBirth);
            Console.WriteLine("Phone: {0}", user2.Phone);
        }