def get_application_properties(topology, node, name):
    """Return a dictionary containing all the properties of an application
    deployed on a node

    Parameters
    ----------
    topology : Topology
        The topology
    node : any hashable type
        The ID of the node
    name : str
        The name of the application

    Returns
    -------
    applications : dict
        A dictionary containing the properties of the application
    """
    if 'application' not in topology.node[node]:
        raise ValueError('There is no such application deployed on the node')
    return topology.node[node]['application'][name]
