async def test_match_webhook_response(opsdroid, mocker): opsdroid.loader.current_import_config = {"name": "testhook"} opsdroid.web_server = Web(opsdroid) opsdroid.web_server.web_app = mocker.MagicMock() webhook = "test" decorator = matchers.match_webhook(webhook) opsdroid.skills.append(decorator(await get_mock_skill())) opsdroid.skills[0].config = {"name": "mockedskill"} opsdroid.web_server.setup_webhooks(opsdroid.skills) postcalls, _ = opsdroid.web_server.web_app.router.add_post.call_args_list[0] wrapperfunc = postcalls[1] webhookresponse = await wrapperfunc(None) assert isinstance(webhookresponse, aiohttp.web.Response)
async def test_match_webhook(opsdroid, mocker): opsdroid.loader.current_import_config = {"name": "testhook"} opsdroid.web_server = Web(opsdroid) opsdroid.web_server.web_app = mocker.MagicMock() webhook = "test" decorator = matchers.match_webhook(webhook) opsdroid.skills.append(decorator(await get_mock_skill())) opsdroid.skills[0].config = {"name": "mockedskill"} opsdroid.web_server.setup_webhooks(opsdroid.skills) assert len(opsdroid.skills) == 1 assert opsdroid.skills[0].matchers[0]["webhook"] == webhook assert asyncio.iscoroutinefunction(opsdroid.skills[0]) assert opsdroid.web_server.web_app.router.add_post.call_count == 2
async def test_match_webhook(self): with OpsDroid() as opsdroid: opsdroid.loader.current_import_config = {"name": "testhook"} opsdroid.web_server = Web(opsdroid) opsdroid.web_server.web_app = mock.Mock() webhook = "test" mockedskill = mock.MagicMock() decorator = matchers.match_webhook(webhook) decorator(mockedskill) self.assertEqual(len(opsdroid.skills), 1) self.assertEqual(opsdroid.skills[0]["webhook"], webhook) self.assertIsInstance(opsdroid.skills[0]["skill"], mock.MagicMock) self.assertEqual( opsdroid.web_server.web_app.router.add_post.call_count, 2)
async def test_match_webhook_response(self): with OpsDroid() as opsdroid: opsdroid.loader.current_import_config = {"name": "testhook"} opsdroid.web_server = Web(opsdroid) opsdroid.web_server.web_app = mock.Mock() webhook = "test" mockedskill = mock.CoroutineMock() decorator = matchers.match_webhook(webhook) decorator(mockedskill) postcalls, _ = \ opsdroid.web_server.web_app.router.add_post.call_args_list[0] wrapperfunc = postcalls[1] webhookresponse = await wrapperfunc(None) self.assertEqual(type(webhookresponse), aiohttp.web.Response)
async def test_match_webhook_response(self): with OpsDroid() as opsdroid: opsdroid.loader.current_import_config = {"name": "testhook"} opsdroid.web_server = Web(opsdroid) opsdroid.web_server.web_app = mock.Mock() webhook = "test" decorator = matchers.match_webhook(webhook) opsdroid.skills.append(decorator(await self.getMockSkill())) opsdroid.skills[0].config = {"name": "mockedskill"} opsdroid.web_server.setup_webhooks(opsdroid.skills) postcalls, _ = opsdroid.web_server.web_app.router.add_post.call_args_list[0] wrapperfunc = postcalls[1] webhookresponse = await wrapperfunc(None) self.assertEqual(type(webhookresponse), aiohttp.web.Response)
async def test_match_webhook(self): with OpsDroid() as opsdroid: opsdroid.loader.current_import_config = {"name": "testhook"} opsdroid.web_server = Web(opsdroid) opsdroid.web_server.web_app = mock.Mock() webhook = "test" decorator = matchers.match_webhook(webhook) opsdroid.skills.append(decorator(await self.getMockSkill())) opsdroid.skills[0].config = {"name": "mockedskill"} opsdroid.web_server.setup_webhooks(opsdroid.skills) self.assertEqual(len(opsdroid.skills), 1) self.assertEqual(opsdroid.skills[0].matchers[0]["webhook"], webhook) self.assertTrue(asyncio.iscoroutinefunction(opsdroid.skills[0])) self.assertEqual(opsdroid.web_server.web_app.router.add_post.call_count, 2)
async def test_match_webhook_response(self): with OpsDroid() as opsdroid: opsdroid.loader.current_import_config = {"name": "testhook"} opsdroid.web_server = Web(opsdroid) opsdroid.web_server.web_app = mock.Mock() webhook = "test" decorator = matchers.match_webhook(webhook) opsdroid.skills.append(decorator(await self.getMockSkill())) opsdroid.skills[0].config = {"name": "mockedskill"} opsdroid.web_server.setup_webhooks(opsdroid.skills) postcalls, _ = \ opsdroid.web_server.web_app.router.add_post.call_args_list[0] wrapperfunc = postcalls[1] webhookresponse = await wrapperfunc(None) self.assertEqual(type(webhookresponse), aiohttp.web.Response)
async def test_match_webhook(self): with OpsDroid() as opsdroid: opsdroid.loader.current_import_config = {"name": "testhook"} opsdroid.web_server = Web(opsdroid) opsdroid.web_server.web_app = mock.Mock() webhook = "test" decorator = matchers.match_webhook(webhook) opsdroid.skills.append(decorator(await self.getMockSkill())) opsdroid.skills[0].config = {"name": "mockedskill"} opsdroid.web_server.setup_webhooks(opsdroid.skills) self.assertEqual(len(opsdroid.skills), 1) self.assertEqual(opsdroid.skills[0].matchers[0]["webhook"], webhook) self.assertTrue(asyncio.iscoroutinefunction(opsdroid.skills[0])) self.assertEqual( opsdroid.web_server.web_app.router.add_post.call_count, 2)
async def test_match_webhook_response_with_authorization_failure(opsdroid, mocker): opsdroid.loader.current_import_config = {"name": "testhook"} opsdroid.config["web"] = {"webhook-token": "aabbccddeeff"} opsdroid.web_server = Web(opsdroid) opsdroid.web_server.web_app = mocker.MagicMock() webhook = "test" decorator = matchers.match_webhook(webhook) opsdroid.skills.append(decorator(await get_mock_skill())) opsdroid.skills[0].config = {"name": "mockedskill"} opsdroid.web_server.setup_webhooks(opsdroid.skills) postcalls, _ = opsdroid.web_server.web_app.router.add_post.call_args_list[0] wrapperfunc = postcalls[1] webhookresponse = await wrapperfunc( make_mocked_request( "POST", postcalls[0], headers={"Authorization": "Bearer wwxxyyzz"} ) ) assert isinstance(webhookresponse, aiohttp.web.Response)