git ssb

2+

ev / minsbot



Tree: f1a984b03058530d675879e478d5f867b012af1a

Files: f1a984b03058530d675879e478d5f867b012af1a / test / realtime.js

1846 bytesRaw
1var cont = require('cont')
2var deepEqual = require('deep-equal')
3var tape = require('tape')
4var pull = require('pull-stream')
5var u = require('./util')
6
7var ssbKeys = require('ssb-keys')
8
9var createSbot = require('../')
10 .use(require('../plugins/replicate'))
11 .use(require('ssb-ebt'))
12 .use(require('ssb-friends'))
13
14tape('replicate between 3 peers', function (t) {
15
16 var bob = createSbot({
17 temp: 'test-bob',
18// port: 45452, host: 'localhost',
19 replicate: {legacy: false},
20 keys: ssbKeys.generate()
21 })
22
23 var alice = createSbot({
24 temp: 'test-alice',
25 // port: 45453, host: 'localhost',
26 seeds: [bob.getAddress()],
27 replicate: {legacy: false},
28 keys: ssbKeys.generate()
29 })
30
31 cont.para([
32 alice.publish(u.follow(bob.id)),
33 bob.publish(u.follow(alice.id))
34 ])(function (err) {
35 if(err) throw err
36
37 var rpc
38 alice.connect(bob.getAddress(), function (_, _rpc) {
39 rpc = _rpc
40 })
41
42 var ary = []
43 pull(
44 bob.createHistoryStream({id: alice.id, seq: 0, keys: false, live: true}),
45 pull.drain(function (data) {
46 console.log(data)
47 ary.push(data);
48 })
49 )
50 var l = 12
51 setTimeout(function next () {
52 if(!--l) {
53 var _ary = []
54 pull(
55 bob.createHistoryStream({id: alice.id, sequence: 0, keys: false}),
56 pull.collect(function (err, _ary) {
57 t.equal(_ary.length, 12)
58 t.deepEqual(ary,_ary)
59 bob.close(true); alice.close(true); t.end()
60 })
61 )
62 }
63 else
64 alice.publish({type: 'test', value: new Date()},
65 function (err, msg){
66 if(err) throw err
67 console.log('added', msg.key, msg.value.sequence)
68 setTimeout(next, 200)
69 })
70 }, 200)
71
72 })
73})
74
75
76

Built with git-ssb-web