1
0
mirror of https://github.com/home-assistant/core.git synced 2025-12-24 12:59:34 +00:00
Files
core/tests/auth/test_models.py
Paulus Schoutsen 61f7a39748 Add permissions foundation (#16890)
* Add permission foundation

* Address comments

* typing

* False > True

* Convert more lambdas

* Use constants

* Remove support for False

* Fix only allow True
2018-10-11 19:24:25 +02:00

35 lines
1.1 KiB
Python

"""Tests for the auth models."""
from homeassistant.auth import models, permissions
def test_owner_fetching_owner_permissions():
"""Test we fetch the owner permissions for an owner user."""
group = models.Group(name="Test Group", policy={})
owner = models.User(name="Test User", groups=[group], is_owner=True)
assert owner.permissions is permissions.OwnerPermissions
def test_permissions_merged():
"""Test we merge the groups permissions."""
group = models.Group(name="Test Group", policy={
'entities': {
'domains': {
'switch': True
}
}
})
group2 = models.Group(name="Test Group", policy={
'entities': {
'entity_ids': {
'light.kitchen': True
}
}
})
user = models.User(name="Test User", groups=[group, group2])
# Make sure we cache instance
assert user.permissions is user.permissions
assert user.permissions.check_entity('switch.bla') is True
assert user.permissions.check_entity('light.kitchen') is True
assert user.permissions.check_entity('light.not_kitchen') is False