async def test_start_find_bot_id(self, aiohttp_server, find_bot_id_query): bot = SirBot() bot.load_plugin( SlackPlugin(token="foo", verify="bar", bot_user_id="baz")) bot["plugins"]["slack"].api.query = find_bot_id_query await aiohttp_server(bot) assert bot["plugins"]["slack"].bot_id == "B00000000"
def bot(): b = SirBot() slack = SlackPlugin(token='token', verify='supersecuretoken', bot_user_id='bot_user_id', bot_id='bot_id') b.load_plugin(slack) return b
async def test_register_admin_message_no_admin(self, caplog): async def handler(): pass bot = SirBot() bot.load_plugin(SlackPlugin(token='foo', verify='bar', bot_user_id='baz', bot_id='boo')) bot['plugins']['slack'].on_message('hello', handler, admin=True) assert 'Slack admins ids are not set. Admin limited endpoint will not work.' in caplog.text
async def slack_bot(bot): slack = SlackPlugin( token='token', verify='supersecuretoken', bot_user_id='bot_user_id', bot_id='bot_id', ) endpoints.slack.create_endpoints(slack) bot.load_plugin(slack)
def slack_bot(bot: SirBot): slack = SlackPlugin( token="token", verify="supersecuretoken", bot_user_id="bot_user_id", bot_id="bot_id", ) endpoints.slack.create_endpoints(slack) bot.load_plugin(slack) return bot
async def bot_signing(): b = SirBot() b.load_plugin( SlackPlugin( token="foo", signing_secret="sharedsigningkey", bot_user_id="baz", bot_id="boo", admins=["aaa", "bbb"], )) return b
async def bot(): b = SirBot() b.load_plugin( SlackPlugin( token="foo", verify="supersecuretoken", bot_user_id="baz", bot_id="boo", admins=["aaa", "bbb"], )) return b
async def test_register_admin_message_no_admin(self, caplog): async def handler(): pass bot = SirBot() bot.load_plugin( SlackPlugin(token="foo", verify="bar", bot_user_id="baz", bot_id="boo")) bot["plugins"]["slack"].on_message("hello", handler, admin=True) assert ( "Slack admins ids are not set. Admin limited endpoint will not work." in caplog.text)
async def bot(loop) -> SirBot: b = SirBot() slack = SlackPlugin( token='token', verify='supersecuretoken', bot_user_id='bot_user_id', bot_id='bot_id', ) airtable = AirtablePlugin() endpoints.slack.create_endpoints(slack) b.load_plugin(slack) b.load_plugin(airtable) return b
async def bot(loop) -> SirBot: b = SirBot() slack = SlackPlugin( token="token", verify="supersecuretoken", bot_user_id="bot_user_id", bot_id="bot_id", ) airtable = AirtablePlugin() endpoints.slack.create_endpoints(slack) api = APIPlugin() endpoints.api.create_endpoints(api) b.load_plugin(slack) b.load_plugin(airtable) b.load_plugin(api) return b
if __name__ == "__main__": try: with open( os.path.join(os.path.dirname(os.path.realpath(__file__)), "../logging.yml")) as log_configfile: logging.config.dictConfig(yaml.load(log_configfile.read())) except Exception as e: logging.basicConfig(level=logging.DEBUG) logger.exception(e) if "SENTRY_DSN" in os.environ: make_sentry_logger() bot = SirBot() slack = SlackPlugin() endpoints.slack.create_endpoints(slack) bot.load_plugin(slack) airtable = AirtablePlugin() endpoints.airtable.create_endpoints(airtable) bot.load_plugin(airtable) # Add route to respond to AWS health check bot.router.add_get("/health", lambda request: Response(status=200)) logging.getLogger('aiohttp.access').setLevel(logging.WARNING) bot.start(host=HOST, port=PORT, print=False)
yaml.load(log_configfile.read(), Loader=yaml.SafeLoader)) except Exception as e: logging.basicConfig(level=logging.DEBUG) logger.exception(e) if "SENTRY_DSN" in os.environ: sentry_sdk.init( dsn=os.environ["SENTRY_DSN"], release=os.environ.get("VERSION", "1.0.0"), environment=os.environ.get("ENVIRONMENT", "production"), integrations=[AioHttpIntegration()], ) bot = SirBot() slack = SlackPlugin(**slack_configs) endpoints.slack.create_endpoints(slack) bot.load_plugin(slack) admin_configs = dict(**slack_configs) admin_token = os.environ.get("APP_ADMIN_OAUTH_TOKEN", "FAKE_ADMIN_TOKEN") if admin_token: admin_configs["token"] = admin_token admin_slack = SlackPlugin(**admin_configs) bot.load_plugin(admin_slack, name="admin_slack") airtable = AirtablePlugin() endpoints.airtable.create_endpoints(airtable) bot.load_plugin(airtable) api_plugin = APIPlugin()
async def test_start_no_bot_user_id(self, caplog): SlackPlugin(token="foo", verify="bar", bot_id="boo", admins=["aaa", "bbb"]) assert "`SLACK_BOT_USER_ID` not set" in caplog.text
if __name__ == "__main__": try: with open( os.path.join(os.path.dirname(os.path.realpath(__file__)), "../logging.yml") ) as log_configfile: logging.config.dictConfig( yaml.load(log_configfile.read(), Loader=yaml.SafeLoader) ) except Exception as e: logging.basicConfig(level=logging.DEBUG) logger.exception(e) if "SENTRY_DSN" in os.environ: make_sentry_logger() bot = SirBot() slack = SlackPlugin(**slack_configs) endpoints.slack.create_endpoints(slack) bot.load_plugin(slack) airtable = AirtablePlugin() endpoints.airtable.create_endpoints(airtable) bot.load_plugin(airtable) # Add route to respond to AWS health check bot.router.add_get("/health", handle_health_check) logging.getLogger("aiohttp.access").setLevel(logging.WARNING) bot.start(host=HOST, port=PORT, print=logger.info)
async def bot(): b = SirBot() b.load_plugin(SlackPlugin(token='foo', verify='supersecuretoken', bot_user_id='baz', bot_id='boo', admins=['aaa', 'bbb'])) return b
async def test_start_no_bot_user_id(self, caplog): SlackPlugin(token='foo', verify='bar', bot_id='boo', admins=['aaa', 'bbb']) assert '`SLACK_BOT_USER_ID` not set' in caplog.text
async def test_start_find_bot_id(self, test_server, find_bot_id_query): bot = SirBot() bot.load_plugin(SlackPlugin(token='foo', verify='bar', bot_user_id='baz')) bot['plugins']['slack'].api.query = find_bot_id_query await test_server(bot) assert bot['plugins']['slack'].bot_id == 'B00000000'