tests: Test ldap whoami exop
authorVolker Lendecke <vl@samba.org>
Fri, 21 Apr 2023 14:04:30 +0000 (16:04 +0200)
committerVolker Lendecke <vl@samba.org>
Wed, 26 Apr 2023 07:20:14 +0000 (07:20 +0000)
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Autobuild-User(master): Volker Lendecke <vl@samba.org>
Autobuild-Date(master): Wed Apr 26 07:20:14 UTC 2023 on atb-devel-224

python/samba/tests/ldap_whoami.py [new file with mode: 0644]
source4/selftest/tests.py

diff --git a/python/samba/tests/ldap_whoami.py b/python/samba/tests/ldap_whoami.py
new file mode 100644 (file)
index 0000000..378928e
--- /dev/null
@@ -0,0 +1,38 @@
+# Unix SMB/CIFS implementation.
+# Copyright (C) Volker Lendecke <vl@samba.org> 2023
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+from samba import Ldb,tests
+from samba.samba3 import param as s3param
+from samba import (credentials,NTSTATUSError)
+import os
+
+class LdapWhoami(tests.TestCase):
+    def test_ldap_whoami(self):
+        lp = s3param.get_context()
+        lp.load(os.getenv("SERVERCONFFILE"));
+
+        domain=os.getenv("DOMAIN")
+        username=os.getenv("DC_USERNAME")
+
+        creds = credentials.Credentials()
+        creds.guess(lp)
+        creds.set_domain(domain)
+        creds.set_username(username)
+        creds.set_password(os.getenv("DC_PASSWORD"))
+
+        l=Ldb(f'ldap://{os.getenv("DC_SERVER_IP")}/', credentials=creds, lp=lp)
+        w=l.whoami()
+        self.assertEqual(w,f'u:{domain}\\{username}')
index a0869c3a5de9849b7be6a8f672472ddb51da8f25..19764a1439747157b744cf90ae1a6667f7be74b6 100755 (executable)
@@ -1079,6 +1079,7 @@ planpythontestsuite("ad_dc_default:local", "samba.tests.dcerpc.unix")
 planpythontestsuite("ad_dc_ntvfs:local", "samba.tests.dcerpc.srvsvc")
 planpythontestsuite("ad_dc_default:local", "samba.tests.samba_tool.timecmd")
 planpythontestsuite("ad_dc_default:local", "samba.tests.samba_tool.join")
+planpythontestsuite("ad_dc_default:local", "samba.tests.ldap_whoami")
 planpythontestsuite("ad_member_s3_join", "samba.tests.samba_tool.join_member")
 planpythontestsuite("ad_dc_default",
                     "samba.tests.samba_tool.join_lmdb_size")