def METHOD_NAME(topology_m4):
    log.info('Running test_ticket49180...')
    log.info('Check that replication works properly on all suppliers')
    agmt_nums = {"supplier1": ("2", "3", "4"),
                 "supplier2": ("1", "3", "4"),
                 "supplier3": ("1", "2", "4"),
                 "supplier4": ("1", "2", "3")}
    for inst_name, agmts in agmt_nums.items():
        for num in agmts:
            if not topology_m4.ms[inst_name].testReplication(DEFAULT_SUFFIX, topology_m4.ms["supplier{}".format(num)]):
                log.fatal(
                    'test_replication: Replication is not working between {} and supplier {}.'.format(inst_name,
                                                                                                    num))
                assert False
    # Disable supplier 4
    log.info('test_clean: disable supplier 4...')
    topology_m4.ms["supplier4"].replica.disableReplication(DEFAULT_SUFFIX)
    # Remove the agreements from the other suppliers that point to supplier 4
    remove_supplier4_agmts("test_clean", topology_m4)
    # Cleanup - restore supplier 4
    restore_supplier4(topology_m4)
    attr_errors = os.popen('egrep "attrlist_replace" %s  | wc -l' % topology_m4.ms["supplier1"].errlog)
    ecount = int(attr_errors.readline().rstrip())
    log.info("Errors found on m1: %d" % ecount)
    assert (ecount == 0)
    attr_errors = os.popen('egrep "attrlist_replace" %s  | wc -l' % topology_m4.ms["supplier2"].errlog)
    ecount = int(attr_errors.readline().rstrip())
    log.info("Errors found on m2: %d" % ecount)
    assert (ecount == 0)
    attr_errors = os.popen('egrep "attrlist_replace" %s  | wc -l' % topology_m4.ms["supplier3"].errlog)
    ecount = int(attr_errors.readline().rstrip())
    log.info("Errors found on m3: %d" % ecount)
    assert (ecount == 0)