Age | Commit message (Collapse) | Author |
|
Fixed pep8 warnings after latest PR
|
|
* 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.
|
|
While #7370 is being researched, it doesnt make sense to have this test
running for now. Will be enabled again after investigation finishes.
|
|
As suggested by drebs, the callback chaining can put None to sync,
bringing undesired behavior.
|
|
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
|
|
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
|
|
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
|
|
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
|
|
Pulled the requirement for the test scenario in sqlcipher sync so
we could remove the dependency on the u1db test_sync
|
|
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).
|
|
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
|
|
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
|
|
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
|
|
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
|
|
Two spaces before class, not one
|
|
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)
|
|
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
|
|
U1DB test_http_app file was not being required anywhere and it's tests were
being skipped, removing it to clean up
|
|
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')
|
|
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.
|
|
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
|
|
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
|
|
The old target is now http_target and the class name was changed from
SoledadSyncTarget to SoledadHTTPSyncTarget, fixed this on the tests
|
|
|
|
|
|
|
|
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
|
|
|
|
That is the right way TM to fix the events issue without explicitly
setting the flag, as kaliy suggested
|
|
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
|
|
|
|
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.
|
|
|
|
|
|
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.
|
|
- Related: #6359
|
|
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.
|
|
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
|
|
CouchServerState does not use two extra parameters anymore. Tests are
now reflecting this change. Relate to #6833
|
|
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.
|
|
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.
|
|
In the past, we wanted dependency on leap.common to be optional, but now
because of the explicit use of the config path prefix and signaling, we want
to enforce dependency on leap.common.
|
|
|
|
|
|
|
|
|
|
|
|
* Separate local storage, syncers and shared_db
* Comment out unused need_sync method
* Use twisted LoopingCall
* Create a threadpool for syncs
* Return deferred from sync method
* Do not pass crypto to SQLCipherDatabase
* Pass replica_uid to u1db_syncer
* Rename / reorganize some initialization methods
|
|
(#6400).
|
|
|