1#!/usr/bin/python 2 3# Unix SMB/CIFS implementation. 4# Copyright (C) Jelmer Vernooij <jelmer@samba.org> 2008 5# 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. 10# 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. 15# 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/>. 18# 19 20from samba.dcerpc import winreg 21from samba.tests import RpcInterfaceTestCase 22 23 24class WinregTests(RpcInterfaceTestCase): 25 26 def setUp(self): 27 self.conn = winreg.winreg("ncalrpc:", self.get_loadparm(), 28 self.get_credentials()) 29 30 def get_hklm(self): 31 return self.conn.OpenHKLM(None, 32 winreg.KEY_QUERY_VALUE | winreg.KEY_ENUMERATE_SUB_KEYS) 33 34 def test_hklm(self): 35 handle = self.conn.OpenHKLM(None, 36 winreg.KEY_QUERY_VALUE | winreg.KEY_ENUMERATE_SUB_KEYS) 37 self.conn.CloseKey(handle) 38 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) 44 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) 51