1#!/usr/bin/python 2# -*- coding: utf-8 -*- 3 4# Unix SMB/CIFS implementation. 5# Copyright �� Jelmer Vernooij <jelmer@samba.org> 2008 6# 7# This program is free software; you can redistribute it and/or modify 8# it under the terms of the GNU General Public License as published by 9# the Free Software Foundation; either version 3 of the License, or 10# (at your option) any later version. 11# 12# This program is distributed in the hope that it will be useful, 13# but WITHOUT ANY WARRANTY; without even the implied warranty of 14# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15# GNU General Public License for more details. 16# 17# You should have received a copy of the GNU General Public License 18# along with this program. If not, see <http://www.gnu.org/licenses/>. 19# 20 21from samba.dcerpc import samr, security 22from samba.tests import RpcInterfaceTestCase 23 24# FIXME: Pidl should be doing this for us 25def toArray((handle, array, num_entries)): 26 ret = [] 27 for x in range(num_entries): 28 ret.append((array.entries[x].idx, array.entries[x].name)) 29 return ret 30 31 32class SamrTests(RpcInterfaceTestCase): 33 34 def setUp(self): 35 self.conn = samr.samr("ncalrpc:", self.get_loadparm()) 36 37 def test_connect5(self): 38 (level, info, handle) = self.conn.Connect5(None, 0, 1, samr.ConnectInfo1()) 39 40 def test_connect2(self): 41 handle = self.conn.Connect2(None, security.SEC_FLAG_MAXIMUM_ALLOWED) 42 43 def test_EnumDomains(self): 44 handle = self.conn.Connect2(None, security.SEC_FLAG_MAXIMUM_ALLOWED) 45 domains = toArray(self.conn.EnumDomains(handle, 0, -1)) 46 self.conn.Close(handle) 47 48