Isolate database credentials for agent tests
This commit is contained in:
@@ -5,6 +5,7 @@ import pwd
|
||||
import shlex
|
||||
import shutil
|
||||
import subprocess
|
||||
from collections.abc import Mapping
|
||||
from dataclasses import dataclass
|
||||
from pathlib import Path
|
||||
from urllib.parse import urlparse
|
||||
@@ -46,8 +47,9 @@ class GitWorkspace:
|
||||
command: str,
|
||||
check: bool = True,
|
||||
username: str | None = None,
|
||||
extra_environment: Mapping[str, str] | None = None,
|
||||
) -> subprocess.CompletedProcess[str]:
|
||||
environment = None
|
||||
environment = dict(os.environ)
|
||||
drop_privileges = None
|
||||
if username:
|
||||
account = pwd.getpwnam(username)
|
||||
@@ -61,6 +63,8 @@ class GitWorkspace:
|
||||
os.setgid(account.pw_gid)
|
||||
os.setuid(account.pw_uid)
|
||||
|
||||
environment.update(extra_environment or {})
|
||||
|
||||
return subprocess.run(
|
||||
shlex.split(command),
|
||||
cwd=self.path,
|
||||
|
||||
Reference in New Issue
Block a user