UNPKG

1.88 kBJavaScriptView Raw
1var assert = require('assert');
2
3var Twit = require('../lib/twitter');
4var config1 = require('../config1');
5var colors = require('colors');
6var restTest = require('./rest.js');
7
8/*
9 Don't run these tests often otherwise Twitter will rate limit you
10 */
11
12describe.skip('multiple connections', function () {
13 it('results in one of the streams closing', function (done) {
14 var twit = new Twit(config1);
15 var streamFoo = twit.stream('statuses/sample');
16 var streamBar = twit.stream('statuses/sample');
17
18 streamFoo.on('disconnect', function (disconnect) {
19 assert.equal(typeof disconnect, 'object');
20 assert.equal(streamFoo.abortedBy, 'twit-client');
21 done();
22 });
23
24 streamBar.on('disconnect', function (disconnect) {
25 assert.equal(typeof disconnect, 'object');
26 assert.equal(streamBar.abortedBy, 'twit-client');
27 done();
28 });
29 });
30});
31
32describe.skip('Managing multiple streams legally', function () {
33 this.timeout(60000);
34 it('updating track keywords without losing data', function (done) {
35 var twit = new Twit(config1);
36 var stream1 = twit.stream('statuses/filter', { track: ['#no'] });
37
38 stream1.once('tweet', function (tweet) {
39 console.log('got tweet from first stream')
40 restTest.checkTweet(tweet);
41 restTest.assertTweetHasText(tweet, '#no');
42
43 // update our track list and initiate a new connection
44 var stream2 = twit.stream('statuses/filter', { track: ['#fun'] });
45
46 stream2.once('connected', function (res) {
47 console.log('second stream connected')
48 // stop the first stream immediately
49 stream1.stop();
50 assert.equal(res.statusCode, 200)
51
52 stream2.once('tweet', function (tweet) {
53 restTest.checkTweet(tweet);
54
55 restTest.assertTweetHasText(tweet, '#fun');
56 return done();
57 })
58 });
59 });
60 });
61});