mirror of
https://github.com/samba-team/samba.git
synced 2025-08-05 12:22:11 +03:00
credentials: Add test for credentials behaviour
Signed-off-by: Andrew Bartlett <abartlet@samba.org> Reviewed-by: Garming Sam <garming@catalyst.net.nz> Autobuild-User(master): Garming Sam <garming@samba.org> Autobuild-Date(master): Mon Nov 7 03:51:11 CET 2016 on sn-devel-144
This commit is contained in:
committed by
Garming Sam
parent
6539d4997f
commit
a00d34dbc1
@ -23,6 +23,7 @@ the functionality, that's already done in other tests.
|
|||||||
|
|
||||||
from samba import credentials
|
from samba import credentials
|
||||||
import samba.tests
|
import samba.tests
|
||||||
|
import os
|
||||||
|
|
||||||
class CredentialsTests(samba.tests.TestCase):
|
class CredentialsTests(samba.tests.TestCase):
|
||||||
|
|
||||||
@ -98,10 +99,6 @@ class CredentialsTests(samba.tests.TestCase):
|
|||||||
self.assertEqual('\xc2\xae\x1f\xe6\xe6H\x84cRE>\x81o*\xeb\x93',
|
self.assertEqual('\xc2\xae\x1f\xe6\xe6H\x84cRE>\x81o*\xeb\x93',
|
||||||
self.creds.get_nt_hash())
|
self.creds.get_nt_hash())
|
||||||
|
|
||||||
def test_guess(self):
|
|
||||||
# Just check the method is there and doesn't raise an exception
|
|
||||||
self.creds.guess()
|
|
||||||
|
|
||||||
def test_set_cmdline_callbacks(self):
|
def test_set_cmdline_callbacks(self):
|
||||||
self.creds.set_cmdline_callbacks()
|
self.creds.set_cmdline_callbacks()
|
||||||
|
|
||||||
@ -113,3 +110,102 @@ class CredentialsTests(samba.tests.TestCase):
|
|||||||
|
|
||||||
def test_wrong_password(self):
|
def test_wrong_password(self):
|
||||||
self.assertFalse(self.creds.wrong_password())
|
self.assertFalse(self.creds.wrong_password())
|
||||||
|
|
||||||
|
def test_guess(self):
|
||||||
|
creds = credentials.Credentials()
|
||||||
|
lp = samba.tests.env_loadparm()
|
||||||
|
os.environ["USER"] = "env_user"
|
||||||
|
creds.guess(lp)
|
||||||
|
self.assertEqual(creds.get_username(), "env_user")
|
||||||
|
self.assertEqual(creds.get_domain(), lp.get("workgroup").upper())
|
||||||
|
self.assertEqual(creds.get_realm(), lp.get("realm").upper())
|
||||||
|
self.assertEqual(creds.is_anonymous(), False)
|
||||||
|
self.assertEqual(creds.authentication_requested(), False)
|
||||||
|
|
||||||
|
def test_set_anonymous(self):
|
||||||
|
creds = credentials.Credentials()
|
||||||
|
lp = samba.tests.env_loadparm()
|
||||||
|
os.environ["USER"] = "env_user"
|
||||||
|
creds.guess(lp)
|
||||||
|
creds.set_anonymous()
|
||||||
|
self.assertEqual(creds.get_username(), "")
|
||||||
|
self.assertEqual(creds.get_domain(), "")
|
||||||
|
self.assertEqual(creds.get_realm(), None)
|
||||||
|
self.assertEqual(creds.is_anonymous(), True)
|
||||||
|
self.assertEqual(creds.authentication_requested(), False)
|
||||||
|
|
||||||
|
def test_parse_username(self):
|
||||||
|
creds = credentials.Credentials()
|
||||||
|
lp = samba.tests.env_loadparm()
|
||||||
|
os.environ["USER"] = "env_user"
|
||||||
|
creds.guess(lp)
|
||||||
|
creds.parse_string("user")
|
||||||
|
self.assertEqual(creds.get_username(), "user")
|
||||||
|
self.assertEqual(creds.get_domain(), lp.get("workgroup").upper())
|
||||||
|
self.assertEqual(creds.get_realm(), lp.get("realm").upper())
|
||||||
|
self.assertEqual(creds.is_anonymous(), False)
|
||||||
|
self.assertEqual(creds.authentication_requested(), True)
|
||||||
|
|
||||||
|
def test_parse_username_with_domain(self):
|
||||||
|
creds = credentials.Credentials()
|
||||||
|
lp = samba.tests.env_loadparm()
|
||||||
|
os.environ["USER"] = "env_user"
|
||||||
|
creds.guess(lp)
|
||||||
|
creds.parse_string("domain\user")
|
||||||
|
self.assertEqual(creds.get_username(), "user")
|
||||||
|
self.assertEqual(creds.get_domain(), "DOMAIN")
|
||||||
|
self.assertEqual(creds.get_realm(), lp.get("realm").upper())
|
||||||
|
self.assertEqual(creds.is_anonymous(), False)
|
||||||
|
self.assertEqual(creds.authentication_requested(), True)
|
||||||
|
|
||||||
|
def test_parse_username_with_realm(self):
|
||||||
|
creds = credentials.Credentials()
|
||||||
|
lp = samba.tests.env_loadparm()
|
||||||
|
os.environ["USER"] = "env_user"
|
||||||
|
creds.guess(lp)
|
||||||
|
creds.parse_string("user@samba.org")
|
||||||
|
self.assertEqual(creds.get_username(), "env_user")
|
||||||
|
self.assertEqual(creds.get_domain(), lp.get("workgroup").upper())
|
||||||
|
self.assertEqual(creds.get_realm(), "SAMBA.ORG")
|
||||||
|
self.assertEqual(creds.is_anonymous(), False)
|
||||||
|
self.assertEqual(creds.authentication_requested(), True)
|
||||||
|
|
||||||
|
def test_parse_username_pw(self):
|
||||||
|
creds = credentials.Credentials()
|
||||||
|
lp = samba.tests.env_loadparm()
|
||||||
|
os.environ["USER"] = "env_user"
|
||||||
|
creds.guess(lp)
|
||||||
|
creds.parse_string("user%pass")
|
||||||
|
self.assertEqual(creds.get_username(), "user")
|
||||||
|
self.assertEqual(creds.get_password(), "pass")
|
||||||
|
self.assertEqual(creds.get_domain(), lp.get("workgroup"))
|
||||||
|
self.assertEqual(creds.get_realm(), lp.get("realm"))
|
||||||
|
self.assertEqual(creds.is_anonymous(), False)
|
||||||
|
self.assertEqual(creds.authentication_requested(), True)
|
||||||
|
|
||||||
|
def test_parse_username_with_domain_pw(self):
|
||||||
|
creds = credentials.Credentials()
|
||||||
|
lp = samba.tests.env_loadparm()
|
||||||
|
os.environ["USER"] = "env_user"
|
||||||
|
creds.guess(lp)
|
||||||
|
creds.parse_string("domain\user%pass")
|
||||||
|
self.assertEqual(creds.get_username(), "user")
|
||||||
|
self.assertEqual(creds.get_domain(), "DOMAIN")
|
||||||
|
self.assertEqual(creds.get_password(), "pass")
|
||||||
|
self.assertEqual(creds.get_realm(), lp.get("realm"))
|
||||||
|
self.assertEqual(creds.is_anonymous(), False)
|
||||||
|
self.assertEqual(creds.authentication_requested(), True)
|
||||||
|
|
||||||
|
def test_parse_username_with_realm_pw(self):
|
||||||
|
creds = credentials.Credentials()
|
||||||
|
lp = samba.tests.env_loadparm()
|
||||||
|
os.environ["USER"] = "env_user"
|
||||||
|
creds.guess(lp)
|
||||||
|
creds.parse_string("user@samba.org%pass")
|
||||||
|
self.assertEqual(creds.get_username(), "env_user")
|
||||||
|
self.assertEqual(creds.get_domain(), lp.get("workgroup").upper())
|
||||||
|
self.assertEqual(creds.get_password(), "pass")
|
||||||
|
self.assertEqual(creds.get_realm(), "SAMBA.ORG")
|
||||||
|
self.assertEqual(creds.get_principal(), "user@samba.org")
|
||||||
|
self.assertEqual(creds.is_anonymous(), False)
|
||||||
|
self.assertEqual(creds.authentication_requested(), True)
|
||||||
|
Reference in New Issue
Block a user