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 from samba
.dcerpc
import winreg
22 from samba
.tests
import RpcInterfaceTestCase
25 class WinregTests(RpcInterfaceTestCase
):
27 self
.conn
= winreg
.winreg("ncalrpc:", self
.get_loadparm(),
28 self
.get_credentials())
31 return self
.conn
.OpenHKLM(None,
32 winreg
.KEY_QUERY_VALUE | winreg
.KEY_ENUMERATE_SUB_KEYS
)
35 handle
= self
.conn
.OpenHKLM(None,
36 winreg
.KEY_QUERY_VALUE | winreg
.KEY_ENUMERATE_SUB_KEYS
)
37 self
.conn
.CloseKey(handle
)
39 def test_getversion(self
):
40 handle
= self
.get_hklm()
41 version
= self
.conn
.GetVersion(handle
)
42 self
.assertEquals(int, version
.__class
__)
43 self
.conn
.CloseKey(handle
)
45 def test_getkeyinfo(self
):
46 handle
= self
.conn
.OpenHKLM(None,
47 winreg
.KEY_QUERY_VALUE | winreg
.KEY_ENUMERATE_SUB_KEYS
)
48 x
= self
.conn
.QueryInfoKey(handle
, winreg
.String())
49 self
.assertEquals(9, len(x
)) # should return a 9-tuple
50 self
.conn
.CloseKey(handle
)