From: Rob van der Linde Date: Wed, 13 Dec 2023 01:00:45 +0000 (+1300) Subject: selftest: add get_env_credentials() X-Git-Tag: talloc-2.4.2~255 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=5e823724389984379ae1f624cf1051a77179ef28;p=thirdparty%2Fsamba.git selftest: add get_env_credentials() This is like get_credentials but works for tests that are based on environment variable for usernames and passwords. Signed-off-by: Rob van der Linde Reviewed-by: Andrew Bartlett Reviewed-by: Douglas Bagnall --- diff --git a/python/samba/tests/__init__.py b/python/samba/tests/__init__.py index fd5005df7d8..a9f45b437c2 100644 --- a/python/samba/tests/__init__.py +++ b/python/samba/tests/__init__.py @@ -200,6 +200,25 @@ class TestCase(unittest.TestCase): def get_credentials(self): return cmdline_credentials + @classmethod + def get_env_credentials(cls, *, lp, env_username, env_password, + env_realm=None, env_domain=None): + creds = credentials.Credentials() + + # guess Credentials parameters here. Otherwise, workstation + # and domain fields are NULL and gencache code segfaults + creds.guess(lp) + creds.set_username(env_get_var_value(env_username)) + creds.set_password(env_get_var_value(env_password)) + + if env_realm is not None: + creds.set_realm(env_get_var_value(env_realm)) + + if env_domain is not None: + creds.set_domain(env_get_var_value(env_domain)) + + return creds + def get_creds_ccache_name(self): creds = self.get_credentials() ccache = creds.get_named_ccache(self.get_loadparm())