[promises] ensure that Promise.map doesn't throw
[courier/docSource] use courier/fetch to fake responses to requests