server: add functional tests

Make test coverage >= 90%

#1019 
good point to use _!