from pathlib import Path
import string
import random


def make_random_dir_path() -> Path:
    """ Creates a fully-qualified Path to a fake directory. The directory path is
    guarantee to begin with / and starts with no special characters other than /.
    The branch_depth of the path (ie /one/two/three has a depth of 3) is random and
    lies between 2 and 10 inclusive. Each node in the branch has between 1 and 10
    characters, which comprise upper- and lower-case characters and numbers. """
    characters = string.ascii_letters + string.digits
    branch_depth = random.randint(2, 10)
    dirs = []
    for _ in range(branch_depth):
        string_length = random.randint(1, 10)
        random_string = ''.join(random.choice(characters) for _ in range(string_length))
        dirs.append(random_string)
    dir_str = '/' + '/'.join(dirs)
    return Path(dir_str)