summaryrefslogtreecommitdiff
path: root/testing
AgeCommit message (Collapse)Author
2017-08-25[benchmarks] add legacy mail delivery testdrebs
2017-08-25[test] enable blobs in soledad server for testsdrebs
2017-08-23[bug] fix testsVictor Shyba
2017-08-23[tests] use latest version of pytest-benchmarkdrebs
2017-08-23[test] use sensible server default config for testingdrebs
2017-08-23[test] find correct twistd when outside tox envsdrebs
2017-08-23[bug] retain tempdir name in soledad server fixturedrebs
2017-08-11[refactor] make blobs client unaware of 'default'Victor Shyba
This value was hardcoded on client, but it's assumed to be default by the server and there is no need for it to be hardcoded. -- Resolves: #8882
2017-08-11[bug] track namespace information on blobs clientVictor Shyba
A reported bug on namespace feature was that we couldn't delete a namespaced blob after a cold start, since the client wasn't able to check which namespace it belongs. This commits completes the tracking of namespace over client site code, making it possible to query and store namespce information on disk, through sqlcipher. -- Resolves: #8882
2017-08-11[bug] enforce namespace to default on serverVictor Shyba
This commit is complementary to the previous one. It adds a test for the reported bug (listing default namespace was listing others) and fixes it. -- Related: #8882
2017-08-11[feature] add path partitioning to namespacesVictor Shyba
All blobs were being stored in a single folder when using namespaces, this commits adds path partitioning as discussed on #8882, which should help with a large number of files (each folder will hold a smaller subset, allowing the use of better filesystem walk strategies). Also, the default empty namespace is now called 'default' to prevent it from listing other namespaces contents. So everything will always use namespaces, with the option to use it explicitly or just fall to the default one. -- Related: #8882
2017-08-07[tests] use assert_has_calls instead of has_callsVictor Shyba
2017-08-07[bug] skip processing if no consumers to avoid data lossVictor Shyba
2017-08-07[docs] fix typos and improve text from code reviewVictor Shyba
2017-08-03[test] add sqlcipher check also to parallel test suiteVictor Shyba
2017-08-03[feature] integrate incoming loop into serverVictor Shyba
Adds a IncomingBox implementation that can be used by the incoming loop to interact with the server. Includes end to end test from message creation on Incoming API to callback consumer. -- Related: #8914
2017-08-03[bug] separate preamble from content on incoming resourceVictor Shyba
2017-08-03[bug] flag as PENDING during incoming creationVictor Shyba
Clients will query for blobs flagged PENDING so they can start processing. This commit adds flagging, but still in a hacky way as the backend requires the flags as a json string inside a request. A refactor to separate request handling from the backend itself will solve it in the near future. -- Related: #8874
2017-08-03[bug] make download namespace-awareVictor Shyba
2017-08-03[feature] incoming processing flowVictor Shyba
This class implements a process flow between the ones defined at #8881 and #8874. It uses a LoopingCall to keep running in a loop and accepts IIncomingBoxConsumers defined by soledad users, such as leap mail. - Resolves: #8874
2017-07-21[refactor] error handling and missing headersVictor Shyba
Improves error handling, add missing header to __init__.py and remove mkdirs from flags methods. This is a commit from code review on !117.
2017-07-21[refactor] fixes from reviewVictor Shyba
Improve test naming, creates a "count" method and filter flags files properly.
2017-07-21[feature] LIST blobs - filter by flagsVictor Shyba
filter_flag parameter can now be used to filter listing blobs by a specific flags. Eg: I can ask for blobs on incoming namespace flagged as pending. -- Resolves: #8913
2017-07-21[feature] make DELETE support namespaces on clientVictor Shyba
Using a parameter, just like the other methods are doing. -- Resolves: #8873
2017-07-21[feature] add possibility to count on blob managerVictor Shyba
By using `only_count=True` parameter, instead of returning a full list, server just count the amount of blobs. -- Resolves: #8871
2017-07-21[feature] add get/set flagsVictor Shyba
IncomingBox spec has a flags feature for the processing flow of messages. This commit adds it using a .flags file. -- Resolves: #8869
2017-07-21[refactor] creates a common.blobs with preambleVictor Shyba
Refactor suggested from !105 review.
2017-07-18[feat] use MX as default namepace for incoming blobsdrebs
2017-07-18[tests] enable blobs in testsdrebs
2017-07-18[test] avoid reinstalling pysqlcipher if unneededdrebs
2017-07-18[feature] add namespace support for BlobsManagerVictor Shyba
'namespace' argument is supported by backend but not yet exposed on API for clients. Since IncomingBox makes heavy usage of it, this commit exposes the argument as a query string for clients to use it.
2017-07-18[feature] remote list sorting by dateVictor Shyba
Listing by date is useful for listing newest/oldest documents on blobs storage and should be used for listing new IncomingMessages as described on specification. -- Resolves: #8879
2017-07-18[style] fix naming from reviewVictor Shyba
2017-07-18[feature] add blobs as a incoming api backendVictor Shyba
We started with CouchDB due legacy system relying on it. This commit adds the possibility of adding blobs as a IncomingAPI backend if blobs is enabled on config file. -- Resolves: #8868
2017-07-18[refactor] move preamble module to commonVictor Shyba
This move allows server to use it on #8868 as described in #8890 -- Relates: #8890
2017-07-18[refactor] move preamble to a new moduleVictor Shyba
Extracted preamble code for making space to #8890 changes. -- Related: #8890
2017-07-18[benchmarks] add docstrings for benchmarksdrebs
2017-07-18[benchmarks] store test function docstringdrebs
2017-07-13[doc] add info on how to update benchmarks websitedrebs
2017-07-13[benchmarks] change 20_500k to 10_1000kdrebs
2017-07-12[doc] mark which sync benchmark scenarios are actually rundrebs
2017-07-12[benchmarks] limit number of runs of sqlcipher benchmark testsdrebs
As sqlcipher benchmark tests take longer, we want to limit the number of repetitions. Previous to this change, these tests were being calibrated automatically and would run 5 times becuase it is the default minimum number of times for pytest-benchmark. By changing the runner to pedantic mode, now they will be run 4 times, the same number of times as benchmark sync tests.
2017-07-12[benchmarks] allow passing args and kwargs to txbenchmark_with_setupdrebs
2017-07-09[benchmarks] separate memory sampling from cpu measurementdrebs
2017-07-08[benchmarks] run benchmarks twice, for time and resourcesdrebs
We noticed that instrumentation added for watching resources has an impact in time statistics (i.e. it increases average and stddev). This commit makes the benchmark tests run twice: once for measuring time and a second time for measuring resources.
2017-07-08[benchmarks] add --watch-resources optiondrebs
This commit adds the --watch-resources command line option for benchmarks tests, and allows to running the benchmark test suite with and without resource monitoring instrumentation code. This is needed because resource consumption monitoring impacts the mean time and standard deviation of time taken to run benchmarked tests.
2017-07-08[benchmarks] avoid reinstalling pysqlcipher if unneededdrebs
pysqlcipher just has to be reinstalled for benchmark tests if current installed version fails the HAVE_USLEEP flag test. This commit moves the code for checking and reinstalling to a script and bypasses the reinstallation when it is unneeded.
2017-07-08[benchmarks] skip some tests by defaultdrebs
2017-07-08[feat] use OpenSSL backend for scrypt if availableKali Kaneko
This needs OpenSSL >= 1.1, otherwise it will keep using the scrypt dependency. We should think about deprecating scrypt as a dependency when we can be sure that the adoption of libssl 1.1 is wide enough. I think that at some point (soledad 0.11 or so) we can drop the scrypt dependency, which was being somehow problematic at times (the _scrypt.so was not appearing when installing with pip, needed workarounds). From that moment on, we can raise an error if an old libssl is found and no scrypt can be imported - leaving that to the user/packager. In debian stretch and afterwards, you can get that version by installing libssl-dev - Related: #8472
2017-07-07[test] change memory sampling interval to 0.1 on benchmarksdrebs