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 |
9e00284 | Valentin Lorentz | 09 July 2019, 13:00:53 UTC | Add tests for the in-mem storage with origin ids disabled. | 10 July 2019, 14:16:18 UTC |
6b68fc4 | Valentin Lorentz | 08 July 2019, 12:28:51 UTC | Remove the legacy behavior of snapshot_add (which updates a visit). We stopped using it a while ago by now. | 08 July 2019, 12:38:47 UTC |
867b3b3 | Valentin Lorentz | 08 July 2019, 12:28:24 UTC | Fix/silence warnings. | 08 July 2019, 12:28:24 UTC |
4a16a10 | Valentin Lorentz | 04 July 2019, 14:59:55 UTC | Add an env var to the in-mem storage to disable origin ids. If it is true (the default), there is no change from the current behavior, but setting it to False and running another package's tests allows to make sure that package does not rely on origin ids at all. | 08 July 2019, 11:53:18 UTC |
4303fe8 | Stefano Zacchiroli | 04 July 2019, 12:34:22 UTC | README: fix typo | 04 July 2019, 12:34:22 UTC |
617f602 | Stefano Zacchiroli | 04 July 2019, 12:34:03 UTC | CONTRIBUTORS: add Quentin Campos | 04 July 2019, 12:34:03 UTC |
79ceb21 | Valentin Lorentz | 04 July 2019, 08:36:56 UTC | Fix examples in the 'type' column | 04 July 2019, 08:40:26 UTC |
eef8cd7 | Valentin Lorentz | 23 May 2019, 13:44:52 UTC | Specify of extrinsic origin metadata and their storage. | 03 July 2019, 14:53:25 UTC |
af2d253 | Valentin Lorentz | 02 July 2019, 14:53:12 UTC | Make the in-memory storage use URLs instead of ids as its 'primary key' internally. This is a first step toward disabling origin-ids entirely. | 03 July 2019, 08:15:41 UTC |
89fc4a3 | Valentin Lorentz | 02 July 2019, 14:50:55 UTC | Make origin_visit_upsert take an origin dict instead of int. That's the sensible format, and the one we already use in the backfiller. | 03 July 2019, 08:15:16 UTC |
268d122 | Valentin Lorentz | 01 July 2019, 16:22:37 UTC | Fix rebase; reset_storage_tables was renamed to reset_storage. | 01 July 2019, 16:22:37 UTC |
d98f065 | Valentin Lorentz | 28 June 2019, 18:53:23 UTC | Make all endpoints support origin urls instead of ids. | 01 July 2019, 13:52:23 UTC |
f0853ac | Valentin Lorentz | 28 June 2019, 18:42:38 UTC | Merge id/url tests using an arg provided by hypothesis. | 01 July 2019, 13:51:49 UTC |
06fe23b | Valentin Lorentz | 27 June 2019, 16:41:48 UTC | Add an 'origin_visit_find_by_date' endpoint. It reuses the 'swh_visit_find_by_date' function that became dead code when occurences were dropped. So swh-web can use it directly instead of reimplementing its logic in 'get_origin_visit'. | 01 July 2019, 13:51:20 UTC |
37396a5 | Valentin Lorentz | 28 June 2019, 18:33:37 UTC | Add a 'reset' endpoint to the in-mem storage. It will be used for API client/server property tests, because they need to remotely reset the state and cannot create a new storage. | 01 July 2019, 13:50:16 UTC |
168ebf9 | Valentin Lorentz | 05 June 2019, 11:29:59 UTC | Add test for content_get_range's boundaries. | 01 July 2019, 13:49:18 UTC |
e73e886 | Stefano Zacchiroli | 28 June 2019, 07:42:00 UTC | CONTRIBUTORS: add Ishan Bhanuka | 28 June 2019, 07:42:00 UTC |
96a80d2 | Valentin Lorentz | 25 June 2019, 09:58:20 UTC | Add support for origin_url in fetch_history_start. Unbreaks swh-loader-core. | 25 June 2019, 09:58:20 UTC |
4696160 | Valentin Lorentz | 05 June 2019, 11:35:41 UTC | Fix key names in the in-mem impl of metadata_provider_{get,add} | 24 June 2019, 09:18:20 UTC |
2ead4ce | Ishan Bhanuka | 14 June 2019, 06:14:39 UTC | Added comments for all tables and columns | 20 June 2019, 07:18:16 UTC |
b139393 | Valentin Lorentz | 14 June 2019, 11:55:22 UTC | Don't use a join in origin_visit_get_latest. This changes the behavior of snapshot_get_latest, to raise an error in case a visit references an unknown snapshot. This should not happen in practice (unless we're replaying from a journal). snapshot_get_latest will be removed in the next monthes anyway. | 19 June 2019, 12:34:34 UTC |
dc7c1e0 | Valentin Lorentz | 05 June 2019, 11:18:14 UTC | Add test for snapshot/release counters. | 17 June 2019, 09:00:55 UTC |
aec9571 | Valentin Lorentz | 05 June 2019, 09:41:50 UTC | Add origin_visit counter to the in-mem storage. | 17 June 2019, 09:00:55 UTC |
c541224 | Valentin Lorentz | 13 June 2019, 14:27:50 UTC | Actually run the remote-pg-storage tests on a remote-pg. They were run on a local pg instead of via the HTTP API. | 17 June 2019, 08:40:27 UTC |
34c2c34 | Antoine R. Dumont (@ardumont) | 15 June 2019, 06:33:43 UTC | 136: Drop the extra 'text' mention which fails the alter query | 15 June 2019, 06:34:26 UTC |