def test_has_permissions_exact_contains(test_file): result = win_dacl.set_permissions( obj_name=str(test_file), principal="Backup Operators", permissions=["read_data", "write_data"], access_mode="grant", obj_type="file", reset_perms=False, protected=None, ) assert result is True # Test has_permissions exact result = win_dacl.has_permissions( obj_name=str(test_file), principal="Backup Operators", permissions=["read_data", "write_data"], access_mode="grant", obj_type="file", exact=True, ) assert result is True
def test_has_permission_missing(test_file): result = win_dacl.set_permissions( obj_name=str(test_file), principal="Backup Operators", permissions="read_execute", access_mode="grant", obj_type="file", reset_perms=False, protected=None, ) assert result is True # Test has_permission not exact result = win_dacl.has_permission( obj_name=str(test_file), principal="Backup Operators", permission="write", access_mode="grant", obj_type="file", exact=False, ) assert result is False
def test_has_permission_contains_advanced(test_file): result = win_dacl.set_permissions( obj_name=str(test_file), principal="Backup Operators", permissions="full_control", access_mode="grant", obj_type="file", reset_perms=False, protected=None, ) assert result is True # Test has_permission exact result = win_dacl.has_permission( obj_name=str(test_file), principal="Backup Operators", permission="read_data", access_mode="grant", obj_type="file", exact=False, ) assert result is True
def test_has_permission_contains_false(reg_key): result = win_dacl.set_permissions( obj_name=reg_key, principal="Backup Operators", permissions="read", access_mode="grant", obj_type="registry", reset_perms=False, protected=None, ) assert result is True # Test has_permission exact result = win_dacl.has_permission( obj_name=reg_key, principal="Backup Operators", permission="write", access_mode="grant", obj_type="registry", exact=False, ) assert result is False
def test_has_permission(self): """ Test the has_permission function """ self.assertTrue( win_dacl.set_permissions( obj_name=self.obj_name, principal="Backup Operators", permissions="full_control", access_mode="grant", obj_type=self.obj_type, reset_perms=False, protected=None, ) ) # Test has_permission exact self.assertTrue( win_dacl.has_permission( obj_name=self.obj_name, principal="Backup Operators", permission="full_control", access_mode="grant", obj_type=self.obj_type, exact=True, ) ) # Test has_permission contains self.assertTrue( win_dacl.has_permission( obj_name=self.obj_name, principal="Backup Operators", permission="read", access_mode="grant", obj_type=self.obj_type, exact=False, ) )
def test_directory_existing_reset(tmp_path): path = str(tmp_path) win_dacl.set_permissions( obj_name=path, principal="Guest", permissions=["write_data", "write_attributes"], access_mode="deny", reset_perms=True, ) ret = file.directory( name=path, makedirs=True, win_perms={"Everyone": { "perms": "full_control" }}, win_perms_reset=True, ) expected = { "grant_perms": { "Everyone": { "permissions": "full_control" } }, "remove_perms": { "Guest": { "deny": { "applies to": "This folder, subfolders and files", "permissions": ["Create files / write data", "Write attributes"], } } }, } # We are checking these individually because sometimes it will return an # owner if it is running under the Administrator account assert ret["changes"]["grant_perms"] == expected["grant_perms"] assert ret["changes"]["remove_perms"] == expected["remove_perms"] permissions = win_dacl.get_permissions(path) expected = { "Inherited": { "Administrators": { "grant": { "applies to": "This folder, subfolders and files", "permissions": "Full control", } }, "SYSTEM": { "grant": { "applies to": "This folder, subfolders and files", "permissions": "Full control", } }, CURRENT_USER: { "grant": { "applies to": "This folder, subfolders and files", "permissions": "Full control", } }, }, "Not Inherited": { "Everyone": { "grant": { "applies to": "This folder, subfolders and files", "permissions": "Full control", } }, }, } assert permissions == expected