Skunk
29e22c2c0a
bots: Create Link Shortener Bot.
...
Create Link Shortener Bot using the goo.gl Link Shortening API.
Link Shortener Bot can be mentioned in a conversation, and it will
respond with shortened, goo.gl links for every URL in the message.
For example,
> @link_shortener_bot @johnsmith Check out this file:
> https://github.com/zulip/python-zulip-api/blob/master/zulip_bots/
and Link Shortener Bot would respond
> https://github.com/zulip/python-zulip-api/blob/master/zulip_bots/ :
> https://goo.gl/Mt5z3c
In order to use Link Shortener Bot, an API key for goo.gl must be set
in `link_shortener.conf` in the `link_shortener` folder.
2017-12-05 06:08:30 -08:00
Rohitt Vashishtha
e5685adf2e
tests: Do not generate coverage report on Python 2.
...
Since we have dropped Python 2 support for the bots and botserver
packages, we now have 'invalid' syntax if we run coverage
for all packages in a Python 2 environment.
2017-12-04 07:27:20 -08:00
Rohitt Vashishtha
8cd310493a
mypy: Annotate helloworld bot.
2017-12-04 07:27:20 -08:00
Rohitt Vashishtha
69ad29faad
tools: Allow force including files for mypy.
2017-12-04 07:27:20 -08:00
fredfishgames
b157b817ae
interactive bots: Improve googlesearch bot.
2017-12-03 14:03:47 -08:00
Rhea Parekh
1d2d6c9cf7
slack: Fix travis tests.
2017-12-03 10:30:02 -08:00
Rhea Parekh
e5726fdc96
slack: fix type annonations.
2017-12-03 10:30:02 -08:00
Rhea Parekh
1f17c04115
slack: remove the messages and attachments mapping.
2017-12-03 10:30:02 -08:00
Rhea Parekh
455acb8e3b
slack: Make minor fixes in zerver_userprofile and zerver_realm mappings.
2017-12-03 10:30:02 -08:00
Rhea Parekh
8def7564dd
slack: Map recipients and subscriptions for private messages.
2017-12-03 10:30:02 -08:00
rht
cb1cafe194
slack: Add attachment.json skeleton.
...
Map the attachments but disable attachments
them for now.
2017-12-03 10:30:02 -08:00
rht
b7ab8b4257
slack: Add avatar and uploads records.json.
2017-12-03 10:30:02 -08:00
rht
9ce064b2c1
slack: Do minor fixes.
...
Minor fixes in zerver_userprofile mapping.
Remove TODO from REALM_ID task.
2017-12-03 10:30:02 -08:00
Rhea Parekh
7198aab1a9
slack: Fix zerver_message, zerver_defaultstream
...
and refactor zerver_usermessage implementation.
2017-12-03 10:30:02 -08:00
rht
6366448903
slack: Add minor changes.
...
Rename the function channelmessage2zerver_message to channelmessage2zerver_message_for_one_stream.
Compress the converted data with tar instead of zip.
Add changes in zerver_userprofile mapping and zerver_realm mappings.
Do the manage.py import from a directory instead.
2017-12-03 10:30:02 -08:00
Rhea Parekh
716570ceaa
slack: Add zerver_usermessage object and map flags_mask
2017-12-03 10:30:02 -08:00
rht
b3a7a4f937
Slack: Add zerver_defaultstream feature.
...
Thanks to @rheaparekh for pointing out the doc for sanity check ;)
2017-12-03 10:30:02 -08:00
rht
46fd234824
slack: Clarify var naming of sanitize text function.
2017-12-03 10:30:02 -08:00
Rhea Parekh
ce51d99c6a
slack: Sanitize the message text and fix Travis test.
2017-12-03 10:30:02 -08:00
rht
7db4e36752
slack: Add minor changes.
...
Set default value to be False for message's has_image
Update type signature to functions.
Set default to be false for msg's has_link.
2017-12-03 10:30:02 -08:00
rht
a645ba233f
slack: Add test for ./manage.py import zulip_data
.
2017-12-03 10:30:02 -08:00
Rhea Parekh
a02f0f98c1
slack: Map recipient and fix subscription mapping.
2017-12-03 10:30:02 -08:00
rht
704b742f82
slack: Handle avatar from slack if it is stored in gravatar.
...
Thank you @**Rhea** for the research.
2017-12-03 10:30:02 -08:00
rht
c6156fd958
slack: Add test fixture.
2017-12-03 10:30:02 -08:00
rht
cd3db24bca
Add slack data importer.
...
This importer is more comprehensive than the existing one.
slack import: Reduce TODO count.
2017-12-03 10:30:02 -08:00
Skunk
c2c79cf989
tests: Refactor mock_http_conversation
with deduplicating.
...
Move `get_response` inside of `mock_http_conversation`, as it is not
used anywhere else. Also create `assert_called_with_fields`.
`assert_called_with_fields` calls the `assert_called_with` method of a
mock object by using an HTTP request and a list of fields to look for.
2017-12-03 10:26:42 -08:00
Skunk
bd0462f7b5
tests: Extend mock_http_conversation
to support POST requests.
2017-12-03 10:26:42 -08:00
Steve Howell
fab9d46f93
Simplify test_wikipedia.py.
...
We now use StubBotTestCase.verify_reply().
2017-12-01 13:42:59 -08:00
Steve Howell
16e50e991b
bot tests: Add StubBotTestCase.verify_reply().
2017-12-01 13:42:59 -08:00
Steve Howell
db08586df6
Promote mock_http_conversations to its superclass.
2017-12-01 13:42:59 -08:00
Steve Howell
3f79136dd7
bot tests: Introduce transcript
in StubBotHandler
.
...
This sets us up to validate more aspects of the conversation,
and it also introduces the more rigorously checked
`unique_response` helper.
(This also fixes a minor copy/paste error from a prior commit
that was harmless.)
2017-12-01 13:42:59 -08:00
Steve Howell
c02e141f7f
bot tests: Use StubBotTestCase for helloworld bot.
2017-12-01 07:00:20 -08:00
Steve Howell
4ede1a5564
bot tests: Use StubBotTestCase for help bot.
2017-12-01 07:00:20 -08:00
Steve Howell
6087cf95e2
bot tests: Use StubBotTestCase in tictactoe.
...
Note that we now only have one conversation, since the case
of sending to streams has the same mechanics as sending PMs.
We'll eventually want a separate test to drive out differences
in the actual mechanics of the reply.
2017-12-01 07:00:20 -08:00
Steve Howell
77dbe92ad8
minor: Remove some dead code in BotTestCaseBase.
2017-12-01 07:00:20 -08:00
Steve Howell
c0ceb9857f
Rewrite incrementor bot tests.
...
Using StubBotHandler makes it fairly easy to verify the key
feature of the incrementor bot, which is that it updates
messages sequentially.
2017-12-01 07:00:20 -08:00
Steve Howell
fc251460fa
bot tests: Eliminate BotTestCaseBase.
...
We now just put `test_bot_usage` in StubBotTestCase and have
BotTestCase inherit from that.
2017-12-01 07:00:20 -08:00
Steve Howell
205f7c16c7
Add StubBotTestCase and StubBotHandler.
...
We will start to use these for some of our bot test code.
2017-12-01 07:00:20 -08:00
Steve Howell
fe662ed145
bot tests: Split up mock_http_conversation().
...
This method had two pretty easy-to-separate concerns:
* find the fixture data using our directory conventions
* use the fixture data to simulate a real HTTP request
Part of the goal here is to make the extracted functions a
bit easier to use in other TestCase-based classes without
needing to subclass from BotTestCaseBase, which is kind of
complex with its setUp/tearDown.
2017-12-01 07:00:20 -08:00
Steve Howell
0a477b0736
Extract get_bot_message_handler().
2017-12-01 07:00:20 -08:00
Robert Hönig
4ca11fdd67
Make venv creation with Python 2 harder.
...
Python 2 venvs can now only be created with
tools/provision --force.
2017-11-30 02:07:55 -08:00
neiljp (Neil Pilgrim)
1e5e931421
Tests: Extend test-lib script to support coverage parameter & add to test-main
2017-11-29 17:07:30 -08:00
neiljp (Neil Pilgrim)
39601d190c
bot lib tests: Add test_send_reply.
2017-11-29 15:56:30 -08:00
Steve Howell
efeac92d42
Add tools/test-lib.
...
This starts to add direct test coverage on
zulip_bots/zulip_bots/lib.py.
It is not yet integrated into tools/test-main.
2017-11-29 13:45:51 -08:00
neiljp (Neil Pilgrim)
3e135b8e1e
bot testing: Enable testing of multiple responses from single messages.
2017-11-29 10:05:46 -08:00
Abhijeet Kaur
91c4ff668d
bots: Clean up terminal.py for running bots directly.
...
Make terminal.py exit gracefully with a message.
Modify output bot reply for better understanding in multi-line
output.
2017-11-29 10:05:06 -08:00
Skunk
353475f245
docs: Mention Python 3 in the README.
2017-11-29 08:32:33 -08:00
Eeshan Garg
c3ab265d3e
packaging: Upgrade to release 0.3.9.
2017-11-29 01:23:12 -03:30
Robert Hönig
2cb43256e0
zulip_bots: Get 100% test coverage for giphy bot.
2017-11-28 15:42:22 -08:00
Robert Hönig
93edededdd
zulip_bots: Use real Response object for mock_http_conversation().
2017-11-28 15:42:22 -08:00