Example #1
0
 def test_inheritance(self):
     """
     Test the set_inheritance function
     Test the get_inheritance function
     """
     self.assertTrue(
         win_dacl.set_inheritance(
             obj_name=self.obj_name,
             enabled=True,
             obj_type=self.obj_type,
             clear=False,
         )
     )
     self.assertTrue(
         win_dacl.get_inheritance(obj_name=self.obj_name, obj_type=self.obj_type)
     )
     self.assertTrue(
         win_dacl.set_inheritance(
             obj_name=self.obj_name,
             enabled=False,
             obj_type=self.obj_type,
             clear=False,
         )
     )
     self.assertFalse(
         win_dacl.get_inheritance(obj_name=self.obj_name, obj_type=self.obj_type)
     )
Example #2
0
def test_present_perms_reset_no_inherit(reg_vars, clean):
    reg.present(
        name=reg_vars.name,
        vname=reg_vars.vname,
        vdata=reg_vars.vdata,
        win_perms={"Everyone": {
            "perms": "full_control"
        }},
        win_deny_perms={"Guest": {
            "perms": "full_control"
        }},
        win_perms_reset=True,
        win_inheritance=False,
    )
    permissions = win_dacl.get_permissions(obj_name=reg_vars.name,
                                           obj_type="registry")
    expected = {
        "Guest": {
            "deny": {
                "permissions": "Full Control",
                "applies to": "This key and subkeys",
            }
        },
        "Everyone": {
            "grant": {
                "permissions": "Full Control",
                "applies to": "This key and subkeys",
            }
        },
    }
    assert permissions["Not Inherited"] == expected
    assert not win_dacl.get_inheritance(obj_name=reg_vars.name,
                                        obj_type="registry")
    assert permissions["Inherited"] == {}
Example #3
0
def test_present_perms_no_inherit(reg_vars, clean):
    reg.present(
        name=reg_vars.name,
        vname=reg_vars.vname,
        vdata=reg_vars.vdata,
        win_inheritance=False,
    )
    assert not win_dacl.get_inheritance(obj_name=reg_vars.name,
                                        obj_type="registry")
    permissions = win_dacl.get_permissions(obj_name=reg_vars.name,
                                           obj_type="registry")
    assert permissions["Inherited"] == {}
Example #4
0
def test_get_set_inheritance(test_file):
    result = win_dacl.set_inheritance(
        obj_name=str(test_file),
        enabled=True,
        obj_type="file",
        clear=False,
    )
    assert result is True

    result = win_dacl.get_inheritance(obj_name=str(test_file), obj_type="file")
    assert result is True

    result = win_dacl.set_inheritance(
        obj_name=str(test_file),
        enabled=False,
        obj_type="file",
        clear=False,
    )
    assert result is True

    result = win_dacl.get_inheritance(obj_name=str(test_file), obj_type="file")
    assert result is False
Example #5
0
def test_get_set_inheritance(reg_key):
    result = win_dacl.set_inheritance(
        obj_name=reg_key,
        enabled=True,
        obj_type="registry",
        clear=False,
    )
    assert result is True

    result = win_dacl.get_inheritance(obj_name=reg_key, obj_type="registry")
    assert result is True

    result = win_dacl.set_inheritance(
        obj_name=reg_key,
        enabled=False,
        obj_type="registry",
        clear=False,
    )
    assert result is True

    result = win_dacl.get_inheritance(obj_name=reg_key, obj_type="registry")
    assert result is False
Example #6
0
def test_directory_new_no_inherit(tmp_path):
    """
    Test file.directory when the directory does not exist
    Should just return "New Dir"
    """
    path = os.path.join(tmp_path, "test")
    ret = file.directory(
        name=path,
        makedirs=True,
        win_perms={"Administrators": {"perms": "full_control"}},
        win_deny_perms={"Guest": {"perms": "full_control"}},
        win_inheritance=False,
    )
    expected = {path: {"directory": "new"}}
    assert ret["changes"] == expected
    assert not win_dacl.get_inheritance(path)
    permissions = win_dacl.get_permissions(path)
    assert permissions["Inherited"] == {}
Example #7
0
def test_directory_existing_no_inherit(tmp_path):
    path = str(tmp_path)
    ret = file.directory(
        name=path,
        makedirs=True,
        win_perms={"Everyone": {"perms": "full_control"}},
        win_deny_perms={"Guest": {"perms": ["write_data", "write_attributes"]}},
        win_inheritance=False,
    )
    expected = {
        "deny_perms": {"Guest": {"permissions": ["write_data", "write_attributes"]}},
        "grant_perms": {"Everyone": {"permissions": "full_control"}},
        "inheritance": False,
    }
    # We are checking these individually because sometimes it will return an
    # owner if it is running under the Administrator account
    assert ret["changes"]["deny_perms"] == expected["deny_perms"]
    assert ret["changes"]["grant_perms"] == expected["grant_perms"]
    assert ret["changes"]["inheritance"] == expected["inheritance"]
    assert not win_dacl.get_inheritance(path)
    permissions = win_dacl.get_permissions(path)
    assert permissions["Inherited"] == {}