File: test_zoo.py

package info (click to toggle)
python-odmantic 1.0.2-4
  • links: PTS, VCS
  • area: main
  • in suites: forky, trixie
  • size: 1,640 kB
  • sloc: python: 8,547; sh: 37; makefile: 34; xml: 13; javascript: 3
file content (52 lines) | stat: -rw-r--r-- 1,610 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
import pytest

from odmantic import AIOEngine
from odmantic.engine import SyncEngine
from tests.zoo.player import Player
from tests.zoo.twitter_user import TwitterUser

pytestmark = pytest.mark.asyncio


async def test_twitter_user(aio_engine: AIOEngine):
    main = TwitterUser()
    await aio_engine.save(main)
    friends = [TwitterUser() for _ in range(25)]
    await aio_engine.save_all(friends)
    friend_ids = [f.id for f in friends]
    main.following = friend_ids
    await aio_engine.save(main)

    fetched_main = await aio_engine.find_one(TwitterUser, TwitterUser.id == main.id)
    assert fetched_main is not None
    assert fetched_main == main
    assert set(friend_ids) == set(fetched_main.following)


def test_sync_twitter_user(sync_engine: SyncEngine):
    main = TwitterUser()
    sync_engine.save(main)
    friends = [TwitterUser() for _ in range(25)]
    sync_engine.save_all(friends)
    friend_ids = [f.id for f in friends]
    main.following = friend_ids
    sync_engine.save(main)

    fetched_main = sync_engine.find_one(TwitterUser, TwitterUser.id == main.id)
    assert fetched_main is not None
    assert fetched_main == main
    assert set(friend_ids) == set(fetched_main.following)


async def test_player(aio_engine: AIOEngine):
    leeroy = Player(name="Leeroy Jenkins")
    await aio_engine.save(leeroy)
    fetched = await aio_engine.find_one(Player)
    assert fetched == leeroy


def test_sync_player(sync_engine: SyncEngine):
    leeroy = Player(name="Leeroy Jenkins")
    sync_engine.save(leeroy)
    fetched = sync_engine.find_one(Player)
    assert fetched == leeroy