mirror of
https://github.com/getredash/redash.git
synced 2026-03-22 01:00:14 -04:00
Relevant tests were also modified to reload the user object from the database before asserting that the user belongs to correct groups. Fixes #1668.
52 lines
1.7 KiB
Python
52 lines
1.7 KiB
Python
from tests import BaseTestCase
|
|
|
|
from redash.models import User, db
|
|
|
|
class TestUserUpdateGroupAssignments(BaseTestCase):
|
|
def test_default_group_always_added(self):
|
|
user = self.factory.create_user()
|
|
|
|
user.update_group_assignments(["g_unknown"])
|
|
db.session.refresh(user)
|
|
|
|
self.assertItemsEqual([user.org.default_group.id], user.group_ids)
|
|
|
|
def test_update_group_assignments(self):
|
|
user = self.factory.user
|
|
new_group = self.factory.create_group(name="g1")
|
|
|
|
user.update_group_assignments(["g1"])
|
|
db.session.refresh(user)
|
|
|
|
self.assertItemsEqual([user.org.default_group.id, new_group.id], user.group_ids)
|
|
|
|
|
|
class TestUserFindByEmail(BaseTestCase):
|
|
def test_finds_users(self):
|
|
user = self.factory.create_user(email='test@example.com')
|
|
user2 = self.factory.create_user(email='test@example.com', org=self.factory.create_org())
|
|
|
|
users = User.find_by_email(user.email)
|
|
self.assertIn(user, users)
|
|
self.assertIn(user2, users)
|
|
|
|
def test_finds_users_case_insensitive(self):
|
|
user = self.factory.create_user(email='test@example.com')
|
|
|
|
users = User.find_by_email('test@EXAMPLE.com')
|
|
self.assertIn(user, users)
|
|
|
|
|
|
class TestUserGetByEmailAndOrg(BaseTestCase):
|
|
def test_get_user_by_email_and_org(self):
|
|
user = self.factory.create_user(email='test@example.com')
|
|
|
|
found_user = User.get_by_email_and_org(user.email, user.org)
|
|
self.assertEqual(user, found_user)
|
|
|
|
def test_get_user_by_email_and_org_case_insensitive(self):
|
|
user = self.factory.create_user(email='test@example.com')
|
|
|
|
found_user = User.get_by_email_and_org("TEST@example.com", user.org)
|
|
self.assertEqual(user, found_user)
|