Source code for galaxy_test.api.test_configuration

from galaxy_test.base.api_asserts import (
    assert_has_keys,
    assert_not_has_keys,
)
from galaxy_test.base.api_util import TEST_USER
from galaxy_test.base.decorators import requires_admin
from ._framework import ApiTestCase

TEST_KEYS_FOR_ALL_USERS = [
    "enable_unique_workflow_defaults",
    "ftp_upload_site",
    "wiki_url",
    "support_url",
    "logo_url",
    "terms_url",
    "allow_user_dataset_purge",
]
TEST_KEYS_FOR_ADMIN_ONLY = [
    "library_import_dir",
    "user_library_import_dir",
    "allow_library_path_paste",
    "allow_user_deletion",
    "tool_shed_urls",
]


[docs]class TestConfigurationApi(ApiTestCase):
[docs] def test_whoami(self): response = self._get("whoami") self._assert_status_code_is(response, 200) assert response.json()["email"] == TEST_USER
[docs] def test_normal_user_configuration(self): config = self._get_configuration() assert_has_keys(config, *TEST_KEYS_FOR_ALL_USERS) assert_not_has_keys(config, *TEST_KEYS_FOR_ADMIN_ONLY)
[docs] @requires_admin def test_admin_user_configuration(self): config = self._get_configuration(admin=True) assert_has_keys(config, *TEST_KEYS_FOR_ALL_USERS) assert_has_keys(config, *TEST_KEYS_FOR_ADMIN_ONLY)
[docs] def test_normal_user_decode_id(self): decode_response = self._get("configuration/decode/badhombre", admin=False) self._assert_status_code_is(decode_response, 403)
def _get_configuration(self, data=None, admin=False): data = data or {} response = self._get("configuration", data=data, admin=admin) self._assert_status_code_is(response, 200) configuration = response.json() return configuration
[docs] def test_version(self): response = self._get("version") self._assert_status_code_is(response, 200) data = response.json() assert "version_major" in data assert "version_minor" in data