Beispiel #1
0
def import_csv_data(request, data, graph_spaces, session, pytestconfig):
    data_dir = os.path.join(DATA_DIR, normalize_outline_scenario(request, data))
    space_desc = load_csv_data(
        session,
        data_dir,
        "I" + space_generator(),
    )
    assert space_desc is not None
    graph_spaces["space_desc"] = space_desc
    graph_spaces["drop_space"] = True
Beispiel #2
0
def given_nebulacluster_with_param(
    request,
    params,
    graphd_num,
    metad_num,
    storaged_num,
    class_fixture_variables,
    pytestconfig,
):
    graphd_param, metad_param, storaged_param = {}, {}, {}
    if params is not None:
        for param in params.splitlines():
            module, config = param.strip().split(":")
            assert module.lower() in ["graphd", "storaged", "metad"]
            key, value = config.strip().split("=")
            if module.lower() == "graphd":
                graphd_param[key] = value
            elif module.lower() == "storaged":
                storaged_param[key] = value
            else:
                metad_param[key] = value

    user = pytestconfig.getoption("user")
    password = pytestconfig.getoption("password")
    build_dir = pytestconfig.getoption("build_dir")
    src_dir = pytestconfig.getoption("src_dir")
    nebula_svc = NebulaService(
        build_dir,
        src_dir,
        int(metad_num),
        int(storaged_num),
        int(graphd_num),
    )
    for process in nebula_svc.graphd_processes:
        process.update_param(graphd_param)
    for process in nebula_svc.storaged_processes:
        process.update_param(storaged_param)
    for process in nebula_svc.metad_processes:
        process.update_param(metad_param)
    work_dir = os.path.join(
        build_dir,
        "C" + space_generator() +
        time.strftime('%Y-%m-%dT%H-%M-%S', time.localtime()),
    )
    nebula_svc.install(work_dir)
    nebula_svc.start()
    graph_ip = nebula_svc.graphd_processes[0].host
    graph_port = nebula_svc.graphd_processes[0].tcp_port
    # TODO add ssl pool if tests needed
    pool = get_conn_pool(graph_ip, graph_port, None)
    sess = pool.get_session(user, password)
    class_fixture_variables["current_session"] = sess
    class_fixture_variables["sessions"].append(sess)
    class_fixture_variables["cluster"] = nebula_svc
    class_fixture_variables["pool"] = pool
Beispiel #3
0
def clone_space(graph_spaces, session, request):
    space_desc = graph_spaces["space_desc"]
    current_space = space_desc._name
    new_space = "EmptyGraph_" + space_generator()
    space_desc._name = new_space
    resp_ok(session, space_desc.drop_stmt(), True)
    ngql = "create space " + new_space + " as " + current_space
    exec_query(request, ngql, session, graph_spaces)
    resp_ok(session, space_desc.use_stmt(), True)
    graph_spaces["space_desc"] = space_desc
    graph_spaces["drop_space"] = True
Beispiel #4
0
def import_csv_data(data, graph_spaces, session, pytestconfig):
    data_dir = os.path.join(DATA_DIR, data)
    space_desc = load_csv_data(
        pytestconfig,
        session,
        data_dir,
        "I" + space_generator(),
    )
    assert space_desc is not None
    graph_spaces["space_desc"] = space_desc
    graph_spaces["drop_space"] = True
Beispiel #5
0
def new_space(request, session, graph_spaces):
    name = "EmptyGraph_" + space_generator()
    space_desc = SpaceDesc(
        name=name,
        partition_num=9,
        replica_factor=1,
        vid_type="FIXED_STRING(30)",
        charset="utf8",
        collate="utf8_bin",
    )
    create_space(space_desc, session)
    graph_spaces["space_desc"] = space_desc
    graph_spaces["drop_space"] = True
Beispiel #6
0
def new_space(options, session, graph_spaces):
    lines = csv.reader(io.StringIO(options), delimiter="|")
    opts = {line[1].strip(): line[2].strip() for line in lines}
    name = "EmptyGraph_" + space_generator()
    space_desc = SpaceDesc(
        name=name,
        partition_num=int(opts.get("partition_num", 7)),
        replica_factor=int(opts.get("replica_factor", 1)),
        vid_type=opts.get("vid_type", "FIXED_STRING(30)"),
        charset=opts.get("charset", "utf8"),
        collate=opts.get("collate", "utf8_bin"),
    )
    create_space(space_desc, session)
    graph_spaces["space_desc"] = space_desc
    graph_spaces["drop_space"] = True