Ejemplo n.º 1
0
    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()
Ejemplo n.º 2
0
    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()
Ejemplo n.º 3
0
    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()
Ejemplo n.º 4
0
    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()
Ejemplo n.º 5
0
    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()
Ejemplo n.º 6
0
    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()
Ejemplo n.º 7
0
    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()
Ejemplo n.º 8
0
    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()