summaryrefslogtreecommitdiff
path: root/common/src/leap
AgeCommit message (Collapse)Author
2015-08-19[bug] wait for db init on sync decrypter pooldrebs
Previous to this modification, the initialization of the sync decrypter pool could happen concurrently with other database operations. That could cause the pool to hang because it could be waiting for something that was mistakenly deleted because of the wrong order of database operations. This commit implements a standard which we already use in leap.keymanager and leap.mail which makes some methods wait for the initialization operation before they are actually called. Closes: #7386
2015-08-17[style] pep8 cleanupKali Kaneko
2015-08-17[tests] add mutex sync testsdrebs
2015-08-17[tests] fix test_sqlcipher_syncdrebs
2015-08-17[tests] fix test_sync_deferred testdrebs
* Add possibility of passing sync_db and sync_enc_pool to target creation. * Ensure defer_encryption and defer_decryption are True when setting up the test environment.
2015-08-17[tests] fix tests from test_sync moduledrebs
* Remove test to assert database autocreation. We don't have that feature in soledad and so don't need that test here. * Remove redundant test without token authentication. * Fix server setup. * Skip interruptable sync test case, for now.
2015-08-12[bug] wrong sqlcipher passphrase now raises correctlyBruno Wagner
When you tried to start a local sqlcipher that was created before, with the wrong passphrase, the code was raising a sqlcipher DatabaseError, there were tests covering this but they were expecting a WrongMacError that was never raised. I added code to wrap the DatabaseError and raise a new exception DatabaseAccessError that is specific to soledad and adapted the tests to expect it
2015-08-12[tests] added inlineCallbacks to test with yieldBruno Wagner
test_db_sync_autocreate was using yield but didn't have the inlineCallbacks decorator, that made it a generator but the trial tests don't support generators. Fixed this
2015-08-12[tests] Test encdecpool couldn't resolve inheritanceBruno Wagner
It was inheriting from twisted testcase in both u1db_tests.TestCase and in BaseSoledadTest, removed u1db testcase and everything is ok now
2015-08-12[style] Fixed pep8 warnings after PRBruno Wagner
Fixed pep8 warnings after latest PR
2015-08-12[bug] fix several things on testsdrebs
* redefine the BaseLeapTest class so it inherits from twisted.trial.unittest.TestCase. * allow passing the source_replica_uid when creating the sync target. This is needed because the SoledadHTTPSyncTarget needs to be instantiated with the source_replica_uid passed as a parameter. * close the sync target in tests that use it. * raise and U1DBError instead of an Exception on failure_and_retry test, because otherwise the u1db http app server will re-raise the Exception and twisted's WSGI server will raise the exception * set defer_decryption=False in some sync_exchange() calls so the call is consistent with soledad instantiation in tests and the new signature of that method. * yield get_sync_info() in tests that use this method.
2015-08-12[tests] #7370 opened, skipping test for nowVictor Shyba
While #7370 is being researched, it doesnt make sense to have this test running for now. Will be enabled again after investigation finishes.
2015-08-12[bug] Using lambda to avoid mistake on argumentsVictor Shyba
As suggested by drebs, the callback chaining can put None to sync, bringing undesired behavior.
2015-08-12[tests] Fixed double getURL in some testsBruno Wagner
Some calls to soledad_sync_target were being made with a full path, but the the method itself handles that, so I removed the extraneous calls those problems
2015-08-12[tests] Fixed flakiness in test_sync_targetBruno Wagner
The first test to be run in the TestSoledadParseReceivedDocResponse suite was erroring with connection refused, that is because it actually connects to the server, but wasn't setting it up, I changed it to inherit the simpler SoledadWithCouchServerMixin and adapted the setUp and tearDown, now it works everytime with no problems
2015-08-12[bug] Encdecpool won't explode if stopped twiceBruno Wagner
The encryption pool could be stopped twice and would break on the second attempt because it deletes the encryption queue variable. Added a condition to make sure it only deletes the encryption queue if it exists, making it more idempotent
2015-08-12[tests] Test sync adapted without u1db testsBruno Wagner
Test sync now doesn't inherit from u1db tests, it's tests will now be run and were failing, so I fixed them. Sync deferred will not be correctly handled in these tests. I also pulled over a method from the u1db test and there seems to be a pattern, I'll try to deduplicate these methods as soon as it gets clearer
2015-08-12[tests] Pulled test scenario req into sqlcipher sync testBruno Wagner
Pulled the requirement for the test scenario in sqlcipher sync so we could remove the dependency on the u1db test_sync
2015-08-12[tests] Fixed running sqlcipher_sync testsBruno Wagner
Sqlcipher sync tests were not being run because they were inheriting from a u1db class that was having the tests skipped, I removed that dependency and fixed the tests (they were expecting the synchronous, old http_target api).
2015-08-12[tests] Removed unused import in test_http_targetBruno Wagner
Test_http_target was using u1db test_sync in a lot of places, I removed those references on the last changes and am removing the dependency at once in this one
2015-08-12[tests] Adapted test_sync_target tests after changesBruno Wagner
Removed inherit from u1db test that was causing these tests to be ignored, the tests were broken with the latest changes to the sync_target, so I fixed them, no tests are being skipped on test_sync_target anymore
2015-08-12[tests] Sync very large files won't explode memoryBruno Wagner
Sync very large files will now fail early because it was exploding the memory, it needs some love, but for now I'll just make it fail and open an issue to take a better look at it
2015-08-12[bug] fixes concurrent sync and their testsVictor Shyba
Changes threading.lock to DeferredLock and checks syncing attribute by looking into the lock state. Also, applies more of startTwistedServer on tests that relies on HTTP/1.1. Fixes mock for events
2015-08-12[style] Fixed pep8 warningBruno Wagner
Two spaces before class, not one
2015-08-12[tests] Removed some of the dependencies on u1db_testsBruno Wagner
Some mixins were being called from u1db_tests but not used, what was really needed was pulled from there and the remaining dependencies were identified and used from the base (u1db_tests.__init__.py)
2015-08-12[tests] Removed dependency u1db test in parse testBruno Wagner
Started looking at what we can do to remove the u1db test dependencies directly, the parse was calling another class setup that was in fact the u1db testcase, changed that to testcase directly and it still works
2015-08-12[tests] U1db test file was not being used anywhereBruno Wagner
U1DB test_http_app file was not being required anywhere and it's tests were being skipped, removing it to clean up
2015-08-12[tests] Twisted WSGI is optionalVictor Shyba
Some tests still rely on python WSGI logic while others expect HTTP/1.1 from Twisted WSGI. While we can't use a single implementation for all, both are needed. startServer -> python default wsgi (http 1.0) startTwistedServer -> Twisted WSGI (http 1.1 'production-like')
2015-08-12[test] Change test server to use TwistedVictor Shyba
Soledad was being served with python's default wsgi server, which uses HTTP 1.0. Since Soledad server doesn't send length or chunked headers, Twisted HTTP Client gets partial downloads when served with HTTP1.0. Soledad is meant to be used with Twisted WSGI container on HTTP/1.1 and the tests should reflect that.
2015-08-05[tests] Fixed remaining parse testsBruno Wagner
All the response parse tests are passing now, response with no entries was broken because it wasn't being treated and the others were broken because of calls that no longer existed
2015-08-05[tests] Created a setup for the http target testsBruno Wagner
Created a setup for the http target tests Fixed two tests relying on http target that were outdated Fixed a call for an exception that doesn't exist, it won't break anymore if it gets to that exception
2015-08-05[tests] fixed the http target test importsBruno Wagner
The old target is now http_target and the class name was changed from SoledadSyncTarget to SoledadHTTPSyncTarget, fixed this on the tests
2015-08-04[style] pep8 cleanupKali Kaneko
2015-08-04[test] add test for many documents decryptiondrebs
2015-08-04[test] add test for receiving many docs on decpooldrebs
2015-08-04[refactor] remove circular dependency in SoledadCryptoRuben Pollan
SoledadCrypto had Soledad as parameter to be able to use SoledadSecrets. SoledadSecrets had SoledadCrypto as parameter to use *crypt_sym. This commit removes this circular dependency passing directly the secret that SoledadCrypto cares about to the constructor and removing the *crypt_sym methods from SoledadCrypto. - Resolves: #7338
2015-08-04[test] add initial enc/dec pool testsdrebs
2015-08-03[bug] BaseSoledadTest now inherit from BaseLeapTestBruno Wagner
That is the right way TM to fix the events issue without explicitly setting the flag, as kaliy suggested
2015-07-29[test] Added events enabled flag to False for the testsBruno Wagner
The soledad tests were breaking after the change to zmq, the event server was trying to create a zmq instance but there are some missing files that prevented the tests from running just fixed those and the tests run again
2015-07-24[style] fixed pep8 warnings on soledad commonBruno Wagner
2015-07-01[bug] catch 'point is undefined' error on couchdrebs
When trying to use an unexisting list function, to alter a view, the error is not a missing document error, but an obscure "TypeError" saying that "point is undefined" because of the way the javascript code in couchdb server tries to find the list function. This commit adds a catch for that error and raises the proper exception in the soledad couch module.
2015-06-30[bug] fix https tests by using new http clientdrebs
2015-06-30[bug] add close() to mocked shared db test utildrebs
2015-06-26[fix] Make test_server parallelizableVictor Shyba
Using real uuid to separate Locks on each test allow them to be run in parallel. Using real uuid also allows parallel syncs. This is being done to allow test suite to run in parallel on future.
2015-05-27[feat] adapt to new events api on commonIvan Alejandro
- Related: #6359
2015-05-26[feat] Retry to start couch and clean properlyVictor Shyba
Now the CouchDB based tests will try 3 times before give up due to timeout or some temporary error. The stop function will also execute properly even if the process wasn't created, leaving no lost files or folders behind.
2015-05-26[bug] Avoid infinite loop starting couch for testsVictor Shyba
As described in #4691, sometimes couch just hangs and all testing freezes. This is due to no output from couch (sometimes meaning that an error on boot wasn't logged). This adds a timeout and checks for it while booting for tests. Closes #4691
2015-05-26[bug] fixes changes made by PR #211 due to bug 6833Victor Shyba
CouchServerState does not use two extra parameters anymore. Tests are now reflecting this change. Relate to #6833
2015-05-25[bug] tests now accept any couchdb versionVictor Shyba
The .ini used before was very old and did not contain all the config values that couch needs. Using -n resets the configuration file chain, making it use what is provided without including the system defaults needed. To make it work with all versions the util will now copy default.ini to temp dir and use it as additional config, overwriting only what is needed with couchdb.ini.template provided.
2015-04-09[fix] remove unneded params to CouchServerStatedrebs
This commit removes some leftover code from a time when Soledad Server used to check for permissions on certain databases when starting (i.e. shared and tokens databases). This was later removed as correct permissions enforcement was relayed to tapicero. Closes: #6833.