/services/sync/tests/unit/test_status_checkSetup.js

http://github.com/zpao/v8monkey · JavaScript · 45 lines · 37 code · 8 blank · 0 comment · 0 complexity · e9691afd1d2237d23edc6e6d9d7e7324 MD5 · raw file

  1. Cu.import("resource://services-sync/constants.js");
  2. Cu.import("resource://services-sync/identity.js");
  3. Cu.import("resource://services-sync/status.js");
  4. Cu.import("resource://services-sync/util.js");
  5. function run_test() {
  6. try {
  7. _("Verify initial setup.");
  8. do_check_eq(ID.get("WeaveID"), null);
  9. do_check_eq(ID.get("WeaveCryptoID"), null);
  10. _("Fresh setup, we're not configured.");
  11. do_check_eq(Status.checkSetup(), CLIENT_NOT_CONFIGURED);
  12. do_check_eq(Status.login, LOGIN_FAILED_NO_USERNAME);
  13. Status.resetSync();
  14. _("Let's provide a username.");
  15. Svc.Prefs.set("username", "johndoe");
  16. do_check_eq(Status.checkSetup(), CLIENT_NOT_CONFIGURED);
  17. do_check_eq(Status.login, LOGIN_FAILED_NO_PASSWORD);
  18. Status.resetSync();
  19. _("checkSetup() created a WeaveID identity.");
  20. let id = ID.get("WeaveID");
  21. do_check_true(!!id);
  22. _("Let's provide a password.");
  23. id.password = "carotsalad";
  24. do_check_eq(Status.checkSetup(), CLIENT_NOT_CONFIGURED);
  25. do_check_eq(Status.login, LOGIN_FAILED_NO_PASSPHRASE);
  26. Status.resetSync();
  27. _("checkSetup() created a WeaveCryptoID identity");
  28. id = ID.get("WeaveCryptoID");
  29. do_check_true(!!id);
  30. _("Let's provide a passphrase");
  31. id.keyStr = "a-bcdef-abcde-acbde-acbde-acbde";
  32. do_check_eq(Status.checkSetup(), STATUS_OK);
  33. Status.resetSync();
  34. } finally {
  35. Svc.Prefs.resetBranch("");
  36. }
  37. }