
* format files Signed-off-by: Jens Langhammer <jens@goauthentik.io> * fix pyright Signed-off-by: Jens Langhammer <jens@goauthentik.io> * revert #8367 Signed-off-by: Jens Langhammer <jens@goauthentik.io> * sigh Signed-off-by: Jens Langhammer <jens@goauthentik.io> --------- Signed-off-by: Jens Langhammer <jens@goauthentik.io>
44 lines
1.6 KiB
Python
44 lines
1.6 KiB
Python
"""Test Evaluator base functions"""
|
|
|
|
from django.test import TestCase
|
|
|
|
from authentik.core.tests.utils import create_test_admin_user
|
|
from authentik.events.models import Event
|
|
from authentik.lib.expression.evaluator import BaseEvaluator
|
|
from authentik.lib.generators import generate_id
|
|
|
|
|
|
class TestEvaluator(TestCase):
|
|
"""Test Evaluator base functions"""
|
|
|
|
def test_expr_regex_match(self):
|
|
"""Test expr_regex_match"""
|
|
self.assertFalse(BaseEvaluator.expr_regex_match("foo", "bar"))
|
|
self.assertTrue(BaseEvaluator.expr_regex_match("foo", "foo"))
|
|
|
|
def test_expr_regex_replace(self):
|
|
"""Test expr_regex_replace"""
|
|
self.assertEqual(BaseEvaluator.expr_regex_replace("foo", "o", "a"), "faa")
|
|
|
|
def test_expr_user_by(self):
|
|
"""Test expr_user_by"""
|
|
user = create_test_admin_user()
|
|
self.assertIsNotNone(BaseEvaluator.expr_user_by(username=user.username))
|
|
self.assertIsNone(BaseEvaluator.expr_user_by(username="bar"))
|
|
self.assertIsNone(BaseEvaluator.expr_user_by(foo="bar"))
|
|
|
|
def test_expr_is_group_member(self):
|
|
"""Test expr_is_group_member"""
|
|
self.assertFalse(BaseEvaluator.expr_is_group_member(create_test_admin_user(), name="test"))
|
|
|
|
def test_expr_event_create(self):
|
|
"""Test expr_event_create"""
|
|
evaluator = BaseEvaluator(generate_id())
|
|
evaluator._context = {
|
|
"foo": "bar",
|
|
}
|
|
evaluator.evaluate("ak_create_event('foo', bar='baz')")
|
|
event = Event.objects.filter(action="custom_foo").first()
|
|
self.assertIsNotNone(event)
|
|
self.assertEqual(event.context, {"bar": "baz", "foo": "bar"})
|