Thanks for the kind words.
Note that when you are inside a JSFUnit test, ExternalContext.getRequest() can yield unexpected results. This is documented in the javadoc. The reason is because the container may recycle the HttpServletRequest object at the end of the request.
JSFUnit will cache the remote user in the JSFUnitExternalContext. So the way to get the remote user in a JSFUnit test is to call:
Hope that helps. If not, can you post your code so I can get a better idea of what you are trying to do?