UNPKG

2.16 kBJavaScriptView Raw
1var tape = require("tape");
2var ssbkeys = require("../");
3
4tape("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
15tape("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
26tape("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
37tape("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
45tape("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
58tape("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
66tape("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});