def test_history_format_latest(self):
        """Test channel history API call with latest timestamp longer than 6 decimals"""

        http_requests = setup_http_server()

        client = SlackClient('aaaa', max_items=5)

        # Call API
        _ = client.history('C011DUKE8', oldest=1, latest=1427135733.00006771)

        expected = {
            'channel': ['C011DUKE8'],
            'oldest': ['0.999990'],
            'latest': ['1427135733.000068'],
            'count': ['5']
        }

        self.assertEqual(len(http_requests), 1)

        req = http_requests[0]
        self.assertEqual(req.method, 'GET')
        self.assertRegex(req.path, '/channels.history')
        self.assertDictEqual(req.querystring, expected)
        self.assertIn((SlackClient.AUTHORIZATION_HEADER, 'Bearer aaaa'),
                      req.headers._headers)
    def test_conversation_members(self):
        """Test conversation members API call"""

        http_requests = setup_http_server()

        client = SlackClient('aaaa', max_items=5)

        num_members = client.conversation_members('C011DUKE8')
        self.assertEqual(num_members, 164)

        expected = [{
            'channel': ['C011DUKE8']
        }, {
            'channel': ['C011DUKE8'],
            'cursor': ['dXNlcl9pZDpVNEMwUTZGQTc=']
        }]

        self.assertEqual(len(http_requests), 2)

        req = http_requests[0]
        self.assertEqual(req.method, 'GET')
        self.assertRegex(req.path, '/conversations.members')

        for i in range(len(expected)):
            self.assertIn((SlackClient.AUTHORIZATION_HEADER, 'Bearer aaaa'),
                          http_requests[i].headers._headers)
            self.assertDictEqual(http_requests[i].querystring, expected[i])
Exemple #3
0
    def test_history(self):
        """Test channel history API call"""

        http_requests = setup_http_server()

        client = SlackClient('aaaa', max_items=5)

        # Call API
        _ = client.history('C011DUKE8',
                           oldest=1, latest=1427135733.000068)

        expected = {
            'channel': ['C011DUKE8'],
            'oldest': ['1'],
            'latest': ['1427135733.000068'],
            'token': ['aaaa'],
            'count': ['5']
        }

        self.assertEqual(len(http_requests), 1)

        req = http_requests[0]
        self.assertEqual(req.method, 'GET')
        self.assertRegex(req.path, '/channels.history')
        self.assertDictEqual(req.querystring, expected)
    def test_slack_error(self):
        """Test if an exception is raised when an error is returned by the server"""

        setup_http_server()

        client = SlackClient('aaaa', max_items=5)

        with self.assertRaises(SlackClientError):
            _ = client.history('CH0')
    def test_init(self):
        """Test initialization"""

        client = SlackClient('aaaa', max_items=5)
        self.assertEqual(client.api_token, 'aaaa')
        self.assertEqual(client.max_items, 5)
        self.assertTrue(client.ssl_verify)

        client = SlackClient('aaaa', max_items=5, ssl_verify=False)
        self.assertEqual(client.api_token, 'aaaa')
        self.assertEqual(client.max_items, 5)
        self.assertFalse(client.ssl_verify)
    def test_private_user(self):

        user_U0004 = read_file('data/slack/slack_user_U0004_private.json',
                               'rb')
        httpretty.register_uri(httpretty.GET,
                               SLACK_USER_INFO_URL + "?user=U0004",
                               body=user_U0004)

        client = SlackClient('aaaa', max_items=5)

        # Call API
        user = client.user('U0004')

        self.assertEqual(user, '{"ok":false,"user":null}')
Exemple #7
0
    def test_user(self):
        """Test user info API call"""

        http_requests = setup_http_server()

        client = SlackClient('aaaa', max_items=5)

        # Call API
        _ = client.user('U0001')

        expected = {'user': ['U0001'], 'token': ['aaaa']}

        self.assertEqual(len(http_requests), 1)

        req = http_requests[0]
        self.assertEqual(req.method, 'GET')
        self.assertRegex(req.path, '/users.info')
        self.assertDictEqual(req.querystring, expected)
    def test_channel_info(self):
        """Test channel info API call"""

        http_requests = setup_http_server()

        client = SlackClient('aaaa', max_items=5)

        _ = client.channel_info('C011DUKE8')

        expected = {'channel': ['C011DUKE8']}

        self.assertEqual(len(http_requests), 1)

        req = http_requests[0]
        self.assertEqual(req.method, 'GET')
        self.assertRegex(req.path, '/channels.info')
        self.assertDictEqual(req.querystring, expected)
        self.assertIn((SlackClient.AUTHORIZATION_HEADER, 'Bearer aaaa'),
                      req.headers._headers)
    def test_user(self):
        """Test user info API call"""

        http_requests = setup_http_server()

        client = SlackClient('aaaa', max_items=5)

        # Call API
        _ = client.user('U0001')

        expected = {'user': ['U0001']}

        self.assertEqual(len(http_requests), 1)

        req = http_requests[0]
        self.assertEqual(req.method, 'GET')
        self.assertRegex(req.path, '/users.info')
        self.assertDictEqual(req.querystring, expected)
        self.assertIn((SlackClient.AUTHORIZATION_HEADER, 'Bearer aaaa'),
                      req.headers._headers)
Exemple #10
0
    def test_channel_info(self):
        """Test channel info API call"""

        http_requests = setup_http_server()

        client = SlackClient('aaaa', max_items=5)

        _ = client.channel_info('C011DUKE8')

        expected = {
            'channel': ['C011DUKE8'],
            'token': ['aaaa'],
        }

        self.assertEqual(len(http_requests), 1)

        req = http_requests[0]
        self.assertEqual(req.method, 'GET')
        self.assertRegex(req.path, '/channels.info')
        self.assertDictEqual(req.querystring, expected)
    def test_sanitize_for_archive(self):
        """Test whether the sanitize method works properly"""

        url = "http://example.com"
        headers = "headers-information"
        payload = {'token': 'aaaa', 'channel': 'C011DUKE8'}

        s_url, s_headers, s_payload = SlackClient.sanitize_for_archive(url, headers, copy.deepcopy(payload))
        payload.pop("token")

        self.assertEqual(url, s_url)
        self.assertEqual(headers, s_headers)
        self.assertEqual(payload, s_payload)
    def test_sanitize_for_archive(self):
        """Test whether the sanitize method works properly"""

        url = "http://example.com"
        headers = {SlackClient.AUTHORIZATION_HEADER: 'Bear aaaa'}
        payload = {'channel': 'C011DUKE8'}

        s_url, s_headers, s_payload = SlackClient.sanitize_for_archive(
            url, copy.deepcopy(headers), payload)
        headers.pop(SlackClient.AUTHORIZATION_HEADER)

        self.assertEqual(url, s_url)
        self.assertEqual(headers, s_headers)
        self.assertEqual(payload, s_payload)
Exemple #13
0
    def test_init(self):
        """Test initialization"""

        client = SlackClient('aaaa', max_items=5)
        self.assertEqual(client.api_token, 'aaaa')
        self.assertEqual(client.max_items, 5)