From e53f7ef34b9245c4fb83bf12dea5c4db3e486143 Mon Sep 17 00:00:00 2001 From: hakril Date: Thu, 2 Aug 2018 18:38:48 +0200 Subject: [PATCH] Added some test for windows.system.object_manager --- tests/test_object_manager.py | 44 ++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 tests/test_object_manager.py diff --git a/tests/test_object_manager.py b/tests/test_object_manager.py new file mode 100644 index 0000000..c55b098 --- /dev/null +++ b/tests/test_object_manager.py @@ -0,0 +1,44 @@ +import pytest +import windows + +from pfwtest import * + + +KNOWN_DIRECTORY_OBJECT = ("KnownDLLs", "\\KnownDLLs") + +objmanager = windows.system.object_manager + +@pytest.mark.parametrize("objname", KNOWN_DIRECTORY_OBJECT) +def test_directory_object(objname): + obj = objmanager[objname] + if "\\" not in objname: + assert obj.name == objname + else: + assert obj.fullname == objname + assert obj.type == "Directory" + assert obj.target is None + assert list(obj) + assert obj["kernel32.dll"] + assert obj.items() + assert obj.keys() + assert obj.values() + +@pytest.mark.parametrize("objname", KNOWN_DIRECTORY_OBJECT) +def test_multiple_access_type(objname): + assert objmanager[objname] + assert objmanager.root[objname] + + +def test_complex_object_path(): + obj = objmanager["\\KnownDLLs\\kernel32.dll"] + assert obj.name == "kernel32.dll" + assert obj.fullname == "\\KnownDLLs\\kernel32.dll" + assert obj.path == "\\KnownDLLs" + assert obj.type == "Section" + assert obj.target is None + + +def test_link_object(): + obj = objmanager["\\KnownDLLs\\KnownDLLPath"] + assert obj.type == "SymbolicLink" + assert obj.target.lower() == "c:\windows\system32" \ No newline at end of file