mirror of
https://github.com/Tech-Workers-Coalition-Italia/mobilizon-reshare.git
synced 2025-02-11 09:10:51 +01:00
* Add pull command. * Add publish command. * Enforce start's old semantics. * Add pull test cases: - Pull with no events anywhere - Pull with one event on mobilizon and none on the db - Pull with one event on mobilizon and another on the db - Pull with one event on mobilizon and the same event on the db * Add pull tests: - Sequence: pull->start - Sequence: start->pull - Sequence: pull->new event on mobilizon -> pull * manifest.scm: Add cloc. * query: read: Prefer return list to generators. * tests: pull: Actually test that models are written to the DB.
41 lines
1.4 KiB
Python
41 lines
1.4 KiB
Python
from datetime import timedelta
|
|
from uuid import UUID
|
|
|
|
from mobilizon_reshare.models.publication import Publication
|
|
from mobilizon_reshare.models.publication import PublicationStatus
|
|
from tests import today
|
|
|
|
complete_specification = {
|
|
"event": 4,
|
|
"publications": [
|
|
{"event_idx": 0, "publisher_idx": 0, "status": PublicationStatus.COMPLETED},
|
|
{"event_idx": 0, "publisher_idx": 1, "status": PublicationStatus.COMPLETED},
|
|
{"event_idx": 0, "publisher_idx": 2, "status": PublicationStatus.COMPLETED},
|
|
{"event_idx": 1, "publisher_idx": 0, "status": PublicationStatus.FAILED},
|
|
{"event_idx": 1, "publisher_idx": 2, "status": PublicationStatus.COMPLETED},
|
|
{"event_idx": 2, "publisher_idx": 1, "status": PublicationStatus.COMPLETED},
|
|
],
|
|
"publisher": ["telegram", "twitter", "mastodon", "zulip"],
|
|
}
|
|
|
|
|
|
def _make_test_publication(publication_id, status, event_id, publisher_id):
|
|
return Publication(
|
|
id=UUID(int=publication_id),
|
|
status=status,
|
|
timestamp=today + timedelta(hours=publication_id),
|
|
event_id=UUID(int=event_id),
|
|
publisher_id=UUID(int=publisher_id),
|
|
)
|
|
|
|
|
|
result_publication = {
|
|
i: _make_test_publication(
|
|
i,
|
|
publisher_id=publication["publisher_idx"],
|
|
event_id=publication["event_idx"],
|
|
status=publication["status"],
|
|
)
|
|
for i, publication in enumerate(complete_specification["publications"])
|
|
}
|