bd2a196 | Antoine R. Dumont (@ardumont) | 10 December 2019, 13:34:11 UTC | storage: Make origin_get_random simpler and faster | 10 December 2019, 13:34:11 UTC |
b440d3a | Antoine R. Dumont (@ardumont) | 09 December 2019, 12:43:53 UTC | storage: Prefer sample query on origin_visit The counter table is faster but may contain holes and be less up-to-date. | 09 December 2019, 12:51:08 UTC |
a2401b5 | Antoine R. Dumont (@ardumont) | 06 December 2019, 11:48:55 UTC | storage: Add endpoint to randomly pick an origin Related to T2120 | 09 December 2019, 12:46:13 UTC |
3855b6e | Antoine R. Dumont (@ardumont) | 09 December 2019, 12:40:57 UTC | tox.ini: Add a py3-dev environment | 09 December 2019, 12:46:13 UTC |
bee73be | Antoine R. Dumont (@ardumont) | 06 December 2019, 10:11:52 UTC | storage.buffer: Buffer release objects as well | 06 December 2019, 10:11:52 UTC |
382e500 | Antoine R. Dumont (@ardumont) | 06 December 2019, 10:11:25 UTC | storage.tests: Unify tests sample data | 06 December 2019, 10:11:25 UTC |
27281e8 | Antoine Lambert | 26 November 2019, 14:21:02 UTC | Makefile.local: Fix test target execution Explicitly pass tests folder as paramter when invoking pytest in order for the hypothesis profiles to be found. | 26 November 2019, 14:22:36 UTC |
2cac339 | Nicolas Dandrimont | 22 November 2019, 17:27:52 UTC | Implement origin lookup by sha1 Close T2045. | 25 November 2019, 14:18:44 UTC |
0fcb8bc | Valentin Lorentz | 22 November 2019, 15:08:37 UTC | Get rid of warnings about the 'args' argument to get_storage. | 22 November 2019, 15:08:37 UTC |
c294b73 | Valentin Lorentz | 22 November 2019, 12:23:54 UTC | Remove/fix wrong comments. | 22 November 2019, 12:23:54 UTC |
a3fd826 | Nicolas Dandrimont | 21 November 2019, 13:10:29 UTC | Migrate tox.ini to extras = xxx instead of deps = .[testing] | 21 November 2019, 13:10:29 UTC |
1594e25 | Nicolas Dandrimont | 21 November 2019, 13:07:08 UTC | Drop unused listener extra | 21 November 2019, 13:07:08 UTC |
df4df8b | Nicolas Dandrimont | 21 November 2019, 13:06:55 UTC | Merge tox test environment configurations | 21 November 2019, 13:06:55 UTC |
06bd050 | Valentin Lorentz | 21 November 2019, 12:38:03 UTC | Deduplicate code of test_origin_get_range. | 21 November 2019, 12:38:03 UTC |
29eb548 | David Douard | 20 November 2019, 10:18:57 UTC | Fix a few typos reported by codespell | 21 November 2019, 12:16:51 UTC |
bc0e81c | David Douard | 20 November 2019, 10:17:40 UTC | pre-commit: explicitely whitelist 'iff' when running codespell | 21 November 2019, 12:16:51 UTC |
1472c8e | David Douard | 20 November 2019, 10:00:57 UTC | fix trailing ws reported by pre-commit | 21 November 2019, 12:16:51 UTC |
264cd33 | David Douard | 20 November 2019, 09:27:42 UTC | Add a pre-commit-hooks.yaml config file | 21 November 2019, 12:16:51 UTC |
a97db93 | David Douard | 20 November 2019, 10:25:51 UTC | Fix swh-storage-add-dir to please mypy, at least. | 21 November 2019, 10:19:43 UTC |
c787808 | David Douard | 20 November 2019, 10:19:26 UTC | Remove utils/(dump|fix)_revisions scripts these are now deprecated. | 21 November 2019, 10:19:43 UTC |
b337b4a | Valentin Lorentz | 14 November 2019, 13:16:49 UTC | Add 'pipeline' storage "class" for more readable configurations. This would allow writing configurations like: ``` storage: cls: pipeline steps: - cls: filter - cls: buffer - cls: remote url: http://swh-storage:5002/ ``` or ``` storage: cls: filter storage: cls: buffer storage: cls: remote url: http://swh-storage:5002/ ``` instead of: ``` storage: cls: filter args: storage: cls: buffer args: storage: cls: remote args: url: http://swh-storage:5002/ ``` | 19 November 2019, 03:16:39 UTC |
ea9aa47 | David Douard | 18 November 2019, 10:16:18 UTC | and not only for an existing origin visit. This is needed in situations where the snapshot table is not in sync with the origin_visit one; typically occurs on mirrors. Also add tests for with_visit argument. | 18 November 2019, 12:28:45 UTC |
e296dfb | Antoine R. Dumont (@ardumont) | 14 November 2019, 09:26:41 UTC | swh.storage.schemata: Drop schemata from storage As this got migrated back to the swh.lister module | 14 November 2019, 09:26:41 UTC |
bb5d405 | Nicolas Dandrimont | 12 November 2019, 18:55:33 UTC | Add minimal test coverage for swh.storage.schemata | 13 November 2019, 12:08:27 UTC |
d788677 | Nicolas Dandrimont | 12 November 2019, 18:08:47 UTC | Fix bogus NotImplementedError on Area.index_uris This would raise when the iteration terminates even though the uris were generated. | 12 November 2019, 18:08:47 UTC |
d4540ed | Valentin Lorentz | 30 October 2019, 13:35:09 UTC | Make visit['origin'] a string everywhere (instead of a dict). | 30 October 2019, 14:08:29 UTC |
0606791 | Valentin Lorentz | 25 October 2019, 11:03:26 UTC | Stop supporting origin ids in API (except in origin_get_range). | 30 October 2019, 13:13:40 UTC |
4ff544a | David Douard | 18 October 2019, 13:40:01 UTC | tests: delete (now useless) storage_testing.py file | 30 October 2019, 09:25:17 UTC |
2a6bf45 | David Douard | 28 October 2019, 10:57:52 UTC | conftest: make it possible to configure SQL dump files used by SwhDatabaseJanitor so one can use the postgresql_fact fixture factory for other tests than Storage ones (eg. for swh-indexer storage tests). | 30 October 2019, 09:06:57 UTC |
e2402e0 | David Douard | 29 October 2019, 09:10:52 UTC | conftest: do not use hypothesis to generate origins and contents using gen_origins and gen_contents helper functions from swh.model for the Storage under test. This is required because 1/ it was a non-conventional use of hypothesis, and 2/ since hypotesis 4.42, tests using hypothesis-generated origins and contents are broken. Also increase default origins generated size to 100. | 30 October 2019, 08:58:10 UTC |
35bdea8 | David Douard | 29 October 2019, 15:14:57 UTC | make in_memory Storage compatible with frozen model entities since attr based model entities are now frozen in swh.model 0.0.50 | 29 October 2019, 15:17:12 UTC |
28818ab | Nicolas Dandrimont | 23 October 2019, 08:46:07 UTC | Remove origin['type'] This is now superseded by origin_visit['type'] | 23 October 2019, 11:08:48 UTC |
655d2ae | Nicolas Dandrimont | 23 October 2019, 08:44:42 UTC | Add missing files to MANIFEST.in | 23 October 2019, 11:08:48 UTC |
1ab9d64 | Nicolas Dandrimont | 23 October 2019, 08:44:11 UTC | Move hypothesis strategy definitions to swh/storage/tests/conftest.py | 23 October 2019, 11:08:48 UTC |
f68f4c3 | Nicolas Dandrimont | 17 October 2019, 12:42:35 UTC | Replace unwanted data.originX['type'] in tests | 23 October 2019, 11:08:48 UTC |
578d2c6 | Nicolas Dandrimont | 23 October 2019, 08:48:55 UTC | Use a wildcard to get the list of SQL files | 23 October 2019, 11:08:48 UTC |
484cebb | Antoine R. Dumont (@ardumont) | 14 October 2019, 12:56:20 UTC | schemata: Send only origin url for scheduling debian loader task Related D2135 | 17 October 2019, 15:53:53 UTC |
9984111 | Nicolas Dandrimont | 17 October 2019, 12:23:38 UTC | Remove origin_visit_add fallback for type=None This prepares the removal of the type column from the origin table | 17 October 2019, 13:45:10 UTC |
6d98503 | Nicolas Dandrimont | 17 October 2019, 12:21:20 UTC | Always use explicit visit type in origin_visit_add | 17 October 2019, 13:44:15 UTC |
6781be1 | Nicolas Dandrimont | 17 October 2019, 12:19:30 UTC | Remove useless origin visits from snapshot-only tests | 17 October 2019, 13:44:15 UTC |
d165c09 | Nicolas Dandrimont | 17 October 2019, 11:37:43 UTC | Remove now-useless triggers | 17 October 2019, 13:44:15 UTC |
74a6437 | Antoine R. Dumont (@ardumont) | 17 October 2019, 12:45:19 UTC | requirements-test: Set pytest-postgresql dependencies version | 17 October 2019, 13:25:27 UTC |
fbdad1c | Valentin Lorentz | 17 October 2019, 12:49:39 UTC | Remove fetch_history. It is not used anymore. | 17 October 2019, 12:59:45 UTC |
84bcfb3 | Antoine R. Dumont (@ardumont) | 17 October 2019, 11:38:35 UTC | tests: Move sample_data fixture to swh/storage/tests/conftest.py | 17 October 2019, 11:41:46 UTC |
3bb46f6 | David Douard | 08 October 2019, 13:39:11 UTC | test_storage: kill StorageTestDbFixture class it's not used any more. | 14 October 2019, 12:32:57 UTC |
dbea02c | David Douard | 10 October 2019, 15:30:36 UTC | test_api_client: refactor the code for new pytest based infra This uses the latest pytest fixtures added in swh.core to define a swh_storage fixture that setup a RPC client/server stack to execute tests defined in classes TestStorage and TestStorageGeneratedData (from swh.storage.tests.test_storage). | 14 October 2019, 12:32:57 UTC |
8003db6 | David Douard | 10 October 2019, 15:29:35 UTC | api: add (missing) refresh_stat_counters() endpoint so we do not need special cases in tests, at least. | 14 October 2019, 12:32:57 UTC |
8a9cfeb | David Douard | 14 October 2019, 08:50:46 UTC | tests/algos: rewrite test_snapshot with pytest | 14 October 2019, 12:32:57 UTC |
cadafef | David Douard | 08 October 2019, 14:10:18 UTC | in_memory: fix handling of 'hidden' content in InMemoryStorage and update tests This defines a local swh_storage fixture that uses an InMemoryStorage to execute tests defined in classes TestStorage and TestStorageGeneratedData (from swh.storage.tests.test_storage). Adapt tests for the InMemoryStorage to new storage test infra. | 14 October 2019, 12:32:14 UTC |
8529e7b | David Douard | 08 October 2019, 14:08:58 UTC | test_storage: rename TestStorageCommonProp as TestStorageGeneratedData somehow a bit clearer, maybe. Also adapt test_in_memory.py and test_api_client.py with this rename even if these tests are xfailed for now to prevent ImportError when running the whole test suite. | 14 October 2019, 12:14:08 UTC |
743f915 | David Douard | 08 October 2019, 14:06:58 UTC | test_storage: make test_origin_metadata_get more robust Nothing garantees us that Storage.origin_metadata_get_by() result is sorted, so don't expect it is. | 14 October 2019, 12:14:08 UTC |
204b9fa | David Douard | 08 October 2019, 13:40:03 UTC | test_storage: move db specific methods from main TestStorage to TestPgStorage which is actually TestAlteringSchema that have been renamed to be a bit more meaningful. | 14 October 2019, 12:14:08 UTC |
9f12202 | David Douard | 14 October 2019, 08:45:13 UTC | conftest: use an in memory obj storage | 14 October 2019, 12:14:08 UTC |
fb70f88 | David Douard | 30 September 2019, 10:14:47 UTC | tests: refactor main storage tests - use pytest instead of unittest.TestCase plumbing - extract data from the TestStorageData into a data `storage_data` module; this module also provide a simple helper `StorageData` class that mimics the original class (access by attributes), - implement a series of pytest fixtures for these storage specific tests, - get rid of most hypothesis-based tests, - replace usage of the use_url hypothesis boolean statetgy by pytest.mark.parametrize fixtures; this allows to prevent from the need of resetting the storage, since tests are truly executed twice (thus with a new swh_storage), - refactor test_db to use pytest-postgresql. Disable (xfail) tests from test_snapshot.py, test_api_client and test_in_memory for now. Fixes/refactorings come with following revisions. | 14 October 2019, 12:14:08 UTC |
62aff76 | Antoine R. Dumont (@ardumont) | 09 October 2019, 21:01:09 UTC | Remove indirection swh.storage.api.wsgi to start server | 09 October 2019, 21:01:09 UTC |
654a37e | Antoine R. Dumont (@ardumont) | 09 October 2019, 13:28:51 UTC | tox.ini: Fix py3 environment to use packaged tests Related D2082 | 09 October 2019, 13:28:51 UTC |
03d5a2c | Antoine R. Dumont (@ardumont) | 08 October 2019, 12:13:14 UTC | swh.storage.buffer: Add buffering proxy storage implementation Related T1389 | 08 October 2019, 14:40:51 UTC |
c83f1f9 | Antoine R. Dumont (@ardumont) | 08 October 2019, 12:09:23 UTC | swh.storage.filter: Add filtering storage implementation Also add a sample_data fixture to read default test data from. Related T1389 | 08 October 2019, 14:12:49 UTC |
02b25f0 | Antoine R. Dumont (@ardumont) | 08 October 2019, 12:07:54 UTC | swh.storage: Test get_storage implementation | 08 October 2019, 14:09:56 UTC |
3228b18 | Nicolas Dandrimont | 02 October 2019, 15:21:07 UTC | test_storage: Use the db_transaction context manager instead of raw connections This minimizes the risk of dangling db connections, which in turn reduces the chance of cascading test failures. | 02 October 2019, 15:21:07 UTC |
4c2c311 | Nicolas Dandrimont | 02 October 2019, 15:19:04 UTC | test_storage: introduce a db_transaction context manager This wraps the steps needed to get a (properly wrapped) db object and run a transaction on it so we avoid repeating ourselves | 02 October 2019, 15:20:54 UTC |
9bbd5e2 | Nicolas Dandrimont | 02 October 2019, 15:04:31 UTC | Postgres storage: introduce a db() context manager This helper avoids us repeating the get_db/put_db pattern all the time. | 02 October 2019, 15:13:41 UTC |
e8c01a2 | Nicolas Dandrimont | 02 October 2019, 11:51:05 UTC | Replace all 'inmemory' journal writers with 'memory' | 02 October 2019, 15:13:41 UTC |
24ea71f | Nicolas Dandrimont | 02 October 2019, 15:07:43 UTC | test_storage: Close all pool connections on teardown This avoids having a race condition between the tear down and the database removal, when using more than one connection in the pool. | 02 October 2019, 15:13:41 UTC |
c1ce3a1 | Nicolas Dandrimont | 12 April 2019, 14:15:31 UTC | Add test triggering the race condition in content_add This minimal example triggers T2019 | 01 October 2019, 15:59:05 UTC |
70b15c1 | Antoine Pietri | 01 October 2019, 07:41:04 UTC | api server: missing </body> | 01 October 2019, 07:42:00 UTC |
7c92c33 | Stefano Zacchiroli | 28 September 2019, 11:24:21 UTC | tox: anticipate mypy run to just after flake8 | 01 October 2019, 06:25:21 UTC |
4901259 | Stefano Zacchiroli | 28 September 2019, 11:19:53 UTC | mypy.ini: be less flaky w.r.t. the packages installed in tox in particular, ignore django.* (only indirectly shipped by hypothesis) and allow unused type: ignore (on swh.journal) | 01 October 2019, 06:25:21 UTC |
d8fa30b | Stefano Zacchiroli | 28 September 2019, 10:42:34 UTC | storage.py: ignore typing of optional get_journal_writer import the real type is Optional[Callable[..., Any]], but redefinitions of imported stuff in try..except is currently not supported by mypy, see https://github.com/python/mypy/issues/1153 | 01 October 2019, 06:25:21 UTC |
976aab3 | Stefano Zacchiroli | 27 September 2019, 12:08:48 UTC | mypy: ignore swh.journal to work-around dependency loop | 01 October 2019, 06:25:21 UTC |
ef7d2ef | Stefano Zacchiroli | 27 September 2019, 08:37:04 UTC | init.py: switch to documented way of extending path make mypy 0.730 pass cleanly again | 01 October 2019, 06:25:21 UTC |
395e85d | Stefano Zacchiroli | 21 September 2019, 19:15:02 UTC | typing: minimal changes to make a no-op mypy run pass | 01 October 2019, 06:25:21 UTC |
cbc47c4 | Valentin Lorentz | 24 September 2019, 13:13:04 UTC | Write objects to the journal only if they don't exist yet. * spares some bandwidth/processing time * aligns {content,directory,release,revision}_add on what {snapshot,origin}_add already does | 30 September 2019, 10:05:02 UTC |
e239324 | Valentin Lorentz | 30 September 2019, 09:14:23 UTC | Use origin URLs for skipped_content['origin'] instead of origin ids. This commit uses URLs *instead of* IDs, not in addition to. Supporting IDs should not be needed anymore. | 30 September 2019, 09:43:46 UTC |
0919bdf | Valentin Lorentz | 27 September 2019, 13:20:01 UTC | Properly mock get_journal_writer for the remote-pg-storage tests. | 27 September 2019, 13:28:53 UTC |
9aa6b9d | David Douard | 16 September 2019, 15:17:30 UTC | journal_writer: use journal writer from swh.journal | 25 September 2019, 15:00:12 UTC |
be3a025 | Stefano Zacchiroli | 21 September 2019, 19:16:05 UTC | fix typos in docstrings and sample paths courtesy of codespell | 21 September 2019, 19:23:01 UTC |
2ceacb1 | Antoine R. Dumont (@ardumont) | 20 September 2019, 12:16:49 UTC | storage.origin_visit_add: Remove deprecated 'ts' parameter The parameter `date` becomes mandatory. | 20 September 2019, 12:22:55 UTC |
b2e8aa2 | Stefano Zacchiroli | 16 September 2019, 14:57:24 UTC | click "required" param wants bool, not int courtesy of mypy | 16 September 2019, 14:57:24 UTC |
f91671b | Antoine Lambert | 04 September 2019, 13:44:36 UTC | tests/test_storage: Remove failing assertion after swh-model update | 04 September 2019, 13:44:36 UTC |
ddb8226 | Antoine Lambert | 04 September 2019, 12:25:49 UTC | tests/test_storage: Fix tests execution with psycopg2 < 2.8 | 04 September 2019, 13:11:45 UTC |
bf393fd | Valentin Lorentz | 02 September 2019, 09:28:07 UTC | Add support for origin_url in origin_metadata_*. | 02 September 2019, 09:28:07 UTC |
bc3240d | Valentin Lorentz | 21 August 2019, 15:32:22 UTC | Make origin_add/origin_visit_update validate their input. | 29 August 2019, 11:49:48 UTC |
863443b | Valentin Lorentz | 21 August 2019, 11:49:31 UTC | Make snapshot_add validate its input. | 29 August 2019, 11:36:48 UTC |
add5b01 | Valentin Lorentz | 20 August 2019, 15:25:12 UTC | Make revision_add and release_add validate their input. | 29 August 2019, 09:34:17 UTC |
6946edb | Valentin Lorentz | 20 August 2019, 15:17:15 UTC | Make directory_add validate its input. | 29 August 2019, 09:32:54 UTC |
3a6c5e3 | Valentin Lorentz | 19 August 2019, 12:43:39 UTC | Make content_add validate its input using swh-model. The initial goal of this commit was to make the in-mem content_add raise errors on input that would make postgresql error. As a side-effect, the pgsql content_add now validate its input as well, so clients get a nice/meaningful error instead of postgresql's error. | 29 August 2019, 09:31:37 UTC |
70f63c3 | Valentin Lorentz | 21 August 2019, 11:47:50 UTC | Remove 'next_branch' from test input data. It should only be in the output of 'snapshot_get_*' methods, not in the input of 'snapshot_add'. | 23 August 2019, 08:31:35 UTC |
54b974f | Valentin Lorentz | 21 August 2019, 12:08:28 UTC | Eliminate warnings about %TYPE. Using %TYPE showed this warning when tests fail for unrelated reasons: NOTICE: type reference snapshot.id%TYPE converted to sha1_git | 23 August 2019, 08:26:38 UTC |
b775947 | Valentin Lorentz | 23 August 2019, 08:25:05 UTC | Fix off-by-one error when using origin_visit_upsert on with an unknown visit id. | 23 August 2019, 08:25:05 UTC |
e656d6e | Valentin Lorentz | 22 August 2019, 12:19:00 UTC | Use explicit arguments for origin_visit_add. swh-model v0.0.42 adds more fields to OriginVisit. | 22 August 2019, 12:19:00 UTC |
56a031d | Valentin Lorentz | 20 August 2019, 12:08:47 UTC | Stop leaking person ids. They are not used anymore. | 20 August 2019, 12:59:10 UTC |
57f60cd | Valentin Lorentz | 19 August 2019, 14:47:38 UTC | Remove person_get endpoint. swh-web is about to stop using it, and was the only user of this endpoint. | 20 August 2019, 12:57:24 UTC |
2ef75a2 | Valentin Lorentz | 19 August 2019, 12:41:38 UTC | Remove test_content_missing__marked_missing, it makes no sense. status 'missing' does not exist. | 19 August 2019, 12:41:38 UTC |
babded5 | Valentin Lorentz | 23 July 2019, 13:09:05 UTC | Enforce log level for the werkzeug logger. I don't understand why it's not applied by default (since swh.core applied it to the root logger), but this commit fixes the issue. | 23 July 2019, 13:09:05 UTC |
f71f531 | Ishan Bhanuka | 06 July 2019, 07:20:28 UTC | Add support for skipped content in in-memory storage | 22 July 2019, 15:07:05 UTC |
bc2f03c | David Douard | 15 July 2019, 14:00:03 UTC | api: use RPCServerApp and RPCClient instead of deprecated classes SWHServerAPIApp and SWHRemoteAPI. Depends on swh.core 0.0.65. | 18 July 2019, 11:29:07 UTC |
7053da8 | Valentin Lorentz | 12 July 2019, 13:20:35 UTC | Make origin_get ignore the `type` argument | 18 July 2019, 09:38:15 UTC |
b27fcd1 | Stefano Zacchiroli | 11 July 2019, 14:29:51 UTC | add code of conduct document | 11 July 2019, 14:29:51 UTC |
043c57b | Nicolas Dandrimont | 11 July 2019, 11:50:28 UTC | Drop useless dependency on swh.scheduler | 11 July 2019, 11:50:28 UTC |