def test_stream_filter_track(self): agent, client = self._agent_and_TwitterClient() uri = 'https://stream.twitter.com/1.1/statuses/filter.json' stream = FakeResponse(None) agent.add_expected_request('POST', uri, {'track': 'foo,bar'}, stream) connected = Deferred() tweets = [] svc = client.stream_filter(tweets.append, track=['foo', 'bar']) svc.set_connect_callback(connected.callback) svc.startService() connected_svc = yield connected self.assertIs(svc, connected_svc) self.assertEqual(tweets, []) stream.deliver_data( '{"id_str": "1", "text": "Tweet 1", "user": {}}\r\n') self.assertEqual(tweets, [ {"id_str": "1", "text": "Tweet 1", "user": {}}, ]) stream.deliver_data( '{"id_str": "2", "text": "Tweet 2", "user": {}}\r\n') self.assertEqual(tweets, [ {"id_str": "1", "text": "Tweet 1", "user": {}}, {"id_str": "2", "text": "Tweet 2", "user": {}}, ]) yield svc.stopService() stream.finished()
def test_userstream_user_with_user(self): agent, client = self._agent_and_TwitterClient() uri = 'https://userstream.twitter.com/1.1/user.json' stream = FakeResponse(None) agent.add_expected_request('GET', uri, { 'stringify_friend_ids': 'true', 'with': 'user', }, stream) connected = Deferred() tweets = [] svc = client.userstream_user(tweets.append, with_='user') svc.set_connect_callback(connected.callback) svc.startService() connected_svc = yield connected self.assertIs(svc, connected_svc) self.assertEqual(tweets, []) stream.deliver_data( '{"friends_str": []}\r\n' '{"id_str": "1", "text": "Tweet 1", "user": {}}\r\n') self.assertEqual(tweets, [ {"friends_str": []}, {"id_str": "1", "text": "Tweet 1", "user": {}}, ]) stream.deliver_data( '{"id_str": "2", "text": "Tweet 2", "user": {}}\r\n') self.assertEqual(tweets, [ {"friends_str": []}, {"id_str": "1", "text": "Tweet 1", "user": {}}, {"id_str": "2", "text": "Tweet 2", "user": {}}, ]) yield svc.stopService() stream.finished()
def test_userstream_user_with_user(self): agent, client = self._agent_and_TwitterClient() uri = 'https://userstream.twitter.com/1.1/user.json' stream = FakeResponse(None) agent.add_expected_request('GET', uri, { 'stringify_friend_ids': 'true', 'with': 'user', }, stream) connected = Deferred() tweets = [] svc = client.userstream_user(tweets.append, with_='user') svc.set_connect_callback(connected.callback) svc.startService() connected_svc = yield connected self.assertIs(svc, connected_svc) self.assertEqual(tweets, []) stream.deliver_data( '{"friends_str": []}\r\n' '{"id_str": "1", "text": "Tweet 1", "user": {}}\r\n') self.assertEqual(tweets, [ { "friends_str": [] }, { "id_str": "1", "text": "Tweet 1", "user": {} }, ]) stream.deliver_data( '{"id_str": "2", "text": "Tweet 2", "user": {}}\r\n') self.assertEqual(tweets, [ { "friends_str": [] }, { "id_str": "1", "text": "Tweet 1", "user": {} }, { "id_str": "2", "text": "Tweet 2", "user": {} }, ]) yield svc.stopService() stream.finished()
def test_userstream_user_all_params(self): agent, client = self._agent_and_TwitterClient() uri = 'https://userstream.twitter.com/1.1/user.json' stream = FakeResponse(None) agent.add_expected_request('GET', uri, { 'stringify_friend_ids': 'true', 'stall_warnings': 'true', 'with': 'user', 'replies': 'all', }, stream) connected = Deferred() svc = client.userstream_user( lambda tweet: None, stall_warnings=True, with_='user', replies='all') svc.set_connect_callback(connected.callback) svc.startService() connected_svc = yield connected self.assertIs(svc, connected_svc) yield svc.stopService() stream.finished()
def test_stream_filter_all_params(self): agent, client = self._agent_and_TwitterClient() uri = 'https://stream.twitter.com/1.1/statuses/filter.json' stream = FakeResponse(None) expected_params = { 'follow': 'Alice,Bob', 'track': 'foo,bar', 'stall_warnings': 'true', } agent.add_expected_request('POST', uri, expected_params, stream) connected = Deferred() svc = client.stream_filter( lambda tweet: None, follow=['Alice', 'Bob'], track=['foo', 'bar'], stall_warnings=True) svc.set_connect_callback(connected.callback) svc.startService() connected_svc = yield connected self.assertIs(svc, connected_svc) yield svc.stopService() stream.finished()
def test_stream_filter_track(self): agent, client = self._agent_and_TwitterClient() uri = 'https://stream.twitter.com/1.1/statuses/filter.json' stream = FakeResponse(None) agent.add_expected_request('POST', uri, {'track': 'foo,bar'}, stream) connected = Deferred() tweets = [] svc = client.stream_filter(tweets.append, track=['foo', 'bar']) svc.set_connect_callback(connected.callback) svc.startService() connected_svc = yield connected self.assertIs(svc, connected_svc) self.assertEqual(tweets, []) stream.deliver_data( '{"id_str": "1", "text": "Tweet 1", "user": {}}\r\n') self.assertEqual(tweets, [ { "id_str": "1", "text": "Tweet 1", "user": {} }, ]) stream.deliver_data( '{"id_str": "2", "text": "Tweet 2", "user": {}}\r\n') self.assertEqual(tweets, [ { "id_str": "1", "text": "Tweet 1", "user": {} }, { "id_str": "2", "text": "Tweet 2", "user": {} }, ]) yield svc.stopService() stream.finished()
def test_stream_filter_all_params(self): agent, client = self._agent_and_TwitterClient() uri = 'https://stream.twitter.com/1.1/statuses/filter.json' stream = FakeResponse(None) expected_params = { 'follow': 'Alice,Bob', 'track': 'foo,bar', 'stall_warnings': 'true', } agent.add_expected_request('POST', uri, expected_params, stream) connected = Deferred() svc = client.stream_filter(lambda tweet: None, follow=['Alice', 'Bob'], track=['foo', 'bar'], stall_warnings=True) svc.set_connect_callback(connected.callback) svc.startService() connected_svc = yield connected self.assertIs(svc, connected_svc) yield svc.stopService() stream.finished()
def test_userstream_user_all_params(self): agent, client = self._agent_and_TwitterClient() uri = 'https://userstream.twitter.com/1.1/user.json' stream = FakeResponse(None) agent.add_expected_request( 'GET', uri, { 'stringify_friend_ids': 'true', 'stall_warnings': 'true', 'with': 'user', 'replies': 'all', }, stream) connected = Deferred() svc = client.userstream_user(lambda tweet: None, stall_warnings=True, with_='user', replies='all') svc.set_connect_callback(connected.callback) svc.startService() connected_svc = yield connected self.assertIs(svc, connected_svc) yield svc.stopService() stream.finished()