Ejemplo n.º 1
0
def test_follow_user():
    follower = "follower_id"
    followee = "followee_id"
    f.write_document("users", follower, {"following_users": ["some_id"]})
    assert d.follow_user(follower, followee)
    assert followee in d.get_user(follower).get("following_users")
    assert len(d.get_user(follower).get("following_users")) == 2
def test_query_collection(collection, doc_id, doc_id2, doc):
    doc2 = {"key": "value"}
    assert doc != doc2
    f.write_document(collection, doc_id, doc)
    f.write_document(collection, doc_id2, doc2)
    result = list(f.query_collection(collection, "key", "==", "value").stream())
    assert len(result) == 1
    assert result[0].to_dict() == doc2
def test_write_document__merge(collection, doc_id, doc, doc2):
    assert doc != doc2
    f.write_document(collection, doc_id, doc)
    f.write_document(collection, doc_id, doc2, merge=True)

    result = f.get_document(collection, doc_id)
    assert result != doc
    assert result != doc2
    doc.update(doc2)
    assert result == doc
def test_update_document(collection, doc_id, doc, doc2):
    assert doc != doc2
    f.write_document(collection, doc_id, doc)
    f.update_document(collection, doc_id, doc2)

    result = f.get_document(collection, doc_id)
    assert result != doc
    assert result != doc2
    doc.update(doc2)
    assert result == doc
def write_state(state_doc):
    write_document(
        analytics.STATE_COLLECTION,
        analytics.get_analytics_document_id(
            state_doc["year"],
            state_doc["species"],
            state_doc["source"],
            state_doc.get("altitude_grp"),
        ),
        state_doc,
    )
Ejemplo n.º 6
0
def new_invite():
    iid = "invite_id1"
    f.write_document(
        INVITE_COLLECTION,
        iid,
        {
            "email": INVITEE_EMAIL,
            "locale": "de-CH",
            "user": INVITER_USER_ID
        },
    )
    return iid
Ejemplo n.º 7
0
def update_documents(doc_id: str, to_mail: str) -> None:
    f.update_document(
        INVITE_COLLECTION,
        doc_id,
        {
            "sent": f.SERVER_TIMESTAMP,
            "numsent": f.Increment(1),
            "resend": f.DELETE_FIELD,
        },
    )
    f.write_document(LOOKUP_COLLECTION,
                     to_mail, {"invites": f.ArrayUnion([doc_id])},
                     merge=True)
Ejemplo n.º 8
0
def resend_invite():
    iid = "invite_id2"
    f.write_document(
        INVITE_COLLECTION,
        iid,
        {
            "email": INVITEE_EMAIL,
            "locale": "de-CH",
            "user": INVITER_USER_ID,
            "sent": str(datetime(2021, 1, 1)),
            "resend": 1,
        },
    )
    return iid
def test_update_state_write(state_doc, obs_id, obs_date, phase, expected):
    add_state(state_doc, "phase1", "id1", _date(1))
    add_state(state_doc, "phase2", "id1", _date(2))
    add_state(state_doc, "phase1", "id2", _date(3))
    add_state(state_doc, "phase2", "id3", _date(4))
    base_state_ref = copy.deepcopy(state_doc)

    write_document(
        analytics.STATE_COLLECTION,
        analytics.get_analytics_document_id(
            state_doc["year"],
            state_doc["species"],
            state_doc["source"],
            state_doc.get("altitude_grp"),
        ),
        state_doc,
    )
    transactional_update_state = transactional(analytics.update_state)
    with transaction() as txn:
        transactional_update_state(
            txn,
            obs_id,
            _date(obs_date),
            phase,
            state_doc["source"],
            state_doc["year"],
            state_doc["species"],
            state_doc.get("altitude_grp"),
        )

    data = read_state(
        state_doc["year"],
        state_doc["species"],
        state_doc["source"],
        state_doc.get("altitude_grp"),
    )

    assert deepdiff.DeepDiff(base_state_ref, data) == expected, (
        base_state_ref,
        data,
    )
