3 # Unix SMB/CIFS implementation.
4 # Copyright (C) Jelmer Vernooij <jelmer@samba.org> 2008
6 # This program is free software; you can redistribute it and/or modify
7 # it under the terms of the GNU General Public License as published by
8 # the Free Software Foundation; either version 3 of the License, or
9 # (at your option) any later version.
11 # This program is distributed in the hope that it will be useful,
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 # GNU General Public License for more details.
16 # You should have received a copy of the GNU General Public License
17 # along with this program. If not, see <http://www.gnu.org/licenses/>.
20 """Tests for samba.dcerpc.registry."""
22 from samba
.dcerpc
import winreg
23 from samba
.tests
import RpcInterfaceTestCase
26 class WinregTests(RpcInterfaceTestCase
):
29 super(WinregTests
, self
).setUp()
30 self
.conn
= winreg
.winreg("ncalrpc:", self
.get_loadparm(),
31 self
.get_credentials())
34 return self
.conn
.OpenHKLM(None,
35 winreg
.KEY_QUERY_VALUE | winreg
.KEY_ENUMERATE_SUB_KEYS
)
38 handle
= self
.conn
.OpenHKLM(None,
39 winreg
.KEY_QUERY_VALUE | winreg
.KEY_ENUMERATE_SUB_KEYS
)
40 self
.conn
.CloseKey(handle
)
42 def test_getversion(self
):
43 handle
= self
.get_hklm()
44 version
= self
.conn
.GetVersion(handle
)
45 self
.assertEquals(int, version
.__class
__)
46 self
.conn
.CloseKey(handle
)
48 def test_getkeyinfo(self
):
49 handle
= self
.conn
.OpenHKLM(None,
50 winreg
.KEY_QUERY_VALUE | winreg
.KEY_ENUMERATE_SUB_KEYS
)
51 x
= self
.conn
.QueryInfoKey(handle
, winreg
.String())
52 self
.assertEquals(9, len(x
)) # should return a 9-tuple
53 self
.conn
.CloseKey(handle
)