def METHOD_NAME(topo):
    """Write your testcase here...
    Also, if you need any testcase initialization,
    please, write additional fixture for that(include finalizer).
    """
    topo.standalone.plugins.enable(name=PLUGIN_MEMBER_OF)
    topo.standalone.restart(timeout=10)
    #
    #  create some users and a group
    #
    log.info('create users and group...')
    for idx in range(1, 5):
        try:
            USER_DN = ("uid=member%d,%s" % (idx, DEFAULT_SUFFIX))
            topo.standalone.add_s(Entry((USER_DN,
                                          {'objectclass': 'top extensibleObject'.split(),
                                           'uid': 'member%d' % (idx)})))
        except ldap.LDAPError as e:
            log.fatal('Failed to add user (%s): error %s' % (USER_DN, e.args[0]['desc']))
            assert False
    # add all users in GROUP_DN_1 and checks each users is memberof GROUP_DN_1
    _add_group_with_members(topo, GROUP_DN_1)
    for idx in range(1, 5):
        USER_DN = ("uid=member%d,%s" % (idx, DEFAULT_SUFFIX))
        _check_memberof(topo, member=USER_DN, memberof=True, group_dn=GROUP_DN_1 )
    # add all users in GROUP_DN_2 and checks each users is memberof GROUP_DN_2
    _add_group_with_members(topo, GROUP_DN_2)
    for idx in range(1, 5):
        USER_DN = ("uid=member%d,%s" % (idx, DEFAULT_SUFFIX))
        _check_memberof(topo, member=USER_DN, memberof=True, group_dn=GROUP_DN_2 )
    # add the level 2, 3 and 4 group
    for super_grp in (SUPER_GRP1, SUPER_GRP2, SUPER_GRP3):
        topo.standalone.add_s(Entry((super_grp,
                                          {'objectclass': 'top groupofnames extensibleObject'.split(),
                                           'cn': 'super_grp'})))
    topo.standalone.modify_s(SUPER_GRP1,
                                      [(ldap.MOD_ADD,
                                        'member',
                                        ensure_bytes(GROUP_DN_1)),
                                        (ldap.MOD_ADD,
                                        'member',
                                        ensure_bytes(GROUP_DN_2))])
    topo.standalone.modify_s(SUPER_GRP2,
                                      [(ldap.MOD_ADD,
                                        'member',
                                        ensure_bytes(GROUP_DN_1)),
                                        (ldap.MOD_ADD,
                                        'member',
                                        ensure_bytes(GROUP_DN_2))])
    return
    topo.standalone.delete_s(GROUP_DN_2)
    for idx in range(1, 5):
        USER_DN = ("uid=member%d,%s" % (idx, DEFAULT_SUFFIX))
        _check_memberof(topo, member=USER_DN, memberof=True, group_dn=GROUP_DN_1 )
        _check_memberof(topo, member=USER_DN, memberof=False, group_dn=GROUP_DN_2 )
    if DEBUGGING:
        # Add debugging steps(if any)...
        pass