[29049] in CVS-changelog-for-Kerberos-V5

home help back first fref pref prev next nref lref last post

krb5 commit: Add tests for tabdump

daemon@ATHENA.MIT.EDU (Tom Yu)
Mon Sep 14 14:16:58 2015

Date: Mon, 14 Sep 2015 14:13:25 -0400
From: Tom Yu <tlyu@mit.edu>
Message-Id: <201509141813.t8EIDPuA017732@drugstore.mit.edu>
To: cvs-krb5@mit.edu
Reply-To: krbdev@mit.edu
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Errors-To: cvs-krb5-bounces@mit.edu

https://github.com/krb5/krb5/commit/9e68815fa166b0fcf78148b1bc402de1752a6424
commit 9e68815fa166b0fcf78148b1bc402de1752a6424
Author: Tom Yu <tlyu@mit.edu>
Date:   Wed Sep 9 15:46:18 2015 -0400

    Add tests for tabdump
    
    ticket: 8243

 src/tests/Makefile.in  |    1 +
 src/tests/t_tabdump.py |   81 ++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 82 insertions(+), 0 deletions(-)

diff --git a/src/tests/Makefile.in b/src/tests/Makefile.in
index 6bfdd8b..3bf8ec3 100644
--- a/src/tests/Makefile.in
+++ b/src/tests/Makefile.in
@@ -155,6 +155,7 @@ check-pytests:: responder s2p s4u2proxy t_init_creds t_localauth unlockiter
 	$(RUNPYTEST) $(srcdir)/t_authdata.py $(PYTESTFLAGS)
 	$(RUNPYTEST) $(srcdir)/t_preauth.py $(PYTESTFLAGS)
 	$(RUNPYTEST) $(srcdir)/t_princflags.py $(PYTESTFLAGS)
+	$(RUNPYTEST) $(srcdir)/t_tabdump.py $(PYTESTFLAGS)
 
 clean::
 	$(RM) gcred hist hrealm kdbtest plugorder rdreq responder s2p
diff --git a/src/tests/t_tabdump.py b/src/tests/t_tabdump.py
new file mode 100755
index 0000000..066e484
--- /dev/null
+++ b/src/tests/t_tabdump.py
@@ -0,0 +1,81 @@
+#!/usr/bin/python
+from k5test import *
+
+import csv
+import StringIO
+
+def tab_csv(s):
+    io = StringIO.StringIO(s)
+    return list(csv.DictReader(io, dialect=csv.excel_tab))
+
+
+def getrows(dumptype):
+    out = realm.run([kdb5_util, 'tabdump', dumptype])
+    return tab_csv(out)
+
+
+def checkkeys(rows, dumptype, names):
+    if sorted(rows[0].keys()) != sorted(names):
+        fail('tabdump %s field names' % dumptype)
+
+
+realm = K5Realm(start_kdc=False, get_creds=False)
+
+
+rows = getrows('keyinfo')
+checkkeys(rows, 'keyinfo',
+          ["name", "keyindex", "kvno", "enctype", "salttype", "salt"])
+
+userrows = [x for x in rows if x['name'].startswith('user@')]
+userrows.sort(key=lambda x: x['keyindex'])
+
+if (userrows[0]['enctype'] != 'aes256-cts-hmac-sha1-96' or
+    userrows[1]['enctype'] != 'aes128-cts-hmac-sha1-96'):
+    fail('tabdump keyinfo enctypes')
+
+success('tabdump keyinfo')
+
+
+rows = getrows('keydata')
+checkkeys(rows, 'keydata',
+          ["name", "keyindex", "kvno", "enctype", "key", "salttype", "salt"])
+
+
+rows = getrows('princ_flags')
+checkkeys(rows, 'princ_flags', ["name", "flag", "value"])
+
+
+rows = getrows('princ_lockout')
+checkkeys(rows, 'princ_lockout', ["name", "last_success", "last_failed",
+                                  "fail_count"])
+
+
+realm.run([kadminl, 'addpol', '-history', '3', 'testpol'])
+realm.run([kadminl, 'modprinc', '-policy', 'testpol', 'user'])
+
+rows = getrows('princ_meta')
+checkkeys(rows, 'princ_meta', ["name", "modby", "modtime", "lastpwd",
+                               "policy", "mkvno", "hist_kvno"])
+
+userrows = [x for x in rows if x['name'].startswith('user@')]
+
+if userrows[0]['policy'] != 'testpol':
+    fail('tabdump princ_meta policy name')
+
+
+realm.run([kadminl, 'set_string', 'user', 'foo', 'bar'])
+
+rows = getrows('princ_stringattrs')
+checkkeys(rows, 'princ_stringattrs', ["name", "key", "value"])
+
+userrows = [x for x in rows if x['name'].startswith('user@')]
+if (len(userrows) != 1 or userrows[0]['key'] != 'foo' or
+    userrows[0]['value'] != 'bar'):
+    fail('tabdump princ_stringattrs key/value')
+
+
+rows = getrows('princ_tktpolicy')
+checkkeys(rows, 'princ_tktpolicy', ["name", "expiration", "pw_expiration",
+                                    "max_life", "max_renew_life"])
+
+success('tabdump')
_______________________________________________
cvs-krb5 mailing list
cvs-krb5@mit.edu
https://mailman.mit.edu/mailman/listinfo/cvs-krb5

home help back first fref pref prev next nref lref last post