def request_events():
    yield [
        RequestCreateEvent("a/1", {"a": 1}),
        RequestDeleteEvent("b/2"),
        RequestUpdateEvent("a/1", {"a": None, "b": [1, True]}),
        RequestRestoreEvent("b/2"),
    ]
def test_update_no_delete_fields_event(event_translator):
    update_event = RequestUpdateEvent("a/1", {"a": "some_value"})

    db_events = event_translator.translate_single(update_event)

    assert len(db_events) == 1
    assert isinstance(db_events[0], DbUpdateEvent)
 def create_event(self, event: Dict[str, Any]) -> BaseRequestEvent:
     type = event["type"]
     fqid = event["fqid"]
     request_event: BaseRequestEvent
     if type == "create":
         request_event = RequestCreateEvent(fqid, event["fields"])
     elif type == "update":
         request_event = RequestUpdateEvent(fqid, event["fields"])
     elif type == "delete":
         request_event = RequestDeleteEvent(fqid)
     elif type == "restore":
         request_event = RequestRestoreEvent(fqid)
     else:
         raise BadCodingError()
     return request_event
def test_update_no_fields():
    with pytest.raises(InvalidFormat):
        RequestUpdateEvent("c/1", {})
Ejemplo n.º 5
0
def test_update_duplicate_fields_2():
    with pytest.raises(InvalidRequest):
        RequestUpdateEvent(
            "c/1", {}, {"add": {"test": ["value"]}, "remove": {"test": ["value"]}}
        )
Ejemplo n.º 6
0
def test_update_duplicate_fields_1():
    with pytest.raises(InvalidRequest):
        RequestUpdateEvent("c/1", {"test": "stuff"}, {"add": {"test": ["value"]}})
Ejemplo n.º 7
0
def test_update_list_fields():
    event = RequestUpdateEvent("c/1", {}, {"add": {"test": ["value"]}})
    assert event.list_fields == {"add": {"test": ["value"]}}