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])
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}')
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)
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)
def test_init(self): """Test initialization""" client = SlackClient('aaaa', max_items=5) self.assertEqual(client.api_token, 'aaaa') self.assertEqual(client.max_items, 5)