-
Notifications
You must be signed in to change notification settings - Fork 3
/
test_db_session.py
59 lines (45 loc) · 1.82 KB
/
test_db_session.py
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
53
54
55
56
57
58
59
# Copyright 2019-2023 The Wazo Authors (see the AUTHORS file)
# SPDX-License-Identifier: GPL-3.0-or-later
import uuid
from hamcrest import assert_that, calling, equal_to, has_items
from wazo_test_helpers.hamcrest.raises import raises
from wazo_chatd.exceptions import UnknownSessionException
from .helpers import fixtures
from .helpers.base import DBIntegrationTest, use_asset
TENANT_UUID = uuid.uuid4()
USER_UUID = uuid.uuid4()
UNKNOWN_UUID = uuid.uuid4()
@use_asset('database')
class TestSession(DBIntegrationTest):
@fixtures.db.session()
def test_get(self, session):
result = self._dao.session.get(session.uuid)
assert_that(result, equal_to(session))
assert_that(
calling(self._dao.session.get).with_args(UNKNOWN_UUID),
raises(UnknownSessionException),
)
@fixtures.db.session()
@fixtures.db.session()
def test_find(self, session, _):
result = self._dao.session.find(session.uuid)
assert_that(result, equal_to(session))
result = self._dao.session.find(UNKNOWN_UUID)
assert_that(result, equal_to(None))
@fixtures.db.session()
@fixtures.db.session()
def test_list(self, session_1, session_2):
sessions = self._dao.session.list_()
assert_that(sessions, has_items(session_1, session_2))
@fixtures.db.tenant(uuid=TENANT_UUID)
@fixtures.db.user(uuid=USER_UUID, tenant_uuid=TENANT_UUID)
@fixtures.db.session(user_uuid=USER_UUID)
def test_tenant_uuid(self, tenant, _, session):
assert_that(session.tenant_uuid, equal_to(tenant.uuid))
@fixtures.db.session(mobile=False)
def test_update(self, session):
mobile = True
session.mobile = mobile
self._dao.session.update(session)
self._session.expire_all()
assert_that(session.mobile, equal_to(mobile))