예제 #1
0
    def main_test():
        client = None
        global success_flag
        try:
            client = GraphClient(connection_pool)
            if client.is_none():
                print("ERROR: None client")
                success_flag = False
                return
            space_name = 'space_' + threading.current_thread().getName()
            resp = client.authenticate('user', 'password')
            if resp.error_code != 0:
                raise AuthException('Auth failed')

            client.execute('DROP SPACE %s' % space_name)
            resp = client.execute('CREATE SPACE %s' % space_name)
            if resp.error_code != 0:
                raise ExecutionException('CREATE SPACE failed')

            resp = client.execute('USE %s' % space_name)
            if resp.error_code != 0:
                raise ExecutionException('USE SPACE failed')

            client.sign_out()
        except Exception as x:
            print(x)
            client.sign_out()
            success_flag = False
            return
예제 #2
0
            g_ip = sys.argv[1]
            print('ip: %s' % g_ip)
            g_port = sys.argv[2]
            print('port: %s' % g_port)

        # init connection pool
        # if your tags or edges' num is more than 10,
        # please make sure conn_num >= max(tags_num, edges_num) * 2
        conn_num = 20
        connection_pool = ConnectionPool(g_ip, g_port, conn_num)

        clients = []
        for i in range(0, conn_num):
            client = GraphClient(connection_pool)
            client.authenticate('user', 'password')
            client.execute('USE test')
            clients.append(client)
        # Get client
        resp = clients[0].execute_query('SHOW TAGS')
        if resp.error_code:
            raise ExecutionException('SHOW TAGS failed')

        tag_list = []
        for row in resp.rows:
            tag_list.append(row.columns[1].get_str().decode('utf-8'))

        resp = clients[0].execute_query('SHOW EDGES')
        if resp.error_code:
            raise ExecutionException('SHOW EDGES failed')

        edge_list = []
예제 #3
0
def test_prepare():
    try:
        client = GraphClient(ConnectionPool(host, graph_port))
        if client is None:
            print('Error: None GraphClient')
            assert False
            return
        resp = client.authenticate('user', 'password')
        assert resp.error_code == 0, resp.error_msg
        resp = client.execute('DROP SPACE IF EXISTS %s' % space_name)
        assert resp.error_code == 0, resp.error_msg
        resp = client.execute('CREATE SPACE %s(partition_num=1)' % space_name)
        assert resp.error_code == 0, resp.error_msg
        time.sleep(5)
        resp = client.execute('USE %s' % space_name)
        assert resp.error_code == 0, resp.error_msg
        time.sleep(5)
        resp = client.execute(
            'CREATE TAG player(name string, age int, married bool)')
        assert resp.error_code == 0, resp.error_msg
        resp = client.execute('CREATE TAG team(name string, money double)')
        assert resp.error_code == 0, resp.error_msg
        resp = client.execute(
            'CREATE EDGE follow(degree double, likeness int)')
        assert resp.error_code == 0, resp.error_msg
        resp = client.execute(
            'CREATE EDGE serve(start timestamp, end timestamp)')
        assert resp.error_code == 0, resp.error_msg
        time.sleep(12)
        resp = client.execute(
            'INSERT VERTEX player(name, age, married) VALUES 101:(\'Bob\', 18, FALSE)'
        )
        assert resp.error_code == 0, resp.error_msg
        resp = client.execute(
            'INSERT VERTEX player(name, age, married) VALUES 102:(\'Tom\', 22, TRUE)'
        )
        assert resp.error_code == 0, resp.error_msg
        resp = client.execute(
            'INSERT VERTEX player(name, age, married) VALUES 103:(\'Jerry\', 19, FALSE)'
        )
        assert resp.error_code == 0, resp.error_msg
        resp = client.execute(
            'INSERT VERTEX team(name, money) VALUES 201:(\'Red Bull\', 185.85)'
        )
        assert resp.error_code == 0, resp.error_msg
        resp = client.execute(
            'INSERT VERTEX team(name, money) VALUES 202:(\'River\', 567.93)')
        assert resp.error_code == 0, resp.error_msg
        resp = client.execute(
            'INSERT EDGE follow(degree, likeness) VALUES 101->102:(94.7, 45)')
        assert resp.error_code == 0, resp.error_msg
        resp = client.execute(
            'INSERT EDGE follow(degree, likeness) VALUES 102->103:(86.3, 79)')
        assert resp.error_code == 0, resp.error_msg
        resp = client.execute(
            'INSERT EDGE serve(start, end) VALUES 101->201:(\'2001-09-01 08:00:00\', \'2010-09-01 08:00:00\')'
        )
        assert resp.error_code == 0, resp.error_msg
        resp = client.execute(
            'INSERT EDGE serve(start, end) VALUES 102->202:(\'1998-08-22 06:45:54\', \'2020-01-23 17:23:35\')'
        )
        assert resp.error_code == 0, resp.error_msg
        resp = client.execute(
            'INSERT EDGE serve(start, end) VALUES 103->201:(\'2006-11-18 13:28:29\', \'2009-12-12 12:21:46\')'
        )
        assert resp.error_code == 0, resp.error_msg
    except Exception as ex:
        print(ex)
        client.sign_out()
        assert False
예제 #4
0
파일: index.py 프로젝트: Sasasu/bgm-graph
def create_schema(client: GraphClient):
    resp = client.execute(SCHEMA)
    if resp.error_code != 0:
        print(f"schema create failure {resp.error_msg}")