summaryrefslogtreecommitdiff
path: root/testing
AgeCommit message (Collapse)Author
2017-09-17[refactor] move tests to root of repositorydrebs
Tests entrypoint was in a testing/ subfolder in the root of the repository. This was made mainly because we had some common files for tests and we didn't want to ship them (files in testing/test_soledad, which is itself a python package. This sometimes causes errors when loading tests (it seems setuptools is confused with having one python package in a subdirectory of another). This commit moves the tests entrypoint to the root of the repository. Closes: #8952
2017-09-14[test] add SQLiteBlobBackend benchmark testsdrebs
2017-09-14[pkg] standardize location of services tokens filedrebs
Introduction of local services authentication added a configuration file containing the auth tokens for each service. There were different names for that file, and this commit standardizes all of them to the same value: /etc/soledad/services.tokens
2017-09-14[pkg] use /var/lib/soledad/blobs to store blobsdrebs
Soledad Server was previously using something in /srv to store blobs in the server side. Debian/lintian doesn't like that at all, so we are changing to /var/lib/soledad/blobs. Closes: #8948
2017-09-11[tests] fix test_unarmored_blob_encrypt flakinessVictor Shyba
AES can generate base64 valid strings, making this test flaky. Try to decrypt using armor=False instead.
2017-09-11[refactor] do not use unneeded lambdadrebs
2017-09-11[test] print responsiveness results if no elastic url is givendrebs
2017-09-11[test] selectivelly start events server on benchmarksdrebs
Soledad's events server might be a pain for tests because if it is not properly initialized and shut down there might be parts of the server missing or leftover in the reactor after tests are run. With the recent changes to the way tests are invocated, there's the need to further isolate events server startup for benchmarks, otherwise it will conflict with other tests. This commit moves the events server setup to inside the pytest_collection_modifyitems() hook, where we can check if the benchmark subdir was selected and properly start the events server if needed.
2017-09-11[test] add --subdir option and blacklistdrebs
Use subdir path to select/deselect benchmark tests. Because of the way pytest and pytest benchamrk select/deselect tests, it makes more sense for this test suite to use a --subdir option to select only a subset of tests and a blacklist of subdirectories that should not be run unless explicitelly asked to. This commit adds a --subdir option, that will deselect all tests no in ./tests/<subdir> when the option is passed to pytest. Also, a blacklist is added so, unless explicitelly added as a --subdir, tests in blacklisted subdirectories will not be run. The reasons for this modification are: - pytest-benchmarks selects/deselects tests based on the type of their fixtures. This means that fixtures have to be instantiated previous to test selection/deselection, something that may cause side effects that we want to avoid. - the usual test suite is run for all benchmarks, while some tests should only be run in specific situations (as is the case of benchmarks and responsiveness tests). It is saner to implement subdir selection than marking all tests with pytest marks and using them to select/deselect.
2017-09-11[benchmarks] post responsiveness tests to elasticsearchdrebs
2017-09-11[benchmarks] add responsiveness test with watchdogdrebs
2017-09-11[tests] improve isolation on user uuidVictor Shyba
Hardcoded and repeated user uuids can lead to accidental concurrent operations between test cases, breaking isolation and creating random failures. This commit improves it a bit.
2017-09-11[feature] save sync status on client sideVictor Shyba
Adds two new columns for sync status and retries. Also some initial rough logic for upload retry limiting. -- Resolves: #8823 -- Related: #8822
2017-09-08[test] allow test_vs_legacy test to run with remote serverdrebs
2017-09-05[test] refactor and fixes for blobs vs legacy testdrebs
- create payloads before running tests - use different group names for different amount/sizes - move legacy index creation to setup function - limit concurrency on blobmanager to 2 (same as thread pool size) - add a VACUUM call to observe blobs db size decreasing between tests - properly cleanup server between blobs test runs - refactor blobs pipeline so it makes more sense and is easier to read
2017-09-05[test] use indexes in clean client's dbsdrebs
2017-09-05[bug] add schema to incoming couchdb backendVictor Shyba
Schema was using a default value instead of using the one passed as a parameter. Additional test for formatter is also included. -- Related: #8867
2017-09-05[tests] add tests for cross user access codeVictor Shyba
2017-09-05[style] improve naming and fixes from code reviewVictor Shyba
-- Related: #8867
2017-09-05[bug] remove incoming child from SoledadResourceVictor Shyba
-- Related: #8867
2017-09-05[pkg] move server.tac to server src folderVictor Shyba
This way the file gets copied during package install. -- Related: #8867
2017-09-05[tests] add integration test to server.tacVictor Shyba
-- Related: #8867
2017-09-05[feature] add a local realm with file auth checkerVictor Shyba
-- Related: #8867
2017-09-05[feature] new config option for tokens auth fileVictor Shyba
-- Related: #8867
2017-08-31[test] use semaphore in legacy vs blobs testdrebs
2017-08-31[test] pass config file in environment variabledrebs
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