subscribe/unsubscribe with tests