git ssb

2+

ev / minsbot



Tree: 3d269c98d409d84e87895f410008a8df9e94f15d

Files: 3d269c98d409d84e87895f410008a8df9e94f15d / test / master.js

1302 bytesRaw
1var tape = require('tape')
2var util = require('../lib/util')
3var ssbKeys = require('ssb-keys')
4var ssbClient = require('ssb-client')
5
6var aliceKeys = ssbKeys.generate()
7var bobKeys = ssbKeys.generate()
8var carolKeys = ssbKeys.generate()
9
10var createSbot = require('../')
11 .use(require('../plugins/master'))
12var caps = {
13 shs: require('crypto').randomBytes(32).toString('base64')
14}
15
16var alice = createSbot({
17 port: 45451, timeout: 2001,
18 temp: 'master',
19 host: 'localhost',
20 master: bobKeys.id,
21 keys: aliceKeys,
22 caps: caps
23})
24
25tape('connect remote master', function (t) {
26 console.log(alice.config)
27 ssbClient(bobKeys, {
28 remote: alice.getAddress(),
29 manifest: alice.manifest(),
30 caps: caps,
31 }, function (err, rpc) {
32 if(err) throw err
33 rpc.publish({
34 type: 'msg', value: 'written by bob', from: bobKeys.id
35 }, function (err) {
36 if(err) throw err
37 t.end()
38 })
39 })
40})
41
42tape('non-master cannot use same methods', function (t) {
43 ssbClient(carolKeys, {
44 remote: alice.getAddress(),
45 manifest: alice.manifest(),
46 caps: caps
47 }, function (err, rpc) {
48 if(err) throw err
49 rpc.publish({
50 type: 'msg', value: 'written by ca', from: bobKeys.id
51 }, function (err) {
52 t.ok(err)
53 alice.close(true)
54 t.end()
55 })
56 })
57})
58
59

Built with git-ssb-web