@@ -212,3 +212,59 @@ checked val as expect: 111
212212checked val as expect: "foo"
213213checked val as expect: {"a":1}
214214checked val as expect:
215+
216+ === TEST 5: resty.etcd.v3 serializer
217+ --- http_config eval: $::HttpConfig
218+ --- config
219+ location /t {
220+ content_by_lua_block {
221+ local cjson = require("cjson.safe")
222+
223+ local etcd, err = require("resty.etcd.v3").new({
224+ timeout = 5,
225+ http_host = "http://127.0.0.1:2379",
226+ ttl = -1,
227+ api_prefix = "/v3",
228+ serializer = "raw"
229+ })
230+ check_res(etcd, err)
231+
232+ local res
233+ res, err = etcd:rmdir("/dir")
234+ check_res(res, err, nil, 200)
235+
236+ res, err = etcd:set("/dir/v3/a", '"foo"')
237+ check_res(res, err)
238+
239+ res, err = etcd:get("/dir/v3/a")
240+ check_res(res, err, '"foo"')
241+
242+ local s = cjson.encode({a = 1})
243+ res, err = etcd:setx("/dir/v3/a", s)
244+ check_res(res, err, nil, 200)
245+
246+ res, err = etcd:get("/dir/v3/a")
247+ check_res(res, err, s, 200)
248+
249+ res, err = etcd:setnx("/dir/v3/not_exist", "")
250+ check_res(res, err, nil, 200)
251+
252+ res, err = etcd:get("/dir/v3/not_exist")
253+ check_res(res, err, "", 200)
254+
255+ res, err = etcd:rmdir("/dir")
256+ check_res(res, err, nil, 200)
257+
258+ res, err = etcd:set("/dir/v3/b", 111)
259+ check_res(res, err)
260+ }
261+ }
262+ --- request
263+ GET /t
264+ --- no_error_log
265+ [error]
266+ --- response_body
267+ checked val as expect: "foo"
268+ checked val as expect: {"a":1}
269+ checked val as expect:
270+ err: unsupported type for number
0 commit comments