コード例 #1
0
 async def test_react_unknown_error(self):
     import slacker
     connector = ConnectorSlack({"api-token": "abc123"})
     connector.slacker.reactions.post = amock.CoroutineMock(side_effect=slacker.Error('unknown'))
     with self.assertRaises(slacker.Error), OpsDroid() as opsdroid:
         prev_message = Message("test", "user", "room", connector, raw_event={'ts': 0})
         await prev_message.respond(Reaction("😀"))
コード例 #2
0
ファイル: __init__.py プロジェクト: opsdroid/aioslacker
    def post(self, data):
        if not self.url:
            raise slacker.Error('URL for incoming webhook is undefined')

        _request = self.session.request(
            'POST',
            self.url,
            data=data,
            timeout=None,
        )

        _response = None

        try:
            with async_timeout.timeout(self.timeout, loop=self.loop):
                _response = yield from _request

            _response.raise_for_status()

            _json = yield from _response.json()
        finally:
            if _response is not None:
                yield from _response.release()

        return _json
コード例 #3
0
ファイル: slack.py プロジェクト: skamille/orchestra
 def post(self, command, data):
     if command == 'users.admin.invite':
         user_email = data.get('email', None)
         if user_email:
             if user_email not in self.data['invited']:
                 self.data['invited'].append(user_email)
         else:
             raise slacker.Error('User email was not provided')
コード例 #4
0
 async def test_react_unknown_error(self):
     import slacker
     connector = ConnectorSlack({"api-token": "abc123"})
     connector.slacker.reactions.post = amock.CoroutineMock(
         side_effect=slacker.Error('unknown'))
     with self.assertRaises(slacker.Error):
         await connector.react(
             Message("test", "user", "room", connector, {'ts': 0}), "😀")
コード例 #5
0
 async def test_react_invalid_name(self):
     import slacker
     connector = ConnectorSlack({"api-token": "abc123"})
     connector.slacker.reactions.post = amock.CoroutineMock(
         side_effect=slacker.Error('invalid_name'))
     await connector.react(
         Message("test", "user", "room", connector, {'ts': 0}), "😀")
     self.assertLogs('_LOGGER', 'warning')
コード例 #6
0
 def test_event_remove_emoji_slacker_errors_ignored(
         self,
         mocked_post_message,  # type: mock.MagicMock
 ):
     # type: (...) -> None
     mocked_post_message.side_effect = slacker.Error()
     res = self._post_remove_event(self.WORKSPACE, self.good_remove_event, mocked_post_message)
     self.assertEqual(res.status_code, 200)
コード例 #7
0
 def test_event_remove_emoji_invalid_auth(
         self,
         mocked_post_message,  # type: mock.MagicMock
 ):
     # type: (...) -> None
     mocked_post_message.side_effect = slacker.Error('invalid_auth')
     res = self._post_remove_event(self.WORKSPACE, self.good_remove_event, mocked_post_message)
     self.assertEqual(res.status_code, 403)
コード例 #8
0
 async def test_react_invalid_name(self):
     import slacker
     connector = ConnectorSlack({"api-token": "abc123"})
     connector.slacker.reactions.post = amock.CoroutineMock(side_effect=slacker.Error('invalid_name'))
     prev_message = Message("test", "user", "room", connector, raw_event={'ts': 0})
     with OpsDroid() as opsdroid:
         await prev_message.respond(Reaction("😀"))
     self.assertLogs('_LOGGER', 'warning')
コード例 #9
0
ファイル: slack.py プロジェクト: skamille/orchestra
    def kick(self, group_id, user_id):
        self._validate_group(group_id=group_id)
        self._validate_user(user_id=user_id)

        if user_id not in self.data['groups'][group_id]['users']:
            raise slacker.Error('User does not belong to group.')

        # Slacker API does not raise an error if user already present
        self.data['groups'][group_id]['users'].remove(user_id)
コード例 #10
0
    async def test_connect_auth_fail(self):
        connector = ConnectorSlack({"api-token": "abc123"}, opsdroid=OpsDroid())
        opsdroid = amock.CoroutineMock()
        opsdroid.eventloop = self.loop
        connector.slacker.rtm.start = amock.CoroutineMock()
        connector.slacker.rtm.start.side_effect = slacker.Error()

        await connector.connect()
        self.assertLogs('_LOGGER', 'error')
コード例 #11
0
ファイル: slack.py プロジェクト: jesseflb/orchestra
    def kick(self, group_id, user_id):
        self._validate_group(group_id=group_id)
        self._validate_user(user_id=user_id)

        if user_id not in MOCK_SLACK_API_DATA['channels'][group_id]['users']:
            raise slacker.Error('User does not belong to group.')

        # Slacker API does not raise an error if user already present
        MOCK_SLACK_API_DATA['channels'][group_id]['users'].remove(user_id)
コード例 #12
0
ファイル: slack.py プロジェクト: skamille/orchestra
 def _validate_user(self, user_id):
     if not user_id or not self._user_exists(user_id):
         raise slacker.Error('User not found.')
コード例 #13
0
ファイル: slack.py プロジェクト: skamille/orchestra
 def _validate_group(self, group_id):
     if not group_id or not self._group_exists(group_id):
         raise slacker.Error('Group not found.')
コード例 #14
0
ファイル: slack.py プロジェクト: skamille/orchestra
    def set_purpose(self, group_id, purpose):
        if not self._group_exists(group_id):
            raise slacker.Error('Group not found.')

        self.data['groups'][group_id]['purpose'] = purpose
コード例 #15
0
    def set_purpose(self, group_id, purpose):
        if not self._group_exists(group_id):
            raise slacker.Error('Group not found.')

        MOCK_SLACK_API_DATA['groups'][group_id]['purpose'] = purpose