Several of our bots haven't been converted to have mock responses for
third-party APIs yet, and we may want that code path for with-network
testing anyway.
Mock requests.get function for bots relying on external services
which may return different results. 'http_response' is mocked to
check if the bots run well and to make the tests determinitic. The
code first checks if the http request corresponding to the http response
is called or not.
This commit renders test files of bots using the internet
(third party) services to Fail. As requests.get() is replaced
by our mock function.
Since we have not provided mock http response for bots like xkcd,
wikipedia, define etc. Their requests.get() function returns empty
message.
Since few bots directly call 'send_message' function of
'BotHandlerApi' class instead of calling 'send_reply' function
first, add 'mock_test_send_message' to check for 'send_message'
function.
All test_<bot>.py files now need to specify which function the bot
will be sending the response to, for each particular message.
Make 'test_virtual_fs.py' and 'test_thesaurus.py' test files
consistent with other bots.