summaryrefslogtreecommitdiff
path: root/testing
AgeCommit message (Collapse)Author
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.
2017-04-19[tests] dont mock local db on local testsVictor Shyba
2017-04-19[tests] set pool to None during testsVictor Shyba
2017-04-19[test] change assert for self.assertXVictor Shyba
2017-04-19[feature] fetch new blobs from serverVictor Shyba
Check what server has, what we have, compare, fetch missing. - Related: #8808
2017-04-19[test] change assert for self.assertXVictor Shyba
2017-04-19[feature] add send_missing to send pending uploadsVictor Shyba
This method will gather a list of local docs and a list of remote docs, compare them and send docs which server doesn't have. - Related: #8807
2017-04-15[test] enforce bundled pysqlcipher in benchmark testsdrebs
The debian package for libsqlcipher does not enable the use of usleep(), and that might cause timeouts when doing concurrent access to sqlcipher databases. See: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=859685 In benchmark tests we use twisted's asynchronous dbapi for creating thousands of documents, and if usleep() is not enabled this operation is very likelly to fail with a "db is locked" error. This commit adds a workaround for benchmark tests by reinstalling pysqlcipher with the "--bundled" option, what causes libsqlcipher to be built and bundled in the python package, with usleep() enabled. Resolves: #8835
2017-04-10[refactor] use fixed rev and remove doc_id (blobs)Victor Shyba
doc_id wasn't being stored, loaded or used anywhere except for authentication. This commit removes it and uses a fixed value for rev since blobs is supposed to be immutable. - Resolves: #8813
2017-04-04[feat] add the host hostname to benchmark machine infodrebs
2017-04-04[test] change assert for self.assertXVictor Shyba
2017-04-04[docs] improve docstrings and comments from reviewVictor Shyba
2017-04-04[style] naming improvementsVictor Shyba
2017-04-04[refactor] list is remote_list, avoiding confusionVictor Shyba
2017-04-04[feature] add listing to local blob dbVictor Shyba
2017-04-04[feature] add blobs listingVictor Shyba
2017-04-04[refactor] adds a PreamblePipe for preamble downloadVictor Shyba
Downloading until there is a space then splitting the content was a mess. Extracted this behaviour out of DecrypterBuffer into a new component so it eases testing by introducing a single responsibility class.
2017-04-04[refactor] extracts tail logic into TruncatedTailPipeVictor Shyba
2017-04-04[feature] use 409 status code for existing blob idVictor Shyba
Raising was generating 500, which is a generic status code for server side errors. This commit adds proper status code of 409 while handling the error on client side by translating the code into a proper exception class.
2017-04-04[test] fix treq -> _client changeVictor Shyba
2017-04-04[bug] cache pip instead of toxVictor Shyba
Caching .tox breaks when installing new dependencies. Caching pip instead and asking tox to always recreate will ensure newer dependencies are installed while getting existing ones from cache.
2017-04-04[test] test blobs local db with file handlersVictor Shyba
2017-04-04[test] test get inexistent on local sqlcipher for blobs clientVictor Shyba
2017-04-04[test] upload/download integration testVictor Shyba
2017-04-04[test] use mock instead of directly patchingVictor Shyba
2017-04-04[test] patch pinned client in blobs testdrebs
2017-04-04[refactor] pass configured blobs resource to server auth classdrebs
2017-04-04[test] check path partitioningVictor Shyba
2017-04-04[test] check that write respects quotaVictor Shyba
2017-04-04[test] check blobs server cant overwriteVictor Shyba
2017-04-04[test] check FS backend readVictor Shyba
2017-04-04[test] check tag header on FS backendVictor Shyba
2017-04-04[test] BlobManager encrypt testVictor Shyba
2017-04-04[feature] unarmored incremental blobs decryptVictor Shyba
2017-04-04[feature] incremental decrypterVictor Shyba
2017-04-04[feature] ascii armor disable optionVictor Shyba
2017-04-04[bug] fix loose ends on _crypto and testsVictor Shyba
2017-04-03Post benchmark results to elastticsearchvarac
In order to do this from CI, please create a secret variable (at i.e. https://0xacab.org/varac/soledad/settings/ci_cd) called PYTEST_OPTS and use this example: --benchmark-autosave --benchmark-storage="elasticsearch+https://USER:PASSWORD@moose.leap.se:9200"
2017-03-23[feature] generate recovery codeAnike Arni
with @tayane
2017-03-17[refactor] Improve python3 compatibilityefkin
With this commit all tests on py34 tox environment are collected.
2017-03-17[test] Prepare tests for python3 compatibilityefkin
2017-03-17[test] Prepare new tox environmentefkin
At this point tests are not yet collectable in the new environment. But no regressions observed.
2017-03-17[docs] Define in details the testing environmentefkin
On debian stable the `python3-tox` and `python-tox` packages come with a really old version of `pip` and `setup_tools`. This makes unusable PEP496 that comes handy when dependencies are "py-version-related". As a workaround we can "inject" an upgraded version of `pip` just before running `tox`.