def unit_test_6():
    ctrl_be = CtrlBEDummy()
    ctrl_be.helper.content = ["#Start", "[mysql]", "port=3306"]
    cfg = wb_admin_config_file_be.ConfigFileSource((5, 1, 8), ctrl_be, profile)
    cfg.file_name = "dummy_name"
    cfg.parse_file_contents(ctrl_be.helper.content)

    ret = False

    opt = cfg.get_option("binlog-do-db")
    values = opt.get_values()
    values.append(option.Value("db1", True))
    values.append(option.Value("db2", True))
    opt.set_values(values)

    new_lines = cfg.generate_file_content()
    cfg = wb_admin_config_file_be.ConfigFileSource((5, 1, 8), ctrl_be, profile)
    cfg.file_name = "dummy_name"
    cfg.parse_file_contents(new_lines)

    ret = 'binlog-do-db = db2' in new_lines and 'binlog-do-db = db1' in new_lines

    new_lines = cfg.generate_file_content()
    ret = ret and 'binlog-do-db = db2' in new_lines and 'binlog-do-db = db1' in new_lines

    return (ret,
            "Adding multi-line option to non-empty file with missing [mysqld]")
def unit_test_10():
    ctrl_be = CtrlBEDummy()
    ctrl_be.helper.content = [
        "[mysqld]", "local-infile = 0", 'general-log-file="sdf1"',
        '#general_log_file="sdf2"', "replicate-ignore-db='data1'",
        "replicate-ignore-db='data2'", "replicate-ignore-db='data3'",
        "port=3306", "port=3307"
    ]
    cfg = wb_admin_config_file_be.ConfigFileSource((5, 1, 8), ctrl_be, profile)
    cfg.file_name = "dummy_name"
    cfg.parse_file_contents(ctrl_be.helper.content)

    ret = False

    opt = cfg.get_option("local-infile")
    (c, r, a) = opt.get_changeset()
    ret = len(c) == len(r) == len(a) == 0

    opt = cfg.get_option("tmpdir")
    values = opt.get_values()
    values.append(option.Value("", True))
    opt.set_values(values)

    #print cfg.generate_file_content()

    return (ret, "Testing cfg")
def unit_test_11():
    ctrl_be = CtrlBEDummy()
    ctrl_be.helper.content = [
        "[mysqld]", "local-infile = 0", 'general-log-file="sdf1"',
        '#general_log_file="sdf2"', "replicate-ignore-db='data1'",
        "replicate-ignore-db='data2'", "replicate-ignore-db='data3'",
        "port=3306", "port=3307"
    ]
    cfg = wb_admin_config_file_be.ConfigFileSource((5, 1, 8), ctrl_be, profile)
    cfg.file_name = "dummy_name"
    cfg.parse_file_contents(ctrl_be.helper.content)

    ret = False

    opt = cfg.get_option("skip-networking")
    opt.set_values([option.Value(None, True)])
    opt.set_values([option.Value(None, False)])
    (c, r, a) = opt.get_changeset()

    cont = cfg.generate_file_content()

    return (ret, "Testing cfg")
def unit_test_3():
    ctrl_be = CtrlBEDummy()
    ctrl_be.helper.content = ["#Start\n", "[mysqld]\n", "ansi\n"]
    cfg = wb_admin_config_file_be.ConfigFileSource((5, 1, 8), ctrl_be, profile)
    cfg.file_name = "dummy_name"
    cfg.parse_file_contents(ctrl_be.helper.content)

    ret = False

    opt = cfg.get_option("chroot")
    values = opt.get_values()
    values.append(option.Value("/var/ww/mydir", True))
    opt.set_values(values)

    new_lines = cfg.generate_file_content()
    cfg = wb_admin_config_file_be.ConfigFileSource((5, 1, 8), ctrl_be, profile)
    cfg.file_name = "dummy_name"
    cfg.parse_file_contents(new_lines)

    opt = cfg.get_option("chroot")
    ret = opt.get_values()[0].value == '"/var/ww/mydir"'

    return (ret, "Adding dirname/filename option")