From 83d0f6ffae928e8d8571216542cfb580accff028 Mon Sep 17 00:00:00 2001 From: Tim Potter Date: Tue, 28 Sep 2004 12:49:05 +0000 Subject: r2728: Break arg parsing stuff out of samr.py into a standalone program. (This used to be commit 799b377badebf9a3f388b7d3fdc36484aa5e3376) --- source4/scripting/swig/torture/pytorture | 37 +++++++++++++++++++ source4/scripting/swig/torture/samr.py | 63 ++++++++------------------------ 2 files changed, 53 insertions(+), 47 deletions(-) create mode 100755 source4/scripting/swig/torture/pytorture (limited to 'source4/scripting/swig/torture') diff --git a/source4/scripting/swig/torture/pytorture b/source4/scripting/swig/torture/pytorture new file mode 100755 index 0000000000..89ecfbabcf --- /dev/null +++ b/source4/scripting/swig/torture/pytorture @@ -0,0 +1,37 @@ +#!/usr/bin/python + +from optparse import OptionParser + +# Parse command line + +parser = OptionParser() + +parser.add_option("-b", "--binding", action="store", type="string", + dest="binding") + +parser.add_option("-d", "--domain", action="store", type="string", + dest="domain") + +parser.add_option("-u", "--username", action="store", type="string", + dest="username") + +parser.add_option("-p", "--password", action="store", type="string", + dest="password") + +(options, args) = parser.parse_args() + +if not options.binding: + parser.error('You must supply a binding string') + +if not options.username or not options.password or not options.domain: + parser.error('You must supply a domain, username and password') + +binding = options.binding +domain = options.domain +username = options.username +password = options.password + +# Run tests + +import samr +samr.runtests(binding, domain, username, password) diff --git a/source4/scripting/swig/torture/samr.py b/source4/scripting/swig/torture/samr.py index 07bbaf3a93..ba650dfe75 100755 --- a/source4/scripting/swig/torture/samr.py +++ b/source4/scripting/swig/torture/samr.py @@ -1,9 +1,8 @@ #!/usr/bin/python -import sys, dcerpc -from optparse import OptionParser +import dcerpc -def test_Connect(handle): +def test_Connect(pipe): print 'testing samr_Connect' @@ -93,7 +92,7 @@ def test_QuerySecurity(pipe, handle): dcerpc.samr_QuerySecurity(pipe, r) -def test_GetDomPwInfo(pipe, domain): +def test_GetDomPwInfo(pipe, handle, domain): print 'testing samr_GetDomPwInfo' @@ -830,23 +829,23 @@ def test_LookupDomain(pipe, connect_handle, domain): result = dcerpc.samr_LookupDomain(pipe, r) - test_GetDomPwInfo(pipe, domain) + test_GetDomPwInfo(pipe, connect_handle, domain) - test_OpenDomain(pipe, handle, result['sid']) + test_OpenDomain(pipe, connect_handle, result['sid']) def test_EnumDomains(pipe, connect_handle): print 'testing samr_EnumDomains' r = {} - r['connect_handle'] = handle + r['connect_handle'] = connect_handle r['resume_handle'] = 0 r['buf_size'] = -1 result = dcerpc.samr_EnumDomains(pipe, r) for domain in result['sam']['entries']: - test_LookupDomain(pipe, handle, domain['name']['name']) + test_LookupDomain(pipe, connect_handle, domain['name']['name']) def test_LongInt(pipe): @@ -858,48 +857,18 @@ def test_LongInt(pipe): result = dcerpc.samr_Connect(pipe, r) -# Parse command line - -parser = OptionParser() - -parser.add_option("-b", "--binding", action="store", type="string", - dest="binding") - -parser.add_option("-d", "--domain", action="store", type="string", - dest="domain") - -parser.add_option("-u", "--username", action="store", type="string", - dest="username") - -parser.add_option("-p", "--password", action="store", type="string", - dest="password") - -(options, args) = parser.parse_args() - -if not options.binding: - parser.error('You must supply a binding string') - -if not options.username or not options.password or not options.domain: - parser.error('You must supply a domain, username and password') - - -binding = options.binding -domain = options.domain -username = options.username -password = options.password - -print 'Connecting...' +def runtests(binding, domain, username, password): -pipe = dcerpc.pipe_connect(binding, - dcerpc.DCERPC_SAMR_UUID, dcerpc.DCERPC_SAMR_VERSION, - domain, username, password) + print 'Testing SAMR pipe' -test_LongInt(pipe) + pipe = dcerpc.pipe_connect(binding, + dcerpc.DCERPC_SAMR_UUID, dcerpc.DCERPC_SAMR_VERSION, + domain, username, password) -handle = test_Connect(pipe) + test_LongInt(pipe) -test_QuerySecurity(pipe, handle) + handle = test_Connect(pipe) -test_EnumDomains(pipe, handle) + test_QuerySecurity(pipe, handle) -print 'Done' + test_EnumDomains(pipe, handle) -- cgit