public void Given_User_Does_Not_Exist_Return_New_User_Id() { _subjectUnderTest.GetUserId(new GetUserIdRequest { }); var userIdRequest = new GetUserIdRequest { }; var userIdResponse = _subjectUnderTest.GetUserId(userIdRequest); var userId = userIdResponse.Result.UserId; var expectedUserId = "1"; var expectedUsers = new List <string> { "0", "1" }; userId.Should().Be(expectedUserId); _users.Should().Equal(expectedUsers); }
/// <summary> /// If user does not exist, add user Id to list of users and return added user Id. /// Otherwise, return existing user Id. /// </summary> public Task <GetUserIdResponse> GetUserId(GetUserIdRequest request) { // TODO: Remove user ID from list of users once user's connection is gone. // Return same user ID if user calls this method more than once var userExists = _users.Contains(request.UserId); if (userExists) { return(Task.FromResult(new GetUserIdResponse { UserId = request.UserId })); } _users.Add(Convert.ToString(_users.Count)); return(Task.FromResult(new GetUserIdResponse { UserId = _users[_users.Count - 1] })); }
protected abstract Task <GetUserIdResponse> GetUserId(GetUserIdRequest request);
public override Task <GetUserIdResponse> GetUserId(GetUserIdRequest request, ServerCallContext context) { return(new UserRequestHandler(_users).GetUserId(request)); }