summaryrefslogtreecommitdiff
path: root/testing
AgeCommit message (Collapse)Author
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
2017-07-07[test] mark tests that depend on couchdb serverdrebs
2017-07-02[feature] namespace capability to BlobsBackendVictor Shyba
Adds an extra parameter called "namespace" on the backend interface and on FileSystemBlobsBackend. This parameter overrides default id partitioning and uses a separate folder for a custom namespace. -- Resolves: #8889
2017-07-02[bug] incoming doesnt accept encryption schemesVictor Shyba
According to /incoming specification, this parameter doesn't exists. It was added on MX side and brought here on transition. This commit explicitly removes it, leaving a track on history that it got removed during transition. Further work on MX will also remove the "NONE" encryption scheme, which is part of dead code.
2017-07-02[style] fix naming from reviewVictor Shyba
2017-07-02[feature] add formatting from MX into incomingVictor Shyba
Use the same formatting as MX was using for backwards compatibility. -- Resolves: #8828
2017-07-02[feature] make /incoming persist doc on CouchDBVictor Shyba
-- Resolves: #8827
2017-07-02[feature] direct /incoming requests to IncomingResourceVictor Shyba
Adds the routing code for exposing /incoming from SoledadResource. - Related: #8827
2017-06-28[test] use pip -e for installing soledad for testsdrebs
2017-06-26[pkg] rename soledad-create-userdb script in all the placesKali Kaneko
2017-06-24[bug] fix testsVictor Shyba
2017-06-24[tests] install unified package with extras in toxKali Kaneko
2017-06-24[test] adapt tests to new python packagedrebs
2017-05-31[tests] use pysqlcipher workaround here tooKali Kaneko
2017-05-12[refactor] make blobs resource backend configurableVictor Shyba
- Resolves: #8804
2017-05-12[tests] fix flaky blobs manager tests due id reuseVictor Shyba
2017-05-10[bug] fix docker image generationMicah Anderson
The image location needs to be changed to the new location and the docker.io package needs to be available in the image to build it
2017-05-10[feat] Build/push docker (see leap/platform#8755).Micah Anderson
When the testing/docker directory is changed, the `build_docker_image` CI job is triggered to build the docker image and push it to the soledad container registry. This is part of an effort to move all the docker images into their own project's container registry, and to build/provide them automatically (see leap/platform#8755). This is accomplished by the following: added the necessary overlay DOCKER_DRIVER variable to .gitlab-ci.yml added a build_docker_image job with docker:dind service enabled enabled container registry in soledad project added LEAP_CODE_O_MATIC_PRIVATE_TOKEN to project moved docker image from scripts:docker/soledad to soledad:testing/docker docker push gitlab-buildpackage:soledad to soledad container registry removed gitlab-buildpackage:soledad image and scripts/docker/soledad changed image in .gitlab-ci.yml to use new location Note: until https://gitlab.com/gitlab-org/gitlab-ce/issues/19813 is resolved, we have to use this method.
2017-05-09[refactor] move interfaces outKali Kaneko
- rename add_tag method - reorder blob interface methods for clarity - use mkdir_p from leap.common
2017-05-08[refactor] _database -> _dbVictor Shyba
2017-05-04[refactor] improve readability on _documentVictor Shyba
2017-05-04[tests] improve readabilityVictor Shyba
2017-05-02[feature] add and integrate DELETE to blobs serverVictor Shyba
Add a DELETE method for blobs server and integrate it into client's BlobManager. - Resolves: #8846
2017-05-01[feature] delete method on blob sqlcipher backendVictor Shyba
- Related: #8846
2017-05-01[refactor] unify path validationVictor Shyba
2017-05-01[refactor] merge refactor from drebsVictor Shyba
2017-05-01[refactor] create client _database moduledrebs
2017-05-01[feat] add attachments apidrebs
2017-05-01[feature] blobs path validationVictor Shyba
Check if user and blob_id are valid strings, then check if the resulting path is a subdirectory of blobs configured path. - Related: #8800
2017-05-01[test] missing inlineCallbackVictor Shyba
- Related: #8812
2017-05-01[test] add tests for sqlcipher client backendVictor Shyba
BlobManager tests covers them indirectly, but testing them directly may help locating source of bugs. - Related: #8812
2017-05-01[test] rename file to match test case nameVictor Shyba
- Related: #8812
2017-05-01[test] rename and add comments for clarityVictor Shyba
- Related: #8812
2017-05-01[bug] fail locally if blob existsVictor Shyba
We can't let the local DB try an isertion before making sure doc isn't already there. - Resolves: #8845
2017-04-27[test] monitor cpu/mem for all benchmarksdrebs
2017-04-27[test] add memory measurementdrebs
2017-04-27[test] measure cpu percentage during benchmarkdrebs
2017-04-26[feature] sanitize resource argumentsVictor Shyba
_validate will check if user_id and blob_id are letter, numbers, dashes and underscores. It is called on render_GET and render_POST, validating incoming arguments before handling on backend. - Resolves: #8832
2017-04-26[feature] use Twisted getProcessOutput on backendVictor Shyba
This makes process communication async during quota measurement, as specified on #8832 - Related: #8832
2017-04-25[test] ensure rev system works in shared dbdrebs
During a meeting with pixelated we were asked to ensure that the u1db revision system was working for the shared database. This commit adds a test to make sure that documents in the shared database can be updated successfully if the include the correct revision, but will fail if the include the incorrect revision. Resolves: #8842.
2017-04-19[test] avoid running sqlcipher synchonous tests when benchmarkingdrebs
SQLCipher synchronous benchmark tests were introduced when we started developing benchmark tests to compare synchronous and asynchronous code. Synchronous access to sqlcipher database is not used in soledad, and those tests are much slower than asynchronous tests (more than 10 times using ssd drive), so we want to avoid running them on ci. This commit introduces a "synchronous" marker and avoid running tests markes as such in ci environment.
2017-04-19[test] use latest pysqlcipher-benchmark for benchmarksdrebs
There were some changes needed in pytest-benchmark so we could successfully use it for soledad benchmarks graphing: https://github.com/ionelmc/pytest-benchmark/pull/73 https://github.com/ionelmc/pytest-benchmark/pull/74 https://github.com/ionelmc/pytest-benchmark/pull/75 The contributions were accepted but not released yet, so this commit uses the code from upstream git repository's master branch.