Commit Graph

306 Commits

Author SHA1 Message Date
Philipp von Weitershausen
0fea18b3fd Bug 584040 - Fix leaky tests [r=mconnor]
Avoid holding on to the original nsIFormHistory2 service object in FormNotifier.js and explicitly null the reference on shutdown.
2010-08-03 19:57:53 +02:00
Philipp von Weitershausen
91fc78c5c7 Bug 584170 - Make test_service_cluster.js less prone to timing problems [r=mconnor] 2010-08-03 22:20:40 +02:00
Paul O’Shannessy
275062c02e Bug 583985 - Disable leaky sync tests 2010-08-03 00:45:28 -07:00
Paul O’Shannessy
a85749668f Bug 583949 - Fix leaks in Firefox Sync unit tests (followup) 2010-08-03 00:43:42 -07:00
Justin Dolske
31c2a0210a Bug 583949 - Fix leaks in Firefox Sync unit tests 2010-08-02 22:37:13 -07:00
Philipp von Weitershausen
b9d6aa2172 Bug 583829 - Log4Moz.getLogger() should always be called with a name 2010-08-02 22:06:29 +02:00
Philipp von Weitershausen
a2466ae2e3 Bug 582083 - Should inspect POST responses for failed WBOs [r=Mardak]
Make sure records that failed to upload continue to be marked in the tracker so that they'll be uploaded again in the next sync.
2010-07-31 13:28:00 +02:00
Philipp von Weitershausen
223fbdf62d Bug 579510 - Make sure multi-byte passwords are stored and sent correctly [r=mconnor]
UTF8-encode passwords when creating accounts, changing passwords, and when authenticating. Detect old low-byte only passwords on the server and reupload them as UTF8.
2010-07-20 00:28:54 +02:00
Philipp von Weitershausen
c6b05f2bb1 Add missing test_service_passphraseUTF8 from bug 558963 2010-07-02 14:44:00 +02:00
Philipp von Weitershausen
0c89ecd876 Bug 569744 - Delayed loading of service.js causes test failures [r=Mardak]
Explicitly set username pref so that when service.js starts up (which it does after 10s, thanks to Weave.js) it doesn't reset the WeaveID's username to ''.
2010-07-14 18:36:13 +02:00
Philipp von Weitershausen
efc1efae81 Bug 558963, part 2, UTF-8 encode passphrase and rewrap keys if needed, r=mconnor 2010-07-03 14:13:40 -04:00
Philipp von Weitershausen
9b34f348c7 Bug 573740 - Register resource://services-sync before xpcshell tests get run [r=Mardak]
Don't try to create the alias too early, add-on chrome registration might not have happened yet, so do it during testing.
2010-06-23 16:28:10 +02:00
Philipp von Weitershausen
fc4daed597 Bug 569744 - Delayed loading of service.js causes test failures [r=Mardak]
Have FakeCryptoService.generateRandomIV() return 24 bytes so that Weave.Service._checkCrypto() believes it's the real deal. Fix undeclared variable.
2010-06-23 12:36:48 +02:00
Edward Lee
6ce04aa984 Bug 573679 - Fix tests to pass on trunk
Get a profile for xpcshell tests so that login manager works (and probably other stuff). Fix up anno test from this change to use a real bookmark id.
2010-06-22 18:28:37 -07:00
Edward Lee
547387482f Bug 573679 - Fix tests to pass on trunk
Use Utils.delay instead of setTimeout.
2010-06-22 16:49:33 -07:00
Edward Lee
6b59818d1b Bug 573679 - Fix tests to pass on trunk
Switch around which lazy services we use to test with but cover even more data types.
2010-06-22 16:48:55 -07:00
Edward Lee
cd82d6dcbb Bug 573679 - Fix tests to pass on trunk
Just take parts of a static string instead of randomly generating bytes and btoa-ing.
2010-06-22 16:47:44 -07:00
Edward Lee
80fc412879 Bug 573679 - Fix tests to pass on trunk
Use do_load_httpd_js for xpcshell tests and have consumers directly call new nsHttpServer().
2010-06-22 13:18:10 -07:00
Edward Lee
58b70d2360 Bug 573668 - Register appinfo with correct OS for tests
Register a fake AppInfo with correct OS if it doesn't exist yet. Just use Svc.Crypto instead of trying to dynamically pick the contract id. Name the head files so they load in appinfo -> helper -> http order.

