svn commit: samba r3216 - in
branches/SAMBA_4_0/source/scripting/swig/torture: .
tpot at samba.org
tpot at samba.org
Mon Oct 25 12:54:52 GMT 2004
Author: tpot
Date: 2004-10-25 12:54:52 +0000 (Mon, 25 Oct 2004)
New Revision: 3216
WebSVN: http://websvn.samba.org/websvn/changeset.php?rep=samba&path=/branches/SAMBA_4_0/source/scripting/swig/torture&rev=3216&nolog=1
Log:
Add tests for OpenPrinterEx and ClosePrinter.
Modified:
branches/SAMBA_4_0/source/scripting/swig/torture/spoolss.py
Changeset:
Modified: branches/SAMBA_4_0/source/scripting/swig/torture/spoolss.py
===================================================================
--- branches/SAMBA_4_0/source/scripting/swig/torture/spoolss.py 2004-10-25 12:44:53 UTC (rev 3215)
+++ branches/SAMBA_4_0/source/scripting/swig/torture/spoolss.py 2004-10-25 12:54:52 UTC (rev 3216)
@@ -1,24 +1,79 @@
+import string
import dcerpc
+def test_OpenPrinterEx(pipe, printer):
+
+ print 'testing spoolss_OpenPrinterEx(%s)' % printer
+
+ r = {}
+ r['printername'] = '\\\\win2k3dc\\%s' % printer
+ r['datatype'] = None
+ r['devmode_ctr'] = {}
+ r['devmode_ctr']['size'] = 0
+ r['devmode_ctr']['devmode'] = None
+ r['access_mask'] = 0x02000000
+ r['level'] = 1
+ r['userlevel'] = {}
+ r['userlevel']['level1'] = {}
+ r['userlevel']['level1']['size'] = 0
+ r['userlevel']['level1']['client'] = None
+ r['userlevel']['level1']['user'] = None
+ r['userlevel']['level1']['build'] = 1381
+ r['userlevel']['level1']['major'] = 2
+ r['userlevel']['level1']['minor'] = 0
+ r['userlevel']['level1']['processor'] = 0
+
+ result = dcerpc.spoolss_OpenPrinterEx(pipe, r)
+
+ return result['handle']
+
+
+def test_ClosePrinter(pipe, handle):
+
+ r = {}
+ r['handle'] = handle
+
+ dcerpc.spoolss_ClosePrinter(pipe, r)
+
+
def test_EnumPrinters(pipe):
+ print 'testing spoolss_EnumPrinters'
+
+ printer_names = None
+
r = {}
r['flags'] = 0x02
r['server'] = None
- r['level'] = 1
- r['buffer'] = None
- r['buf_size'] = 0
- result = dcerpc.spoolss_EnumPrinters(pipe, r)
+ for level in [1, 2, 4, 5]:
- if result['result'] == dcerpc.WERR_INSUFFICIENT_BUFFER:
- r['buffer'] = result['buf_size'] * '\x00'
- r['buf_size'] = result['buf_size']
+ r['level'] = level
+ r['buf_size'] = 0
+ r['buffer'] = None
result = dcerpc.spoolss_EnumPrinters(pipe, r)
- print dcerpc.unmarshall_spoolss_PrinterInfo_array(result['buffer'], r['level'], result['count'])
+ if result['result'] == dcerpc.WERR_INSUFFICIENT_BUFFER:
+ r['buffer'] = result['buf_size'] * '\x00'
+ r['buf_size'] = result['buf_size']
+ result = dcerpc.spoolss_EnumPrinters(pipe, r)
+
+ printers = dcerpc.unmarshall_spoolss_PrinterInfo_array(
+ result['buffer'], r['level'], result['count'])
+
+ if printer_names is None:
+ printer_names = map(
+ lambda x: string.split(x['info1']['name'], ',')[0], printers)
+
+ for printer in printer_names:
+
+ handle = test_OpenPrinterEx(pipe, printer)
+
+ test_ClosePrinter(pipe, handle)
+
+
def runtests(binding, domain, username, password):
print 'Testing SPOOLSS pipe'
More information about the samba-cvs
mailing list