add site/user.py and fix unittest