fix(tests): fixed test logic on creation

This commit is contained in:
RhodeCode Admin 2026-01-21 17:49:15 +01:00
parent 9ff7ebfc3b
commit 911b45148f
2 changed files with 32 additions and 21 deletions

View file

@ -68,7 +68,7 @@ from rhodecode.model.user_group import UserGroupModel
from rhodecode.model.integration import IntegrationModel
from rhodecode.integrations import integration_type_registry
from rhodecode.integrations.types.base import IntegrationTypeBase
from rhodecode.lib.utils import repo2db_mapper
from rhodecode.lib.utils import repo2db_mapper, repo_name_slug
from rhodecode.lib.str_utils import safe_bytes
from rhodecode.lib.hash_utils import sha1_safe
from rhodecode.lib.vcs.backends import get_backend
@ -1132,7 +1132,7 @@ def user_util(request, db_connection):
# TODO: johbo: Split this up into utilities per domain or something similar
class UserUtility(object):
def __init__(self, test_name="test"):
self._test_name = self._sanitize_name(test_name, random_suffix=True)
self._test_name = self._sanitize_name(test_name)
self.fixture = Fixture()
self.repo_group_ids = []
self.repos_ids = []
@ -1146,26 +1146,37 @@ class UserUtility(object):
self.user_group_user_group_permission_ids = []
self.user_permissions = []
def _sanitize_name(self, name, random_suffix=True):
for char in ["[", "]"]:
name = name.replace(char, "-").replace("_", "-").replace(".", "-")
if random_suffix:
length = 4
letters = string.ascii_lowercase
random_suffix = "".join(random.choice(letters) for i in range(length)).capitalize()
name = random_suffix + name
def _sanitize_name(self, name):
name = repo_name_slug(name)
return name
def create_repo_group(self, owner=TEST_USER_ADMIN_LOGIN, auto_cleanup=True):
def _random_suffix(self, length=4):
letters = string.ascii_lowercase
random_suffix = "".join(random.choice(letters) for i in range(length))
return random_suffix
def create_repo_group(self, owner=TEST_USER_ADMIN_LOGIN, auto_cleanup=True, random_suffix=False):
group_name = f"{self._test_name}-repogroup-{len(self.repo_group_ids)}"
if random_suffix:
group_name = self._random_suffix() + group_name
repo_group = self.fixture.create_repo_group(group_name, cur_user=owner)
if auto_cleanup:
self.repo_group_ids.append(repo_group.group_id)
return repo_group
def create_repo(self, owner=TEST_USER_ADMIN_LOGIN, parent=None, auto_cleanup=True, repo_type="hg", bare=False):
def create_repo(
self,
owner=TEST_USER_ADMIN_LOGIN,
parent=None,
auto_cleanup=True,
repo_type="hg",
bare=False,
random_suffix=False,
):
repo_name = f"{self._test_name}-repository-{len(self.repos_ids)}"
if random_suffix:
repo_name = self._random_suffix() + repo_name
repository = self.fixture.create_repo(
repo_name, cur_user=owner, repo_group=parent, repo_type=repo_type, bare=bare
)