r3506: Test EnumPorts function.
authorTim Potter <tpot@samba.org>
Wed, 3 Nov 2004 06:29:22 +0000 (06:29 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 18:05:22 +0000 (13:05 -0500)
(This used to be commit 354068aae16b7e0c13416cfcdf9bdef5138dccc0)

source4/scripting/swig/torture/spoolss.py

index a4fdbbb107c30c1a89407ea7353d7d5153c246dc..35a0a6039fd877606e41e901fa3d356727f40496 100644 (file)
@@ -104,13 +104,20 @@ def test_EnumPorts(pipe, handle):
 
     print 'spoolss_EnumPorts()'
 
-    r = {}
-    r['handle'] = handle
-    r['level'] = 1
-    r['buffer'] = None
-    r['buf_size'] = 0
+    for level in [1, 2]:
+
+        r = {}
+        r['handle'] = handle
+        r['servername'] = None
+        r['level'] = level
+
+        result = ResizeBufferCall(dcerpc.spoolss_EnumPorts, pipe, r)
+
+        ports = dcerpc.unmarshall_spoolss_PortInfo_array(
+            result['buffer'], r['level'], result['count'])
 
-    result = ResizeBufferCall(dcerpc.spoolss_EnumPorts, pipe, r)
+        if level == 1:
+            port_names = map(lambda x: x['info1']['port_name'], ports)
 
 
 def test_DeleteForm(pipe, handle, formname):
@@ -377,6 +384,7 @@ def test_EnumPrinters(pipe):
         handle = test_OpenPrinterEx(pipe, printername)
 
         test_GetPrinter(pipe, handle)
+        test_EnumPorts(pipe, handle)
         test_EnumForms(pipe, handle)
         test_AddForm(pipe, handle)
         test_EnumJobs(pipe, handle)