def test_get_write_document(collection, doc_id, doc):
    f.write_document(collection, doc_id, doc)
    assert f.get_document(collection, doc_id) == doc
def test_write_document__overwrite(collection, doc_id, doc, doc2):
    assert doc != doc2
    f.write_document(collection, doc_id, doc)
    f.write_document(collection, doc_id, doc2)

    assert f.get_document(collection, doc_id) == doc2
def _set_hash(key: str, data: str):
    hashed_data = _get_hash(data)
    write_document("definitions",
                   "meteoswiss_import", {"hash_%s" % key: hashed_data},
                   merge=True)
    log.debug("set hash for %s to %s", key, hashed_data)
def test_query_collection__no_result(collection, doc_id, doc_id2, doc):
    f.write_document(collection, doc_id, doc)
    f.write_document(collection, doc_id2, {"key": "value"})
    result = list(f.query_collection(collection, "key", "==", "miss").stream())
    assert len(result) == 0
Ejemplo n.º 14
0
def write_observation(observation_id: str, data: dict) -> None:
    write_document("observations", observation_id, data)
Ejemplo n.º 15
0
def set_phenoyear():
    f.write_document("definitions", "config_dynamic", {"phenoyear": 2000})
Ejemplo n.º 16
0
def process_update_nickname(user_id: str, nickname_old: str,
                            nickname_new: str):
    write_document("nicknames", nickname_new, {"user": user_id})
    update_document("public_users", user_id, {"nickname": nickname_new})
    delete_document("nicknames", nickname_old)
Ejemplo n.º 17
0
def write_individual(individual_id: str, data: dict, merge=False) -> None:
    write_document("individuals", individual_id, data, merge=merge)
Ejemplo n.º 18
0
def static_config():
    d._get_static_config.cache_clear()
    with open(CONFIG_STATIC_RESOURCE, "r") as file:
        data = json.loads(file.read())
        f.write_document("definitions", "config_static", data)
        return data
Ejemplo n.º 19
0
def dynamic_config():
    with open(CONFIG_DYNAMIC_RESOURCE, "r") as file:
        data = json.loads(file.read())
        f.write_document("definitions", "config_dynamic", data)
        return data
Ejemplo n.º 20
0
def test_follow_user__no_array():
    follower = "follower_id"
    followee = "followee_id"
    f.write_document("users", follower, {"some_data": "data"})
    assert d.follow_user(follower, followee)
    assert followee in d.get_user(follower).get("following_users")
Ejemplo n.º 21
0
 def lookup(self):
     invite_id = "invite_1"
     f.write_document(LOOKUP_COLLECTION, INVITEE_EMAIL,
                      {"invites": [invite_id]})
     return invite_id
Ejemplo n.º 22
0
 def lookups(self):
     invite_ids = {"invite_1", "invite_2"}
     f.write_document(LOOKUP_COLLECTION, INVITEE_EMAIL,
                      {"invites": invite_ids})
     return invite_ids
def test_delete_document(collection, doc_id, doc):
    f.write_document(collection, doc_id, doc)
    assert f.get_document(collection, doc_id)
    f.delete_document(collection, doc_id)
    assert not f.get_document(collection, doc_id)
Ejemplo n.º 24
0
def invitee_user():
    f.write_document("users", INVITEE_USER_ID, {"nickname": INVITEE_NICKNAME})
    return INVITEE_USER_ID
def test_get_collection(collection, doc_id, doc_id2, doc, doc2):
    assert doc != doc2
    f.write_document(collection, doc_id, doc)
    f.write_document(collection, doc_id2, doc2)
    assert len(list(f.get_collection(collection).stream())) == 2
Ejemplo n.º 26
0
def process_new_user(user_id: str, nickname: str):
    write_document("nicknames", nickname, {"user": user_id})
    write_document("public_users", user_id, {"nickname": nickname})