1 | var tape = require("tape");
|
2 | var ssbkeys = require("../");
|
3 |
|
4 | tape("box, unbox", function (t) {
|
5 | var alice = ssbkeys.generate();
|
6 | var bob = ssbkeys.generate();
|
7 |
|
8 | var boxed = ssbkeys.box({ okay: true }, [bob.public, alice.public]);
|
9 | if (process.env.VERBOSE_TESTS) console.log("boxed", boxed);
|
10 | var msg = ssbkeys.unbox(boxed, alice.private);
|
11 | t.deepEqual(msg, { okay: true });
|
12 | t.end();
|
13 | });
|
14 |
|
15 | tape("box, unbox imprecise", function (t) {
|
16 | var alice = ssbkeys.generate();
|
17 | var bob = ssbkeys.generate();
|
18 |
|
19 | var boxed = ssbkeys.box({ okay: true }, [bob, alice]);
|
20 | if (process.env.VERBOSE_TESTS) console.log("boxed", boxed);
|
21 | var msg = ssbkeys.unbox(boxed, alice);
|
22 | t.deepEqual(msg, { okay: true });
|
23 | t.end();
|
24 | });
|
25 |
|
26 | tape("box, unbox id", function (t) {
|
27 | var alice = ssbkeys.generate();
|
28 | var bob = ssbkeys.generate();
|
29 |
|
30 | var boxed = ssbkeys.box({ okay: true }, [bob.id, alice.id]);
|
31 | if (process.env.VERBOSE_TESTS) console.log("boxed", boxed);
|
32 | var msg = ssbkeys.unbox(boxed, alice.private);
|
33 | t.deepEqual(msg, { okay: true });
|
34 | t.end();
|
35 | });
|
36 |
|
37 | tape("return undefined for invalid content", function (t) {
|
38 | var alice = ssbkeys.generate();
|
39 |
|
40 | var msg = ssbkeys.unbox("this is invalid content", alice.private);
|
41 | t.equal(msg, undefined);
|
42 | t.end();
|
43 | });
|
44 |
|
45 | tape("unboxKey & unboxBody", function (t) {
|
46 | var alice = ssbkeys.generate();
|
47 | var bob = ssbkeys.generate();
|
48 |
|
49 | var boxed = ssbkeys.box({ okay: true }, [bob.public, alice.public]);
|
50 | var k = ssbkeys.unboxKey(boxed, alice.private);
|
51 | var msg = ssbkeys.unboxBody(boxed, k);
|
52 | var msg2 = ssbkeys.unbox(boxed, alice.private);
|
53 | t.deepEqual(msg, { okay: true });
|
54 | t.deepEqual(msg, msg2);
|
55 | t.end();
|
56 | });
|
57 |
|
58 | tape("ssbSecretKeyToPrivateBoxSecret accepts keys object", function (t) {
|
59 | var keys = ssbkeys.generate();
|
60 | var curve = ssbkeys.ssbSecretKeyToPrivateBoxSecret(keys);
|
61 | t.true(Buffer.isBuffer(curve));
|
62 | t.equals(curve.length, 32);
|
63 | t.end();
|
64 | });
|
65 |
|
66 | tape("ssbSecretKeyToPrivateBoxSecret accepts keys.private", function (t) {
|
67 | var keys = ssbkeys.generate();
|
68 | var curve = ssbkeys.ssbSecretKeyToPrivateBoxSecret(keys.private);
|
69 | t.true(Buffer.isBuffer(curve));
|
70 | t.equals(curve.length, 32);
|
71 | t.end();
|
72 | });
|