UNPKG

1.55 kBtext/coffeescriptView Raw
1assert = require 'assert'
2Opdata = require '../src/opdata'
3
4# Sample keys from test.cloudkeychain
5keys =
6 encryption: new Buffer('1LsyuLnyAdLIYZbjBCJFNPDgIzh2NP+VZvh9Ty+8wBc=', 'base64')
7 hmac: new Buffer('5zIgzmCRX3azU4kh2bziIXs0sU1WPf+JIHoOPyVySh8==', 'base64')
8
9# Opdata object setup with keys
10opdata = new Opdata(keys.encryption, keys.hmac)
11
12describe 'Opdata', ->
13
14 it 'should decrypt', ->
15
16 profileKey = new Buffer('b3BkYXRhMDEAAQAAAAAAAJiPMcRoIjR5WmYGn8fiY48CHkjrdAcw/RuXv4WbqQ2pFlcrpZBNIAS+k4duUEhS8ech9BTzwRv5ZDRUAB07IjujOdm1WMZZh3qHZyslagGip/wUSUzFlTh0Xg0qV1n5Ke8t56lc+yLxH70CbPULbWebZVmYEsytQjTld2U+z4vumjqFMZOVzW2XEkxGE3SL11RybAE2gl/w+s2XuoSuIUVcJ8mHO7CYhTdivq64txTYgRgrZ10kBEun39yr/aCNM9rxyZC83DF7sTHXZkMXEqe/lQO5LSohUZHhhkX5XS7uEySmXEBNVyeIpFnDDqG0OUq9qaunNl7UZHNvCU9/ppksL2DsF+gfirAfgrXG+o65yzlADR2MfUje2KXF4084ZFRquBDSGdy7Z3yTo6cm1veOw4muObqnxR4CpLmKe/bI', 'base64')
17
18 expectedKeys = [
19 'b872f9d57294ec8ae056a41e1e905a88768a785de8c47662918eae92eeacef2b',
20 'dcd674587d9cd6b72128fc50ecee9840200f27862b18c3767cbc6cd4deb709ed'
21 ]
22
23 assert.deepEqual expectedKeys, opdata.decrypt('profileKey', profileKey)
24
25
26 it 'should encrypt', ->
27
28 data = new Buffer("Hello World!")
29
30 # Encrypt
31 encrypted = opdata.encrypt('item', data).toString('hex')
32
33 # Check that is opdata
34 assert.equal encrypted[0..15], '6f70646174613031'
35 assert.equal encrypted[16..31], '0c00000000000000'
36 assert.equal encrypted.length, 192
37
38 # Check decryption
39 assert.equal opdata.decrypt('item', encrypted), "Hello World!"