df943a11ba205d0aaaf24d1ca2eac6d2bf1a9fd7
[samba.git] / source4 / scripting / python / samba / tests / dcerpc / sam.py
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
21 from samba.dcerpc import samr, security
22 from samba.tests import RpcInterfaceTestCase
23
24 # FIXME: Pidl should be doing this for us
25 def 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
32 class SamrTests(RpcInterfaceTestCase):
33
34     def setUp(self):
35         super(SamrTests, self).setUp()
36         self.conn = samr.samr("ncalrpc:", self.get_loadparm())
37
38     def test_connect5(self):
39         (level, info, handle) = self.conn.Connect5(None, 0, 1, samr.ConnectInfo1())
40
41     def test_connect2(self):
42         handle = self.conn.Connect2(None, security.SEC_FLAG_MAXIMUM_ALLOWED)
43         self.assertTrue(handle is not None)
44
45     def test_EnumDomains(self):
46         handle = self.conn.Connect2(None, security.SEC_FLAG_MAXIMUM_ALLOWED)
47         domains = toArray(self.conn.EnumDomains(handle, 0, -1))
48         self.conn.Close(handle)
49