def test_from_json_new_format_no_update():
    data = {"query": "example query", "latest_update": None}

    sub = Subscription.from_json_new_format(data, 17839)
    assert sub.query_str == "example query"
    assert sub.destination == 17839
    assert sub.latest_update is None
def test_to_json_and_back_no_update():
    sub = Subscription("an example", -63939)

    data = sub.to_json()
    new_sub = Subscription.from_json_new_format(data, -63939)

    assert new_sub.query_str == sub.query_str
    assert new_sub.destination == sub.destination
    assert new_sub.latest_update == sub.latest_update
def test_from_json_paused_true():
    data = {
        "query": "example query",
        "latest_update": "2020-11-01T22:16:26Z",
        "paused": True
    }

    sub = Subscription.from_json_new_format(data, 17839)
    assert sub.paused is True
def test_from_json_new_format():
    data = {"query": "example query", "latest_update": "2019-09-17T21:14:07Z"}

    sub = Subscription.from_json_new_format(data, 17839)
    assert sub.query_str == "example query"
    assert sub.destination == 17839
    assert sub.latest_update == datetime.datetime(2019,
                                                  9,
                                                  17,
                                                  21,
                                                  14,
                                                  7,
                                                  tzinfo=datetime.timezone.utc)
def test_to_json_and_back():
    sub = Subscription("something", 3223)
    sub.latest_update = datetime.datetime(2019,
                                          9,
                                          17,
                                          21,
                                          16,
                                          14,
                                          tzinfo=datetime.timezone.utc)

    data = sub.to_json()
    new_sub = Subscription.from_json_new_format(data, 3223)

    assert new_sub.query_str == sub.query_str
    assert new_sub.destination == sub.destination
    assert new_sub.latest_update == sub.latest_update