add unit test for unsigned role
improvement password and some other improvement