services/sync/tests/unit/test_bookmark_record.js

branch
TOR_BUG_9701
changeset 15
b8a032363ba2
equal deleted inserted replaced
-1:000000000000 0:b60bd27ebb40
1 /* Any copyright is dedicated to the Public Domain.
2 * http://creativecommons.org/publicdomain/zero/1.0/ */
3
4 Cu.import("resource://gre/modules/Log.jsm");
5 Cu.import("resource://services-sync/engines/bookmarks.js");
6 Cu.import("resource://services-sync/keys.js");
7 Cu.import("resource://services-sync/record.js");
8 Cu.import("resource://services-sync/service.js");
9 Cu.import("resource://services-sync/util.js");
10 Cu.import("resource://testing-common/services/sync/utils.js");
11
12 function prepareBookmarkItem(collection, id) {
13 let b = new Bookmark(collection, id);
14 b.cleartext.stuff = "my payload here";
15 return b;
16 }
17
18 function run_test() {
19 ensureLegacyIdentityManager();
20 Service.identity.username = "john@example.com";
21 Service.identity.syncKey = "abcdeabcdeabcdeabcdeabcdea";
22 generateNewKeys(Service.collectionKeys);
23 let keyBundle = Service.identity.syncKeyBundle;
24
25 let log = Log.repository.getLogger("Test");
26 Log.repository.rootLogger.addAppender(new Log.DumpAppender());
27
28 log.info("Creating a record");
29
30 let u = "http://localhost:8080/storage/bookmarks/foo";
31 let placesItem = new PlacesItem("bookmarks", "foo", "bookmark");
32 let bookmarkItem = prepareBookmarkItem("bookmarks", "foo");
33
34 log.info("Checking getTypeObject");
35 do_check_eq(placesItem.getTypeObject(placesItem.type), Bookmark);
36 do_check_eq(bookmarkItem.getTypeObject(bookmarkItem.type), Bookmark);
37
38 bookmarkItem.encrypt(keyBundle);
39 log.info("Ciphertext is " + bookmarkItem.ciphertext);
40 do_check_true(bookmarkItem.ciphertext != null);
41
42 log.info("Decrypting the record");
43
44 let payload = bookmarkItem.decrypt(keyBundle);
45 do_check_eq(payload.stuff, "my payload here");
46 do_check_eq(bookmarkItem.getTypeObject(bookmarkItem.type), Bookmark);
47 do_check_neq(payload, bookmarkItem.payload); // wrap.data.payload is the encrypted one
48 }

mercurial