--HG--
rename : services/sync/tests/unit/bookmark_setup.js => services/sync/tests/unit/head_appinfo.js
rename : services/sync/tests/unit/head_first.js => services/sync/tests/unit/head_helpers.js
2010-06-22 00:20:31 -07:00
Edward Lee
0192c7670c Bug 573679 - Fix tests to pass on trunk
Create a bookmark so that the url will exist when setting annotations.
2010-06-21 23:56:56 -07:00
Philipp von Weitershausen
919ecb4821 Bug 557589 - code audit and create unit test plan for service.js [r=mconnor]
Part 5: Tests for checkUsername, createAccount, changePassword
2010-06-17 16:47:13 +01:00
Philipp von Weitershausen
bf85b6b3c2 Bug 557589 - code audit and create unit test plan for service.js [r=mconnor]
Part 4: Get rid of superfluous attribute, introduce constants for password/passphrase realms, add/improve tests for login(), logout(), persistLogin().
2010-06-17 04:12:38 +01:00
Philipp von Weitershausen
47e58c78c2 Bug 557589 - code audit and create unit test plan for service.js [r=mconnor]
Part 3: Tests for Weave.Service._{find|set|update}Cluster()
2010-06-09 11:07:54 -07:00
Philipp von Weitershausen
e5aa302439 Bug 573015 - Get rid of 'attic' and 'need-work' tests [r=mconnor] 2010-06-18 09:39:03 -07:00
Edward Lee
46e1de249f Bug 570636 - Decide how to co-exist as a sync add-on and built-in sync [r=mconnor]
Migrate prefs from extensions.weave. to services.sync. when loading the service for the first time before migration.
2010-06-16 14:30:13 -07:00
Edward Lee
4e55362a90 Bug 570636 - Decide how to co-exist as a sync add-on and built-in sync [r=mconnor]
Map the modules directory to services-sync instead of weave and update imports.
2010-06-16 14:30:08 -07:00
Edward Lee
0d25dd2924 Bug 568677 - Failure to get CryptoMeta assumes it's missing [r=mconnor]
Explicitly check the status code to make sure we stop syncing on non-404 crypto meta failures. Add tests to check correct behavior of 404 and non-404 errors during syncStartup.
2010-06-14 15:16:53 -07:00
Philipp von Weitershausen
b37e25a581 Bug 570180 - Setup wizard sets passphrase='foo' [r=mconnor]
Promote _verifyLogin to a public method so we have a way to query login status even with a non-existent or invalid passphrase.
2010-06-14 21:03:39 +01:00
Philipp von Weitershausen
4eb68874cb Bug 570573 - Clean up uses of switch (Svc.AppInfo.ID) for app-specific hacks (Part 2) [r=mconnor]
Weave.Service.onStartup now triggers autoconnect after a fixed delay specified in a preference. If that preference is absent, nothing happens and apps are responsible for triggering autoconnect in a weave:service:ready observer themselves. Provide such observers for Firefox and Fennec.
2010-06-10 17:04:49 -07:00
Philipp von Weitershausen
128fdd1bef Bug 570573 - Clean up uses of switch (Svc.AppInfo.ID) for app-specific hacks (Part 1) [r=mconnor]
Weave.Service._registerEngines now reads the list of engines from a preference so that apps can specify it this way. The switch logic stays as fallback for the addon case.
2010-06-09 17:22:03 -07:00
Edward Lee
9ddf0f8ed5 Bug 546551 - Weave status bar notifications are too busy [r=mconnor]
Remove status bar icon/text for setup/connect/sync status. Add menuitem for setting up sync instead of drilling down a 1-item submenu that leads to a button. Remove unused Engine.displayName and related strings.
2010-06-14 10:30:37 -07:00
Edward Lee
0ef81dfdae Bug 569355 - source code reorg, redux [r=mconnor]
Split the code structure to service/{crypto,sync} and ui/{fennec,firefox}. Update the top level makefile to build the addon staging directory to merge various parts of directories.
2010-06-09 17:03:31 -07:00
Edward Lee
bf0c20b919 Bustage fix for bug 570635 to allow more time for the timeout to trigger. 2010-06-09 15:38:17 -07:00
Edward Lee
ef8599f8c5 Bug 570635 - Use async queries for fetching form data [r=mconnor]
Create a Utils.queryAsync to wrap executeAsync that fetches all rows and columns by name. Update form and history engines to use it.
2010-06-09 09:35:01 -07:00
Philipp von Weitershausen
fb0dbc769b Bug 569740 - Tab Characters within Usernames Can Cause Connectivity Issues & Security Events [r=mconnor]
Strip tabs from username since tabs are stripped from URIs and the username is part of all URIs.
2010-06-08 19:05:05 -07:00
Philipp von Weitershausen
79066a071f Bug 557589 - code audit and create unit test plan for service.js [r=mconnor]
Part 2: Tests for module startup, Weave.Service attributes.
2010-06-04 17:05:55 +01:00
Philipp von Weitershausen
c0bcc6524a Bug 570152 - engine.js tests should completely reset preferences [r=mconnor]
Switch to resetBranch("") instead of resetting individual prefs.
2010-06-04 16:38:38 +01:00
Philipp von Weitershausen
66a57fc0d9 Bug 570137 - test_engine fails on Minefield [r=mconnor]
Setting an attribute that has a getter no longer throws an exception in Minefield, it's just ignored.
2010-06-04 15:14:27 +01:00
Philipp von Weitershausen
c827b6ed13 Bug 569730 - Can't log in a 2nd computer [r=Mardak]
Fix a regression introduced with the status.js refactoring (bug 557590).
2010-06-04 14:44:04 +01:00
Edward Lee
2ddf5e7a90 Bug 568136 - Migration requires client to check for a node again after a 401 [r=mconnor]
Allow observers to watch for resource 401s and to specify a new uri to request. Test to make sure "weave:resource:status:401" gets notified and resource handles uri changes.
2010-06-03 18:37:07 -07:00
Edward Lee
4ef8492eaf Bug 569746 - Test with sync with smaller numbers to speed up testing
Reduce test run time (w/ coverage tool) from 25 minutes to 2 minutes while maintaining the same code coverage by processing hundreds instead of thousands of records.
2010-06-02 16:51:48 -07:00
Philipp von Weitershausen
81632f2661 Bug 566575 - Some tests FAIL on first run and PASS or hang on subsequent runs [r=mconnor]
Update to httpd.js from mozilla-central. server.stop() now expects a callback parameter, so pass a no-op where it's used.
2010-06-01 15:25:23 -07:00
Philipp von Weitershausen
721e3fa637 Bug 557596 - code audit and create unit test plan for resource.js [r=mconnor]
Lots of resource tests, Resource.serverTime initialized to null, Resource.headers normalized to lowercase.
2010-06-01 15:15:53 -07:00
Philipp von Weitershausen
912b4b6b57 Bug 557590 - code audit and create unit test plan for status.js [r=mconnor]
Initialize status values in status.js + tests for status.js.
2010-06-01 15:12:25 -07:00
Philipp von Weitershausen
ceaa8fab03 Bug 557588 - code audit and create unit test plan for engines.js [r=mconnor]
Tests for SyncEngine.sync(), incl some additions to harness.
2010-06-01 15:07:50 -07:00
Philipp von Weitershausen
ba3ea98599 Bug 557588 - code audit and create unit test plan for engines.js [r=mconnor]
Tests for EngineMangerSvc, Engine and SyncEngine sans sync().
2010-06-01 15:06:16 -07:00
Edward Lee
39c7860ed8 Bug 569428 - Add tests for FormEngine (Store) 2010-06-01 12:44:51 -07:00
Edward Lee
80423cab37 Bug 557591 - Add tests for Utils.sha1. 2010-06-01 11:59:21 -07:00
Edward Lee
8d2951b399 Bug 557591 - Add tests for Utils.anno with invalid uris. 2010-06-01 11:30:11 -07:00
Edward Lee
89f3d54c0f Bug 568518 - Unhelpful log messages [r=mconnor]
Remove "Server attack" from exceptions.
2010-05-27 11:04:30 -07:00
Edward Lee
4d78de7c1b Add tests for Utils.jsonSave and Utils.jsonLoad. 2010-05-20 18:03:19 -07:00
Edward Lee
7905ede039 Bug 557591 - Add tests for Utils.makeURI. 2010-05-19 09:40:45 -07:00
Edward Lee
e241252a4e Bug 557591 - Add tests for Utils.sha256HMAC. 2010-05-18 13:40:12 -07:00
Edward Lee
7c019e0309 Bug 557591 - Add tests for Utils.stackTrace. 2010-05-17 14:17:32 -07:00
Edward Lee
7befe92e24 Bug 557591 - Add tests for Utils.lazySvc. [r=mconnor]
Add a fake service that definitely won't exist for testing purposes.
2010-05-17 13:46:19 -07:00
Edward Lee
d54124209a Bug 557591 - Add tests for Utils.lazy2/cb.
--HG--
rename : services/sync/tests/unit/test_utils_lazy.js => services/sync/tests/unit/test_utils_lazy2.js
2010-05-17 12:47:29 -07:00
Edward Lee
247c43e425 Bug 557591 - Add tests for Utils.lazy/cb.
--HG--
extra : rebase_source : 4f2d102f31b2afa8d3c34261b63b344fccef824b
2010-05-17 12:43:20 -07:00
Edward Lee
cdf7defc20 Bug 557591 - Add tests for Utils.deferGetSet. 2010-05-14 17:31:24 -07:00
Edward Lee
36f17f2c20 Bug 557591 - Add tests for Utils.anno. 2010-05-10 18:08:52 -07:00
Edward Lee
310f605d46 Bug 557591 - Add tests for Utils.makeGUID. 2010-05-10 17:22:48 -07:00
Edward Lee
0e5816ef90 Bug 557591 - Add tests for Utils.notify. 2010-05-10 17:05:50 -07:00
Edward Lee
c61020e275 Bug 557591 - Add tests for Utils.lock. 2010-05-10 16:42:04 -07:00
Edward Lee
ff586e08e3 Bug 557591 - Add tests for Utils.catch.
--HG--
extra : rebase_source : 545492072668cfb6862dde756506e12cf43d4375
2010-05-10 16:22:32 -07:00
Justin Dolske
661389fa2f Bug 513798 - Rewrite WeaveCrypto in JS. r=mconnor, r=dwitte
--HG--
rename : services/crypto/components/IWeaveCrypto.xpt => services/crypto/IWeaveCrypto.xpt
2010-04-21 19:02:16 -07:00
Edward Lee
3b4aa0220d Bug 550627 - Default reconciliation to server wins for older changed items [r=mconnor]
Save the time the tracker adds a new changed id and use that to compare the age of the record on the server vs the age of the local change to decide if it's server wins or client wins. Fix up various direct uses of changedIDs to use the API and make the save-to-disk lazy to avoid excessive writes. Add a test to make sure addChangedID only increases in time.
2010-04-01 15:54:53 -07:00
Edward Lee
ba60f514a6 Bug 552134 - Ensure that keyring/symmetric key haven't been tampered with [r=mconnor]
Store a HMAC with the encrypted symmetric key instead of just the wrapped key and verify that the HMAC matches before unwrapping. Test that normal getting works and a tampered payload/HMAC fails but succeeds on restoring the correct HMAC.
2010-03-25 19:23:44 -07:00
Edward Lee
e5bce4658d Bug 549638 - Ensure that encrypted payloads haven't been tampered with [r=mconnor r=dolske]
Generate a SHA256 HAMC hex string from the base64 ciphertext and base64 symmetric key. Generate a HMAC key from the symmetric key and cache them together when unwrapping. Refactor the Utils.sha1 to share the same digest code.

