Exemple #1
0
    def test_request_pagination_stops_when_next_cursor_is_missing(
            self, mock_request):
        mock_request.response.side_effect = [
            {
                "data": {
                    "ok": True,
                    "members": ["Bob", "cat"]
                },
                "status_code": 200,
                "headers": {},
            },
            {
                "data": {
                    "ok": True,
                    "members": ["Kevin", "dog"]
                },
                "status_code": 200,
                "headers": {},
            },
        ]

        users = []
        for page in self.client.users_list(limit=2):
            users = users + page["members"]
        self.assertTrue(len(users) == 2)
        mock_request.assert_called_once_with(
            http_verb="GET",
            api_url="https://www.slack.com/api/users.list",
            req_args=fake_req_args(params={"limit": 2}),
        )
 def test_builtin_api_methods_send_json(self, mock_request):
     self.client.api_test(msg="bye")
     mock_request.assert_called_once_with(
         http_verb="POST",
         api_url="https://www.slack.com/api/api.test",
         req_args=fake_req_args(json={"msg": "bye"}),
     )
Exemple #3
0
 def test_builtin_api_methods_send_json(self, mock_request):
     self.client.api_test(msg="bye")
     mock_request.assert_called_once_with(
         http_verb="POST",
         api_url="https://www.slack.com/api/api.test",
         req_args=fake_req_args(json={"msg": "bye"}),
     )
Exemple #4
0
    def test_the_api_call_files_argument_creates_the_expected_data(self, mock_request):
        self.client.token = "xoxa-123"
        with mock.patch("builtins.open", mock.mock_open(read_data="fake")):
            self.client.users_setPhoto(image="/fake/path")

        mock_request.assert_called_once_with(
            http_verb="POST",
            api_url="https://www.slack.com/api/users.setPhoto",
            req_args=fake_req_args(),
        )
Exemple #5
0
    def test_start_calls_rtm_connect_by_default(self, mock_rtm_response):
        @slack.RTMClient.run_on(event="open")
        def stop_on_open(**payload):
            self.assertFalse(self.client._websocket.closed)
            rtm_client = payload["rtm_client"]
            rtm_client.stop()

        self.client.start()
        mock_rtm_response.assert_called_once_with(
            http_verb="GET",
            api_url="https://www.slack.com/api/rtm.connect",
            req_args=fake_req_args(),
        )
    def test_start_calls_rtm_connect_by_default(self, mock_rtm_response):
        @slack.RTMClient.run_on(event="open")
        def stop_on_open(**payload):
            self.assertFalse(self.client._websocket.closed)
            rtm_client = payload["rtm_client"]
            rtm_client.stop()

        self.client.start()
        mock_rtm_response.assert_called_once_with(
            http_verb="GET",
            api_url="https://www.slack.com/api/rtm.connect",
            req_args=fake_req_args(),
        )
    def test_the_api_call_files_argument_creates_the_expected_data(
        self, mock_add_field, mock_request
    ):
        self.client.token = "xoxa-123"
        with mock.patch("builtins.open", mock.mock_open(read_data="fake")):
            self.client.users_setPhoto(image="/fake/path")

        mock_add_field.assert_called_once_with("image", mock.ANY)
        mock_request.assert_called_once_with(
            http_verb="POST",
            api_url="https://www.slack.com/api/users.setPhoto",
            req_args=fake_req_args(),
        )
    def test_request_pagination_stops_when_next_cursor_is_missing(self, mock_request):
        mock_request.response.side_effect = [
            {
                "data": {"ok": True, "members": ["Bob", "cat"]},
                "status_code": 200,
                "headers": {},
            },
            {
                "data": {"ok": True, "members": ["Kevin", "dog"]},
                "status_code": 200,
                "headers": {},
            },
        ]

        users = []
        for page in self.client.users_list(limit=2):
            users = users + page["members"]
        self.assertTrue(len(users) == 2)
        mock_request.assert_called_once_with(
            http_verb="GET",
            api_url="https://www.slack.com/api/users.list",
            req_args=fake_req_args(params={"limit": 2}),
        )