def test_splitparts():
    """
    Check that distinguished names are split correctly
    """
    dnparts = splitparts("SubNetwork=NL1_R,SubNetwork=AHPTUR1,MeContext=AHPTUR1,ManagedElement=1,RncFunction=1,UeRc=9")
    assert_equal(dnparts[0], "SubNetwork=NL1_R")
    assert_equal(len(dnparts), 6)
    assert_equal(dnparts[5], "UeRc=9")

    dnparts = splitparts("Word=asdf,Writer=qwerty\\,dvorak,Reader=Unicode")
    assert_equal(dnparts[0], "Word=asdf")
    assert_equal(len(dnparts), 3)
    assert_equal(dnparts[2], "Reader=Unicode")
예제 #2
0
def create_entity(conn, dn):
    """
    :param conn: A psycopg2 connection to a Minerva Directory database.
    :param dn: The distinguished name of the entity.
    """
    dnparts = splitparts(dn)

    if len(dnparts) == 0:
        raise Exception("Invalid DN: '{0}'".format(dn))

    with closing(conn.cursor()) as cursor:
        entity = helpers_v4.create_entity(cursor, dn)

    conn.commit()

    return entity