#73: added functional tests
Fix for #75
#73: checking request preconditions accordingly as per the spec