Files
galaxy/test/integration/test_config_options_users.py
T
John Chilton d9607684ef Tweak exposing user attributes to use an include list instead of exclude list.
This allows for the addition of new dictifiable attributes on user like in 55956fe2ca without exposing these attributes to non-admin users.
2017-07-05 07:04:20 -04:00

59 lines
2.1 KiB
Python

"""Integration tests for user config options."""
from base import integration_util
class _BaseUserExposeIntegerationTestCase(integration_util.IntegrationTestCase):
def original_user_ids(self):
return [u["id"] for u in self.galaxy_interactor.get("users").json()]
def new_users(self, original_ids):
users = [u for u in self.galaxy_interactor.get("users").json() if u["id"] not in original_ids]
return users
class DefaultUserExposeIntegrationTestCase(_BaseUserExposeIntegerationTestCase):
def test_defaults(self):
original_user_ids = self.original_user_ids()
self.galaxy_interactor.ensure_user_with_email("defaultuserexposetest@galaxyproject.org")
new_users = self.new_users(original_user_ids)
# If expose username or expose email isn't enabled - user indexing is
# empty by default for non-admin users.
assert len(new_users) == 0
class EmailUserExposeIntegrationTestCase(_BaseUserExposeIntegerationTestCase):
@classmethod
def handle_galaxy_config_kwds(cls, config):
config["expose_user_email"] = True
def test_only_email_exposed(self):
original_user_ids = self.original_user_ids()
self.galaxy_interactor.ensure_user_with_email("emailuserexposetest@galaxyproject.org")
new_users = self.new_users(original_user_ids)
assert len(new_users) > 0
user = new_users[0]
assert "email" in user
assert "username" not in user
assert "last_password_change" not in user
class UsernameUserExposeIntegrationTestCase(_BaseUserExposeIntegerationTestCase):
@classmethod
def handle_galaxy_config_kwds(cls, config):
config["expose_user_name"] = True
def test_only_username_exposed(self):
original_user_ids = self.original_user_ids()
self.galaxy_interactor.ensure_user_with_email("usernameuserexposetest@galaxyproject.org")
new_users = self.new_users(original_user_ids)
assert len(new_users) > 0
user = new_users[0]
assert "email" not in user
assert "username" in user
assert "last_password_change" not in user