oca-server-auth/odoo-bringout-oca-server-auth-vault/vault/tests/test_user.py
2025-08-29 15:43:06 +02:00

60 lines
1.8 KiB
Python

# © 2021 Florian Kantelberg - initOS GmbH
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
import logging
from odoo.tests import TransactionCase
_logger = logging.getLogger(__name__)
class TestShare(TransactionCase):
def test_user_inbox(self):
user = self.env["res.users"].create(
{"login": "test", "email": "test@test", "name": "test"}
)
user.action_new_inbox_token()
model = self.env["res.users"]
token = user.inbox_token
self.assertEqual(user, model.find_user_of_inbox(token))
self.assertIn(token, user.inbox_link)
user.inbox_enabled = False
self.assertEqual(model, model.find_user_of_inbox(token))
user.action_new_inbox_token()
self.assertNotEqual(user.inbox_token, token)
def test_user_key_management(self):
action = self.env.ref("vault.action_res_users_keys")
self.assertEqual(action.id, self.env["res.users"].action_get_vault()["id"])
def test_invalidation(self):
self.env["res.users.key"].store(
40000, "invalid", "invalid", "invalid", "invalid", 42
)
self.assertTrue(self.env.user.keys.filtered("current"))
vault = self.env["vault"].create({"name": "Test"})
self.assertTrue(vault.right_ids)
inbox = self.env["vault.inbox"].create(
{
"name": "Inbox Test",
"secret": "secret",
"iv": "iv",
"user_id": self.env.uid,
"key": "key",
"secret_file": "",
"filename": "",
}
)
self.env.user.action_invalidate_key()
self.assertFalse(self.env.user.keys.filtered("current"))
self.assertFalse(inbox.exists())
self.assertFalse(vault.right_ids.exists())