8
8
import time
9
9
import json
10
10
11
- from nebula3 .gclient .net import ConnectionPool
11
+ from nebula3 .gclient .net import ConnectionPool , ExecuteError
12
12
from nebula3 .Config import Config
13
13
from nebula3 .common import *
14
14
from unittest import TestCase
@@ -94,18 +94,6 @@ def test_parameter(self):
94
94
assert False == resp .row_values (0 )[1 ].as_bool ()
95
95
assert "bob1" == resp .row_values (0 )[2 ].as_string ()
96
96
97
- # same test with premitive params
98
- resp = client .execute_py_params (
99
- "RETURN abs($p1)+3 AS col1, (toBoolean($p2) and false) AS col2, toLower($p3)+1 AS col3" ,
100
- self .params_premitive ,
101
- )
102
- assert resp .is_succeeded (), resp .error_msg ()
103
- assert 1 == resp .row_size ()
104
- names = ["col1" , "col2" , "col3" ]
105
- assert names == resp .keys ()
106
- assert 6 == resp .row_values (0 )[0 ].as_int ()
107
- assert False == resp .row_values (0 )[1 ].as_bool ()
108
- assert "bob1" == resp .row_values (0 )[2 ].as_string ()
109
97
# test cypher parameter
110
98
resp = client .execute_parameter (
111
99
f"""MATCH (v:person)--() WHERE v.person.age>abs($p1)+3
@@ -126,21 +114,11 @@ def test_parameter(self):
126
114
self .params ,
127
115
)
128
116
assert not resp .is_succeeded ()
129
- resp = client .execute_py_params (
130
- '$p1=go from "Bob" over like yield like._dst;' ,
131
- self .params_premitive ,
132
- )
133
- assert not resp .is_succeeded ()
134
117
resp = client .execute_parameter (
135
118
"go from $p3 over like yield like._dst;" ,
136
119
self .params ,
137
120
)
138
121
assert not resp .is_succeeded ()
139
- resp = client .execute_py_params (
140
- "go from $p3 over like yield like._dst;" ,
141
- self .params_premitive ,
142
- )
143
- assert not resp .is_succeeded ()
144
122
resp = client .execute_parameter (
145
123
"fetch prop on person $p3 yield vertex as v" ,
146
124
self .params ,
@@ -162,12 +140,39 @@ def test_parameter(self):
162
140
)
163
141
assert not resp .is_succeeded ()
164
142
165
- resp = client .execute_py_params (
143
+ # same test with premitive params
144
+ resp = client .execute_py (
145
+ "RETURN abs($p1)+3 AS col1, (toBoolean($p2) and false) AS col2, toLower($p3)+1 AS col3" ,
146
+ self .params_premitive ,
147
+ ).as_primitive ()
148
+ assert 1 == len (resp )
149
+ assert ["col1" , "col2" , "col3" ] == list (resp [0 ].keys ())
150
+ assert resp [0 ]["col1" ] == 6
151
+ assert resp [0 ]["col2" ] == False
152
+ assert resp [0 ]["col3" ] == "bob1"
153
+ try :
154
+ resp = client .execute_py (
155
+ '$p1=go from "Bob" over like yield like._dst;' ,
156
+ self .params_premitive ,
157
+ )
158
+ except ExecuteError :
159
+ pass
160
+ else :
161
+ raise AssertionError ("should raise exception" )
162
+ try :
163
+ resp = client .execute_py (
164
+ "go from $p3 over like yield like._dst;" ,
165
+ self .params_premitive ,
166
+ )
167
+ except ExecuteError :
168
+ pass
169
+ else :
170
+ raise AssertionError ("should raise exception" )
171
+ resp = client .execute_py (
166
172
"MATCH (v) WHERE id(v) in $p4 RETURN id(v) AS vertex_id" ,
167
173
self .params_premitive ,
168
- )
169
- assert resp .is_succeeded (), resp .error_msg ()
170
- assert 2 == resp .row_size ()
174
+ ).as_primitive ()
175
+ assert 2 == len (resp )
171
176
172
177
def tearDown (self ) -> None :
173
178
client = self .pool .get_session ("root" , "nebula" )
0 commit comments