From 1de704394a5a90b1f4594d8e4a25f7f6195381eb Mon Sep 17 00:00:00 2001 From: Xavier Cooney Date: Fri, 5 Jan 2018 22:09:21 +1100 Subject: [PATCH] interactive bots: Create idonethis bot. --- tools/run-mypy | 4 +- .../zulip_bots/bots/idonethis/__init__.py | 0 .../idonethis-entries-list-specific-team.png | Bin 0 -> 15749 bytes .../bots/idonethis/assets/idonethis-help.png | Bin 0 -> 35231 bytes .../assets/idonethis-invalid-command.png | Bin 0 -> 14887 bytes .../idonethis-list-entries-all-teams.png | Bin 0 -> 23635 bytes .../idonethis/assets/idonethis-list-teams.png | Bin 0 -> 11104 bytes .../idonethis-new-entry-specific-team.png | Bin 0 -> 12374 bytes .../idonethis/assets/idonethis-new-entry.png | Bin 0 -> 13187 bytes .../idonethis/assets/idonethis-team-info.png | Bin 0 -> 12203 bytes zulip_bots/zulip_bots/bots/idonethis/doc.md | 46 ++++ .../bots/idonethis/fixtures/api_noop.json | 13 ++ .../bots/idonethis/fixtures/team_list.json | 26 +++ .../bots/idonethis/fixtures/test_401.json | 15 ++ .../idonethis/fixtures/test_create_entry.json | 37 +++ .../fixtures/test_create_entry_team_2.json | 37 +++ .../idonethis/fixtures/test_entries_list.json | 74 ++++++ .../idonethis/fixtures/test_show_team.json | 18 ++ .../zulip_bots/bots/idonethis/idonethis.conf | 3 + .../zulip_bots/bots/idonethis/idonethis.py | 217 ++++++++++++++++++ .../bots/idonethis/test_idonethis.py | 93 ++++++++ 21 files changed, 582 insertions(+), 1 deletion(-) create mode 100644 zulip_bots/zulip_bots/bots/idonethis/__init__.py create mode 100644 zulip_bots/zulip_bots/bots/idonethis/assets/idonethis-entries-list-specific-team.png create mode 100644 zulip_bots/zulip_bots/bots/idonethis/assets/idonethis-help.png create mode 100644 zulip_bots/zulip_bots/bots/idonethis/assets/idonethis-invalid-command.png create mode 100644 zulip_bots/zulip_bots/bots/idonethis/assets/idonethis-list-entries-all-teams.png create mode 100644 zulip_bots/zulip_bots/bots/idonethis/assets/idonethis-list-teams.png create mode 100644 zulip_bots/zulip_bots/bots/idonethis/assets/idonethis-new-entry-specific-team.png create mode 100644 zulip_bots/zulip_bots/bots/idonethis/assets/idonethis-new-entry.png create mode 100644 zulip_bots/zulip_bots/bots/idonethis/assets/idonethis-team-info.png create mode 100644 zulip_bots/zulip_bots/bots/idonethis/doc.md create mode 100644 zulip_bots/zulip_bots/bots/idonethis/fixtures/api_noop.json create mode 100644 zulip_bots/zulip_bots/bots/idonethis/fixtures/team_list.json create mode 100644 zulip_bots/zulip_bots/bots/idonethis/fixtures/test_401.json create mode 100644 zulip_bots/zulip_bots/bots/idonethis/fixtures/test_create_entry.json create mode 100644 zulip_bots/zulip_bots/bots/idonethis/fixtures/test_create_entry_team_2.json create mode 100644 zulip_bots/zulip_bots/bots/idonethis/fixtures/test_entries_list.json create mode 100644 zulip_bots/zulip_bots/bots/idonethis/fixtures/test_show_team.json create mode 100644 zulip_bots/zulip_bots/bots/idonethis/idonethis.conf create mode 100644 zulip_bots/zulip_bots/bots/idonethis/idonethis.py create mode 100644 zulip_bots/zulip_bots/bots/idonethis/test_idonethis.py diff --git a/tools/run-mypy b/tools/run-mypy index ebe9003..dfd285d 100755 --- a/tools/run-mypy +++ b/tools/run-mypy @@ -80,7 +80,9 @@ force_include = [ "zulip_bots/zulip_bots/bots/baremetrics/baremetrics.py", "zulip_bots/zulip_bots/bots/baremetrics/test_baremetrics.py", "zulip_bots/zulip_bots/bots/salesforce/salesforce.py", - "zulip_bots/zulip_bots/bots/salesforce/test_salesforce.py" + "zulip_bots/zulip_bots/bots/salesforce/test_salesforce.py", + "zulip_bots/zulip_bots/bots/idonethis/idonethis.py", + "zulip_bots/zulip_bots/bots/idonethis/test_idonethis.py" ] parser = argparse.ArgumentParser(description="Run mypy on files tracked by git.") diff --git a/zulip_bots/zulip_bots/bots/idonethis/__init__.py b/zulip_bots/zulip_bots/bots/idonethis/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/zulip_bots/zulip_bots/bots/idonethis/assets/idonethis-entries-list-specific-team.png b/zulip_bots/zulip_bots/bots/idonethis/assets/idonethis-entries-list-specific-team.png new file mode 100644 index 0000000000000000000000000000000000000000..455377aed38761afa03d791889a47d44756675e0 GIT binary patch literal 15749 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 literal 0 HcmV?d00001 diff --git a/zulip_bots/zulip_bots/bots/idonethis/assets/idonethis-help.png b/zulip_bots/zulip_bots/bots/idonethis/assets/idonethis-help.png new file mode 100644 index 0000000000000000000000000000000000000000..1a91366a0729bcc27834421a7738fbe1c1e8b37f GIT binary patch literal 35231 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 literal 0 HcmV?d00001 diff --git a/zulip_bots/zulip_bots/bots/idonethis/assets/idonethis-list-teams.png b/zulip_bots/zulip_bots/bots/idonethis/assets/idonethis-list-teams.png new file mode 100644 index 0000000000000000000000000000000000000000..dcc77dd95ec90f5c7863ab8b9ec4ab7021eeba19 GIT binary patch literal 11104 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 literal 0 HcmV?d00001 diff --git a/zulip_bots/zulip_bots/bots/idonethis/assets/idonethis-team-info.png b/zulip_bots/zulip_bots/bots/idonethis/assets/idonethis-team-info.png new file mode 100644 index 0000000000000000000000000000000000000000..372eb76a1f6ad013d0fe6f7e561677bf7495b0e7 GIT binary patch literal 12203 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 literal 0 HcmV?d00001 diff --git a/zulip_bots/zulip_bots/bots/idonethis/doc.md b/zulip_bots/zulip_bots/bots/idonethis/doc.md new file mode 100644 index 0000000..d591b1d --- /dev/null +++ b/zulip_bots/zulip_bots/bots/idonethis/doc.md @@ -0,0 +1,46 @@ +# idonethis bot + +The idonethis bot is a Zulip bot which allows interaction with [idonethis](https://idonethis.com/) +through Zulip. It can peform actions such as viewing teams, list entries and creating entries. + +To use the bot simply @-mention the bot followed by a specific command. See the usage section +below for a list of available commands. + +## Setup + +Before proceeding further, ensure you have an idonethis account. + + 1. Go to [your idonethis settings](https://beta.idonethis.com/u/settings), scroll down +and copy your API token. + 2. Open up `zulip_bots/bots/idonethis/idonethis.conf` in your favorite editor, and change +`api_key` to your API token. + 3. Optionally, change the `default_team` value to your default team for creating new messages. +If this is not specified, a team will be required to be manually specified every time an entry is created. + +Run this bot as described [here](https://zulipchat.com/api/running-bots#running-a-bot). + +## Usage + +`` can either be the name or ID of a team. + + * `@mention help` view this help message. + ![](/static/generated/bots/idonethis/assets/idonethis-help.png) + * `@mention teams list` or `@mention list teams` + List all the teams. + ![](/static/generated/bots/idonethis/assets/idonethis-list-teams.png) + * `@mention team info `. + Show information about one ``. + ![](/static/generated/bots/idonethis/assets/idonethis-team-info.png) + * `@mention entries list` or `@mention list entries`. + List entries from any team + ![](/static/generated/bots/idonethis/assets/idonethis-entries-all-teams.png) + * `@mention entries list ` or `@mention list entries ` + List all entries from ``. + ![](/static/generated/bots/idonethis/assets/idonethis-list-entries-specific-team.png) + * `@mention entries create` or `@mention new entry` or `@mention create entry` + or `@mention new entry` or `@mention i did` + Create a new entry. Optionally supply `--team=` for teams with no spaces or `"--team="` + for teams with spaces. For example `@mention i did "--team=product team" something` will create a + new entry `something` for the product team. + ![](/static/generated/bots/idonethis/assets/idonethis-new-entry.png) + ![](/static/generated/bots/idonethis/assets/idonethis-new-entry-specific-team.png) diff --git a/zulip_bots/zulip_bots/bots/idonethis/fixtures/api_noop.json b/zulip_bots/zulip_bots/bots/idonethis/fixtures/api_noop.json new file mode 100644 index 0000000..1b055b5 --- /dev/null +++ b/zulip_bots/zulip_bots/bots/idonethis/fixtures/api_noop.json @@ -0,0 +1,13 @@ +{ + "request": { + "api_url": "https://beta.idonethis.com/api/v2/noop", + "headers": { + "Authorization": "Token 12345678" + } + }, + "response": {"doesnt": "matter"}, + "response-headers": { + "status": 200, + "content-type": "application/json; charset=utf-8" + } +} diff --git a/zulip_bots/zulip_bots/bots/idonethis/fixtures/team_list.json b/zulip_bots/zulip_bots/bots/idonethis/fixtures/team_list.json new file mode 100644 index 0000000..d45e542 --- /dev/null +++ b/zulip_bots/zulip_bots/bots/idonethis/fixtures/team_list.json @@ -0,0 +1,26 @@ +{ + "request": { + "api_url": "https://beta.idonethis.com/api/v2/teams", + "headers": { + "Authorization": "Token 12345678" + } + }, + "response": [ + { + "name": "testing team 1", + "created_at": "2017-12-28T19:12:24.977+11:00", + "updated_at": "2017-12-28T19:12:24.977+11:00", + "hash_id": "31415926535" + }, + { + "name": "test_team_2", + "created_at": "2017-12-28T19:12:55.121+11:00", + "updated_at": "2017-12-28T19:12:55.121+11:00", + "hash_id": "8979deadbeef" + } + ], + "response-headers": { + "status": 200, + "content-type": "application/json; charset=utf-8" + } +} diff --git a/zulip_bots/zulip_bots/bots/idonethis/fixtures/test_401.json b/zulip_bots/zulip_bots/bots/idonethis/fixtures/test_401.json new file mode 100644 index 0000000..bab3b09 --- /dev/null +++ b/zulip_bots/zulip_bots/bots/idonethis/fixtures/test_401.json @@ -0,0 +1,15 @@ +{ + "request": { + "api_url": "https://beta.idonethis.com/api/v2/teams", + "headers": { + "Authorization": "Token 87654321" + } + }, + "response": { + "error": "Invalid API Authentication" + }, + "response-headers": { + "status": 401, + "content-type": "application/json; charset=utf-8" + } +} diff --git a/zulip_bots/zulip_bots/bots/idonethis/fixtures/test_create_entry.json b/zulip_bots/zulip_bots/bots/idonethis/fixtures/test_create_entry.json new file mode 100644 index 0000000..9a560ab --- /dev/null +++ b/zulip_bots/zulip_bots/bots/idonethis/fixtures/test_create_entry.json @@ -0,0 +1,37 @@ +{ + "request": { + "api_url": "https://beta.idonethis.com/api/v2/entries", + "method": "POST", + "json": { + "body": "something and something else", + "team_id": "31415926535" + }, + "headers": { + "Authorization": "Token 12345678" + } + }, + "response": { + "body": "something and something else", + "created_at": "2018-01-04T20:07:58.078+11:00", + "updated_at": "2018-01-04T20:07:58.078+11:00", + "occurred_on": "2018-01-04", + "status": "done", + "hash_id": "fa974ad8c1acb9e81361a051a697f9dae22908d6", + "completed_on": null, + "archived_at": null, + "body_formatted": "something and something else", + "team": { + "name": "testing team 1", + "hash_id": "31415926535" + }, + "user": { + "email_address": "xavier.cooney03@gmail.com", + "full_name": "Benji Franklin", + "hash_id": "f22a944f" + } + }, + "response-headers": { + "status": 200, + "content-type": "application/json; charset=utf-8" + } +} diff --git a/zulip_bots/zulip_bots/bots/idonethis/fixtures/test_create_entry_team_2.json b/zulip_bots/zulip_bots/bots/idonethis/fixtures/test_create_entry_team_2.json new file mode 100644 index 0000000..d8a2f5a --- /dev/null +++ b/zulip_bots/zulip_bots/bots/idonethis/fixtures/test_create_entry_team_2.json @@ -0,0 +1,37 @@ +{ + "request": { + "api_url": "https://beta.idonethis.com/api/v2/entries", + "method": "POST", + "json": { + "body": "something and something else", + "team_id": "8979deadbeef" + }, + "headers": { + "Authorization": "Token 12345678" + } + }, + "response": { + "body": "something and something else", + "created_at": "2018-01-04T20:07:58.078+11:00", + "updated_at": "2018-01-04T20:07:58.078+11:00", + "occurred_on": "2018-01-04", + "status": "done", + "hash_id": "fa974ad8c1acb9e81361a051a697f9dae22908d6", + "completed_on": null, + "archived_at": null, + "body_formatted": "something and something else", + "team": { + "name": "test_team_2", + "hash_id": "8979deadbeef" + }, + "user": { + "email_address": "xavier.cooney03@gmail.com", + "full_name": "Benji Franklin", + "hash_id": "f22a944f" + } + }, + "response-headers": { + "status": 200, + "content-type": "application/json; charset=utf-8" + } +} diff --git a/zulip_bots/zulip_bots/bots/idonethis/fixtures/test_entries_list.json b/zulip_bots/zulip_bots/bots/idonethis/fixtures/test_entries_list.json new file mode 100644 index 0000000..5a3ec9e --- /dev/null +++ b/zulip_bots/zulip_bots/bots/idonethis/fixtures/test_entries_list.json @@ -0,0 +1,74 @@ +{ + "request": { + "api_url": "https://beta.idonethis.com/api/v2/entries?team_id=31415926535", + "headers": { + "Authorization": "Token 12345678" + } + }, + "response": [ + { + "body": "TESTING<>", + "created_at": "2018-01-04T21:10:13.084+11:00", + "updated_at": "2018-01-04T21:10:13.084+11:00", + "occurred_on": "2018-01-04", + "status": "done", + "hash_id": "65e1b21fd8f63adede1daae0bdf28c0e47b84923", + "completed_on": null, + "archived_at": null, + "body_formatted": "TESTING", + "team": { + "name": "testing team 1", + "hash_id": "31415926535" + }, + "user": { + "email_address": "john.doe@generic.name", + "full_name": "John Doe", + "hash_id": "deadbeef" + } + }, + { + "body": "Grabbing some more data...", + "created_at": "2018-01-04T20:07:58.078+11:00", + "updated_at": "2018-01-04T20:07:58.078+11:00", + "occurred_on": "2018-01-04", + "status": "done", + "hash_id": "fa974ad8c1acb9e81361a051a697f9dae22908d6", + "completed_on": null, + "archived_at": null, + "body_formatted": "Grabbing some more data...", + "team": { + "name": "testing team 1", + "hash_id": "31415926535" + }, + "user": { + "email_address": "john.doe@generic.name", + "full_name": "John Doe", + "hash_id": "deadbeef" + } + }, + { + "body": "GRABBING HTTP DATA", + "created_at": "2018-01-04T19:07:17.214+11:00", + "updated_at": "2018-01-04T19:07:17.214+11:00", + "occurred_on": "2018-01-04", + "status": "done", + "hash_id": "72c8241d2218464433268c5abd6625ac104e3d8f", + "completed_on": null, + "archived_at": null, + "body_formatted": "GRABBING HTTP DATA", + "team": { + "name": "testing team 1", + "hash_id": "31415926535" + }, + "user": { + "email_address": "john.doe@generic.name", + "full_name": "John Doe", + "hash_id": "deadbeef" + } + } + ], + "response-headers": { + "status": 200, + "content-type": "application/json; charset=utf-8" + } +} diff --git a/zulip_bots/zulip_bots/bots/idonethis/fixtures/test_show_team.json b/zulip_bots/zulip_bots/bots/idonethis/fixtures/test_show_team.json new file mode 100644 index 0000000..43febcb --- /dev/null +++ b/zulip_bots/zulip_bots/bots/idonethis/fixtures/test_show_team.json @@ -0,0 +1,18 @@ +{ + "request": { + "api_url": "https://beta.idonethis.com/api/v2/teams/31415926535", + "headers": { + "Authorization": "Token 12345678" + } + }, + "response": { + "hash_id": "31415926535", + "name": "testing team 1", + "created_at": "2017-12-28T19:12:55.121+11:00", + "updated_at": "2017-12-28T19:12:55.121+11:00" + }, + "response-headers": { + "status": 200, + "content-type": "application/json; charset=utf-8" + } +} diff --git a/zulip_bots/zulip_bots/bots/idonethis/idonethis.conf b/zulip_bots/zulip_bots/bots/idonethis/idonethis.conf new file mode 100644 index 0000000..21a0b8a --- /dev/null +++ b/zulip_bots/zulip_bots/bots/idonethis/idonethis.conf @@ -0,0 +1,3 @@ +[idonethis] +api_key = 45ba63047f8edbd0ddb9531bfa0971dd1e575313 +default_team = product team diff --git a/zulip_bots/zulip_bots/bots/idonethis/idonethis.py b/zulip_bots/zulip_bots/bots/idonethis/idonethis.py new file mode 100644 index 0000000..be289bc --- /dev/null +++ b/zulip_bots/zulip_bots/bots/idonethis/idonethis.py @@ -0,0 +1,217 @@ +import sys +import requests +import logging +import re + +from typing import Any, Dict + +API_BASE_URL = "https://beta.idonethis.com/api/v2" + +api_key = "" +default_team = "" + +class AuthenticationException(Exception): + pass + +class TeamNotFoundException(Exception): + def __init__(self, team: str) -> None: + self.team = team + +class UnknownCommandSyntax(Exception): + def __init__(self, detail: str) -> None: + self.detail = detail + pass + +class UnspecifiedProblemException(Exception): + pass + +def make_API_request(endpoint: str, method: str="GET", body: Dict[str, str]=None) -> Any: + headers = {'Authorization': 'Token ' + api_key} + if method == "GET": + r = requests.get(API_BASE_URL + endpoint, headers=headers) + elif method == "POST": + r = requests.post(API_BASE_URL + endpoint, headers=headers, json=body) + if r.status_code == 200: + return r.json() + elif r.status_code == 401 and 'error' in r.json() and r.json()['error'] == "Invalid API Authentication": + logging.error('Error authenticating, please check key ' + str(r.url)) + raise AuthenticationException() + else: + logging.error('Error make API request, code ' + str(r.status_code) + '. json: ' + r.json()) + raise UnspecifiedProblemException() + +def api_noop() -> Any: + return make_API_request("/noop") + +def api_list_team() -> Any: + return make_API_request("/teams") + +def api_show_team(hash_id: str) -> Any: + return make_API_request("/teams/{}".format(hash_id)) + +def api_show_users(hash_id: str) -> Any: + return make_API_request("/teams/{}/members".format(hash_id)) + +def api_list_entries(team_id: str=None) -> Any: + if team_id: + return make_API_request("/entries?team_id={}".format(team_id)) + else: + return make_API_request("/entries".format(team_id)) + +def api_create_entry(body: str, team_id: str) -> Any: + return make_API_request("/entries", "POST", {"body": body, "team_id": team_id}) + +def list_steams() -> str: + data = api_list_team() + response = "Teams:\n" + for team in data: + response += " * " + team['name'] + "\n" + return response + +def get_team_hash(team_name: str) -> str: + data = api_list_team() + for team in data: + if team['name'].lower() == team_name.lower() or team['hash_id'] == team_name: + return team['hash_id'] + raise TeamNotFoundException(team_name) + +def team_info(team_name: str) -> str: + data = api_show_team(get_team_hash(team_name)) + response = "Team Name: " + data['name'] + "\n" + response += "ID: `" + data['hash_id'] + "`\n" + response += "Created at: " + data['created_at'] + "\n" + return response + +def entries_list(team_name: str) -> str: + if team_name: + data = api_list_entries(get_team_hash(team_name)) + response = "Entries for " + team_name + ":\n" + else: + data = api_list_entries() + response = "Entries for all teams:\n" + for entry in data: + response += " * " + entry['body_formatted'] + "\n" + response += " * Created at: " + entry['created_at'] + "\n" + response += " * Status: " + entry['status'] + "\n" + response += " * User: " + entry['user']['full_name'] + "\n" + response += " * Team: " + entry['team']['name'] + "\n" + response += " * ID: " + entry['hash_id'] + "\n" + return response + +def create_entry(message: str) -> str: + SINGLE_WORD_REGEX = re.compile("--team=([a-zA-Z0-9_]*)") + MULTIWORD_REGEX = re.compile('"--team=([^"]*)"') + + team = "" + new_message = "" + single_word_match = SINGLE_WORD_REGEX.search(message) + multiword_match = MULTIWORD_REGEX.search(message) + + if multiword_match is not None: + team = multiword_match.group(1) + new_message = MULTIWORD_REGEX.sub("", message).strip() + elif single_word_match is not None: + team = single_word_match.group(1) + new_message = SINGLE_WORD_REGEX.sub("", message).strip() + elif default_team: + team = default_team + new_message = message + else: + raise UnknownCommandSyntax("""I don't know which team you meant for me to create an entry under. +Either set a default team or pass the `--team` flag. +More information in my help""") + + team_id = get_team_hash(team) + data = api_create_entry(new_message, team_id) + return "Great work :thumbs_up:. New entry `{}` created!".format(data['body_formatted']) + +class IDoneThisHandler(object): + def initialize(self, bot_handler: Any) -> None: + global api_key, default_team + self.config_info = bot_handler.get_config_info('idonethis') + if 'api_key' in self.config_info: + api_key = self.config_info['api_key'] + else: + logging.error("An API key must be specified for this bot to run.") + logging.error("Have a look at the Setup section of my documenation for more information.") + bot_handler.quit() + + if 'default_team' in self.config_info: + default_team = self.config_info['default_team'] + else: + logging.error("Cannot find default team. Users will need to manually specify a team each time an entry is created.") + + try: + api_noop() + except AuthenticationException: + logging.error("Authentication exception with idonethis. Can you check that your API keys are correct? ") + bot_handler.quit() + except UnspecifiedProblemException: + logging.error("Problem connecting to idonethis. Please check connection") + bot_handler.quit() + + def usage(self) -> str: + default_team_message = "" + if default_team: + default_team_message = "The default team is currently set as `" + default_team + "`." + else: + default_team_message = "There is currently no default team set up :frowning:." + return ''' +This bot allows for interaction with idonethis, a collaboration tool to increase a team's productivity. +Below are some of the commands you can use, and what they do. + +`` can either be the name or ID of a team. + + * `@mention help` view this help message + * `@mention list teams` + List all the teams + * `@mention team info ` + Show information about one `` + * `@mention list entries` + List entries from any team + * `@mention list entries ` + List all entries from `` + * `@mention new entry` or `@mention i did` + Create a new entry. Optionally supply `--team=` for teams with no spaces or `"--team="` + for teams with spaces. For example `@mention i did "--team=product team" something` will create a + new entry `something` for the product team. + ''' + default_team_message + + def handle_message(self, message: Any, bot_handler: Any) -> None: + bot_handler.send_reply(message, self.get_response(message)) + + def get_response(self, message: Any) -> str: + message_content = message['content'].strip().split() + if message_content == "": + return "" + reply = "" + try: + command = " ".join(message_content[:2]) + if command in ["teams list", "list teams"]: + reply = list_steams() + elif command in ["teams info", "team info"]: + if len(message_content) > 2: + reply = team_info(" ".join(message_content[2:])) + else: + raise UnknownCommandSyntax("You must specify the team in which you request information from.") + elif command in ["entries list", "list entries"]: + reply = entries_list(" ".join(message_content[2:])) + elif command in ["entries create", "create entry", "new entry", "i did"]: + reply = create_entry(" ".join(message_content[2:])) + elif command in ["help"]: + reply = self.usage() + else: + raise UnknownCommandSyntax("I can't understand the command you sent me :confused: ") + except TeamNotFoundException as e: + reply = "Sorry, it doesn't seem as if I can find a team named `" + e.team + "` :frowning:." + except AuthenticationException: + reply = "I can't currently authenticate with idonethis. " + reply += "Can you check that your API key is correct? For more information see my documentation." + except UnknownCommandSyntax as e: + reply = "Sorry, I don't understand what your trying to say. Use `@mention help` to see my help. " + e.detail + except Exception as e: # catches UnspecifiedProblemException, and other problems + reply = "Oh dear, I'm having problems processing your request right now. Perhaps you could try again later :grinning:" + logging.error("Exception caught: " + str(e)) + return reply + +handler_class = IDoneThisHandler diff --git a/zulip_bots/zulip_bots/bots/idonethis/test_idonethis.py b/zulip_bots/zulip_bots/bots/idonethis/test_idonethis.py new file mode 100644 index 0000000..987977b --- /dev/null +++ b/zulip_bots/zulip_bots/bots/idonethis/test_idonethis.py @@ -0,0 +1,93 @@ +from unittest.mock import patch + +from zulip_bots.test_lib import BotTestCase + +import requests + +class TestIDoneThisBot(BotTestCase): + bot_name = "idonethis" # type: str + + def test_create_entry_default_team(self) -> None: + with self.mock_config_info({'api_key': '12345678', 'default_team': 'testing team 1'}), \ + self.mock_http_conversation('test_create_entry'), \ + self.mock_http_conversation('team_list'): + self.verify_reply('i did something and something else', + 'Great work :thumbs_up:. New entry `something and something else` created!') + + def test_create_entry_quoted_team(self) -> None: + with self.mock_config_info({'api_key': '12345678', 'default_team': 'test_team_2'}), \ + self.mock_http_conversation('test_create_entry'), \ + self.mock_http_conversation('team_list'): + self.verify_reply('i did something and something else "--team=testing team 1"', + 'Great work :thumbs_up:. New entry `something and something else` created!') + + def test_create_entry_single_word_team(self) -> None: + with self.mock_config_info({'api_key': '12345678', 'default_team': 'testing team 1'}), \ + self.mock_http_conversation('test_create_entry_team_2'), \ + self.mock_http_conversation('team_list'): + self.verify_reply('i did something and something else --team=test_team_2', + 'Great work :thumbs_up:. New entry `something and something else` created!') + + def test_bad_key(self) -> None: + with self.mock_config_info({'api_key': '87654321', 'default_team': 'testing team 1'}), \ + self.mock_http_conversation('test_401'), \ + patch('zulip_bots.bots.idonethis.idonethis.api_noop'), \ + patch('logging.error'): + self.verify_reply('list teams', + 'I can\'t currently authenticate with idonethis. Can you check that your API key is correct? ' + 'For more information see my documentation.') + + def test_list_team(self) -> None: + with self.mock_config_info({'api_key': '12345678', 'default_team': 'testing team 1'}), \ + self.mock_http_conversation('team_list'): + self.verify_reply('list teams', + 'Teams:\n * testing team 1\n * test_team_2\n') + + def test_show_team_no_team(self) -> None: + with self.mock_config_info({'api_key': '12345678', 'default_team': 'testing team 1'}), \ + self.mock_http_conversation('api_noop'): + self.verify_reply('team info', + 'Sorry, I don\'t understand what your trying to say. Use `@mention help` to see my help. ' + 'You must specify the team in which you request information from.') + + def test_show_team(self) -> None: + with self.mock_config_info({'api_key': '12345678', 'default_team': 'testing team 1'}), \ + self.mock_http_conversation('test_show_team'), \ + patch('zulip_bots.bots.idonethis.idonethis.get_team_hash', return_value='31415926535') as get_team_hashFunction: + self.verify_reply('team info testing team 1', + 'Team Name: testing team 1\n' + 'ID: `31415926535`\n' + 'Created at: 2017-12-28T19:12:55.121+11:00\n') + get_team_hashFunction.assert_called_with('testing team 1') + + def test_entries_list(self) -> None: + with self.mock_config_info({'api_key': '12345678', 'default_team': 'testing team 1'}), \ + self.mock_http_conversation('test_entries_list'), \ + patch('zulip_bots.bots.idonethis.idonethis.get_team_hash', return_value='31415926535') as get_team_hashFunction: + self.verify_reply('entries list testing team 1', + 'Entries for testing team 1:\n' + ' * TESTING\n' + ' * Created at: 2018-01-04T21:10:13.084+11:00\n' + ' * Status: done\n' + ' * User: John Doe\n' + ' * Team: testing team 1\n' + ' * ID: 65e1b21fd8f63adede1daae0bdf28c0e47b84923\n' + ' * Grabbing some more data...\n' + ' * Created at: 2018-01-04T20:07:58.078+11:00\n' + ' * Status: done\n' + ' * User: John Doe\n' + ' * Team: testing team 1\n' + ' * ID: fa974ad8c1acb9e81361a051a697f9dae22908d6\n' + ' * GRABBING HTTP DATA\n' + ' * Created at: 2018-01-04T19:07:17.214+11:00\n' + ' * Status: done\n' + ' * User: John Doe\n' + ' * Team: testing team 1\n' + ' * ID: 72c8241d2218464433268c5abd6625ac104e3d8f\n') + + def test_bot_responds_to_empty_message(self) -> None: + with self.mock_config_info({'api_key': '12345678', 'bot_info': 'team'}), \ + self.mock_http_conversation('api_noop'): + self.verify_reply('', + 'Sorry, I don\'t understand what your trying to say. Use `@mention help` to see my help. ' + 'I can\'t understand the command you sent me :confused: ')