Commit Graph

269 Commits

Author SHA1 Message Date
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
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
Edward Lee
e0f49d8631 merge weave. resolve Makefile storage_version changes. 2009-07-14 19:23:15 -07:00
Edward Lee
b935178671 Bug 504212 - Have javascript stack traces show [object Object] for various CryptoWrapper functions
Also update createKeypair for keys to pass around the passphrase object and update the tests to pass around an object.
2009-07-14 19:04:32 -07:00
Mike Connor
0d4506ba23 fix tests 2009-07-11 02:30:37 -04:00
Mike Connor
44bd8a8cb4 arglebargle 2009-07-11 01:20:45 -04:00
Edward Lee
f3b15e11d4 Remove async and wrap from test_load_modules. 2009-07-09 13:58:19 -07:00
Edward Lee
5c482eea0d merge weave. resolve comments added to resource.js. 2009-07-09 11:21:20 -07:00
Dan Mills
7626f0f740 switch from autogenerated load-module tests to a single test that loads all modules 2009-07-01 11:51:52 -07:00
Edward Lee
84c52a6411 merge weave. resolve addition of kSpecialIds to bookmarks.js near removal of Async.sugar. 2009-06-23 22:34:57 -07:00
Edward Lee
ad5f01ba04 Bug 493816 - Timestamps need to be saved as string prefs
Internally store .lastSync as a string but keep exposing set/getters as float values. parseFloat takes both strings and numbers and gives a number.

--HG--
extra : rebase_source : b657dd3f732b9f3b3b0ef208ee53e799aa87d2c6
2009-06-16 17:22:59 -07:00
Edward Lee
f69797ec49 Remove some async related code in head.js. 2009-06-09 14:48:49 -05:00
Edward Lee
1cd1e7d94e Convert test_auth_manager to sync. 2009-06-09 14:39:45 -05:00
Edward Lee
df224f04d6 Remove test_async* tests. 2009-06-09 14:34:27 -05:00
Edward Lee
cec8cdb5a2 Convert test_records_crypto to sync. 2009-06-09 14:33:45 -05:00
Edward Lee
f5f6e22061 Convert test_records_keys to sync. 2009-06-09 14:31:26 -05:00
Edward Lee
735531e432 Convert test_records_wbo to sync. 2009-06-09 14:28:37 -05:00
Edward Lee
713f08cf64 Convert test_resource to sync. 2009-06-09 14:25:55 -05:00
Dan Mills
dc43c004a6 fix keys test to work with latest key structure + nsIChannel 2009-06-05 11:23:31 -07:00
Dan Mills
889ac9b203 partially revert d6cac1e80da9 - use id from the body; add additional tests to catch more errors 2009-06-05 10:39:51 -07:00
Dan Mills
384f5493c2 fix wbo record test, expand to use record manager as well 2009-06-04 15:29:31 -07:00
Edward Lee
6ef632b80e Add test for Utils.deepEquals 2009-05-19 14:24:26 -05:00