--HG--
extra : rebase_source : dae973c62317eb3b738306fc30ea19870555c7df
2010-03-16 16:31:56 -07:00
Edward Lee
21f7747109 Bug 548066 - JavaScript strict warning: clientData.js, line 194: reference to undefined property this.clients[id] [r=mconnor]
Get rid of get/setInfo on ClientEngine and ClientStore and expose functions to read/modify client data: stats, clearCommands, sendCommand. Also expose the local client information as local[ID,Name,Type,Commands] and rework the storage to use these instead of trying to keep the JS object clients entry in sync with prefs, etc. Update users of the old interface (service/tabs/chrome) to use the new local*. Set the client type based on app id instead of from each app's overlay.
2010-03-16 16:39:08 -07:00
Edward Lee
e73dbf06b9 Bug 547007 - Use a per-record IV instead of one for each symkey [r=mconnor]
Generate a random IV on every encrypt instead of taking it from the CryptoMeta. Don't bother generating a bulkIV per CryptoMeta.
2010-03-16 16:31:56 -07:00
Edward Lee
177b122960 Bug 547048 - Only allow clients to issue delete records [r=mconnor]
Don't specially serialize/not encrypt delete records and store the deleted flag as part of the cleartext payload.
2010-03-16 16:31:56 -07:00
Edward Lee
6c37148ae4 Bug 547049 - Verify that encrypted payloads correspond to the requested record [r=mconnor]
Write the record's id to both .data and .cleartext and check that they match when decrypting.
2010-03-16 16:31:56 -07:00
Edward Lee
4bdfeb9b77 Remove engines from failing load tests now that engines are gone. 2009-12-11 11:32:23 -08:00
Philipp von Weitershausen
7e309ebfe5 Bug 604565 - Disable intermittently failing xpcshell tests on OSX debug builds. r=mconnor a=orange
--HG--
rename : services/sync/tests/unit/head_appinfo.js => services/sync/tests/unit/head_appinfo.js.in
2010-10-21 00:59:05 +02:00
Philipp von Weitershausen
5bb24d494d Bug 604565 - Attempt to make tests hang less on OS X. r=mconnor a=afrosdwilsh
Reduce amount of pointless network calls by not registering any engines for tests that provide their own fake engine implementations anyway.
2010-10-19 00:07:04 +02:00
Philipp von Weitershausen
564088e658 Bug 603388 - Merge fx-sync to mozilla-central. a=blockers
--HG--
rename : services/crypto/WeaveCrypto.js => services/crypto/modules/WeaveCrypto.js
2010-10-15 11:46:02 +02:00
Philipp von Weitershausen
ccda96f21d Merge bug 601973 from fx-sync. a=blocking-beta7 2010-10-05 21:13:00 +02:00
Philipp von Weitershausen
4b8ea85cc0 Bug 601952 - Merge fx-sync to mozilla-central. a=blocking-beta7 2010-10-05 19:11:27 +02:00
Philipp von Weitershausen
fffee366cd Disable tests due to Windows failures (bug 599193) a=bustage-fix 2010-09-24 02:24:42 +02:00
Philipp von Weitershausen
d14f7f7afd Merge fx-sync to mozilla-central (bug 597426) 2010-09-24 00:19:31 +02:00
Philipp von Weitershausen
91f9e720c4 Bug 594506 - Merge fx-sync to mozilla-central 2010-09-15 15:54:35 +02:00
Edward Lee
0be8c60c74 Update predecessor test to additionally test unsorted bookmark predecessors. 2009-10-13 21:07:32 -07:00
Edward Lee
b0c3b9005e Bug 515676 - Allow giving objects to PUT/POST without Filters to avoid stringify([parse(stringify(stringify(obj)))])
Get rid of Filters and automatically JSON.stringify PUT/POST data that aren't strings, so plain Records can be passed in to PUT and POST. This leverages toJSON of Records to provide an object that can be serialized. Fix up client record serialize/deserialize to still escape/unescape non-ASCII.
2009-09-10 11:05:13 -07:00
Edward Lee
e633a4dcea Remove mostly unused FaultTolerance service and fix up remaining references. 2009-08-31 17:17:20 -07:00
Edward Lee
c70241b5ce Bug 512457 - Report errors before they get eaten up by runInBatchMode
Save the exception from inside runBatched and not have runInBatchMode return failure, so we can then expose the exception.
2009-08-31 16:28:00 -07:00
Edward Lee
b8e1f6aad3 Bug 512637 - Use newlines instead of JSON collection for incremental parsing. r=thunder
Switch to newline mode when using a collection record handler, and look for newlines! Easy! Update test to provide newline-separated strings instead of JSON.
2009-08-26 18:09:41 -07:00
Edward Lee
009411f482 Bug 511746 - Resource.foo shouldn't throw except in exceptional cases. r=thunder
Get rid of lastChannel and return a String object from _request with additional properties of status, succeeded, headers -- even if the response was handled by cache. Update engines to check for non-success and throw the failure. Update tests to use these additional properties instead of lastChannel, etc.
2009-08-26 15:32:46 -07:00
Edward Lee
c4393b5e3b Handle holes in bookmark folders and fix up bookmarks to be at an earlier position if a hole was detected. 2009-08-19 19:32:05 -07:00
Edward Lee
4bb37a06d2 Add tests to make sure bookmarks are in the right position after creating/updating. 2009-08-19 18:15:12 -07:00
Edward Lee
6b910e2590 Share the logging _ code for tests. 2009-08-19 18:01:06 -07:00
Edward Lee
8a14a4dfd4 Bug 507691 - Server responds with json decode failure for fat unicode characters
Make sure we generate ASCII data for upload by escaping on serialize and unescaping on deserialize. Test to make sure serialized data is ASCII and the original records aren't modified by serialize.
2009-08-06 11:28:33 -07:00
Anant Narayanan
45673ccb67 WinCE crypto binary (bug #487171) 2009-07-28 17:14:52 -07:00
Anant Narayanan
a79e153fb9 Backed out changeset 9e8936813ae1 2009-07-28 17:13:15 -07:00
Anant Narayanan
7a7c271cd7 WinCE crypto binary 2009-07-28 16:54:24 -07:00
Edward Lee
a14ea8d26f Add i86pc machine detection for crypto Makefile. Add SunOS for test Makefiles. 2009-07-26 02:55:38 -07:00
Edward Lee
39607ef7b9 Bug 505940 - Unnecessarily uploading records on first sync
Remove short-circuit logic of comparing number of keys for deepEquals and iterate through each key on both objects to make sure both have the same value.
2009-07-22 23:49:15 -07:00
Edward Lee
a26f0b1166 Bug 485573 - Fennec runs out of memory and crashes if too many history items to sync. r=thunder
Incrementally process records as the collection finds record boundaries and converts them to records for the engine to use. Get rid of the collection iterator and original RecordParser. Add tests for incremental record parsing and remove old iter tests.
2009-07-22 16:38:34 -07:00
Anant Narayanan
3541ab1269 Expose rewrapPrivateKey & verifyPassphrase (bug #505401) 2009-07-21 15:02:30 -07:00
Anant Narayanan
0697eb1f5c Backed out changeset 5768a19f21d3 (crypto review not done yet) 2009-07-21 14:32:57 -07:00
Anant Narayanan
1509f1d1cb Crypto changes
--HG--
extra : rebase_source : 0a953a43c01b95e7c467ec4ca7feeb0aaa00f5e1
2009-07-21 11:18:29 -07:00
Mike Connor
6ccbc1e360 move password tests to need-work because they've been broken for a year
--HG--
rename : services/sync/tests/unit/test_passwords.js => services/sync/tests/unit/need-work/test_passwords.js
2009-07-16 11:51:10 -04:00