|
@@ -17,12 +17,12 @@ defmodule Fd.Test do
|
|
ltop = Enum.at(kvs[:id1],0)
|
|
ltop = Enum.at(kvs[:id1],0)
|
|
dtop = Enum.at(kvs[:id0],0)
|
|
dtop = Enum.at(kvs[:id0],0)
|
|
ttop = Enum.at(kvs[:id2],0)
|
|
ttop = Enum.at(kvs[:id2],0)
|
|
- assert KVS.reader(feed: "/crm/luck", count: 10, dir: 0, args: [], cache: {:msg, ^ltop, "/crm/luck"}) = :kvs.reader("/crm/luck")
|
|
|
|
- assert KVS.reader(feed: "/crm/duck", count: 10, dir: 0, args: [], cache: {:msg, ^dtop, "/crm/duck"}) = :kvs.reader("/crm/duck")
|
|
|
|
- assert KVS.reader(feed: "/crm/truck", count: 10, dir: 0, args: [], cache: {:msg, ^ttop, "/crm/truck"}) = :kvs.reader("/crm/truck")
|
|
|
|
- assert KVS.reader(feed: "/crm", count: 0, dir: 0, args: [], cache: {:msg, ^dtop, "/crm/duck"}) = :kvs.reader("/crm")
|
|
|
|
- assert KVS.reader(feed: "/noroute", count: 0, dir: 0, args: []) = :kvs.reader("/noroute")
|
|
|
|
- assert KVS.reader(feed: "/", count: 0, dir: 0, args: [], cache: {:msg, ^dtop, "/crm/duck"}) = :kvs.reader("/")
|
|
|
|
|
|
+ assert KVS.reader(feed: "//crm/luck", count: 10, dir: 0, args: [], cache: {:msg, ^ltop, "//crm/luck"}) = :kvs.reader("/crm/luck")
|
|
|
|
+ assert KVS.reader(feed: "//crm/duck", count: 10, dir: 0, args: [], cache: {:msg, ^dtop, "//crm/duck"}) = :kvs.reader("/crm/duck")
|
|
|
|
+ assert KVS.reader(feed: "//crm/truck", count: 10, dir: 0, args: [], cache: {:msg, ^ttop, "//crm/truck"}) = :kvs.reader("/crm/truck")
|
|
|
|
+ assert KVS.reader(feed: "//crm", count: 0, dir: 0, args: [], cache: {:msg, ^dtop, "//crm/duck"}) = :kvs.reader("/crm")
|
|
|
|
+ assert KVS.reader(feed: "//noroute", count: 0, dir: 0, args: []) = :kvs.reader("/noroute")
|
|
|
|
+ assert KVS.reader(feed: "//", count: 0, dir: 0, args: [], cache: {:msg, ^dtop, "//crm/duck"}) = :kvs.reader("/")
|
|
assert KVS.reader(feed: "", count: 0, dir: 0, args: [], cache: []) = :kvs.reader([])
|
|
assert KVS.reader(feed: "", count: 0, dir: 0, args: [], cache: []) = :kvs.reader([])
|
|
end
|
|
end
|
|
|
|
|
|
@@ -31,31 +31,33 @@ defmodule Fd.Test do
|
|
dtop = Enum.at(kvs[:id0],0)
|
|
dtop = Enum.at(kvs[:id0],0)
|
|
lbot = Enum.at(kvs[:id1],9)
|
|
lbot = Enum.at(kvs[:id1],9)
|
|
|
|
|
|
- assert KVS.reader(feed: "/crm/luck", count: 10, dir: 0, args: [], cache: {:msg, ^ltop, "/crm/luck"}) = :kvs.top(:kvs.reader("/crm/luck"))
|
|
|
|
- assert KVS.reader(feed: "/crm", count: 0, dir: 0, args: [], cache: {:msg, ^dtop, "/crm/duck"}) = :kvs.top(:kvs.reader("/crm"))
|
|
|
|
- assert KVS.reader(feed: "/", count: 0, dir: 0, args: [], cache: {:msg, ^dtop, "/crm/duck"}) = :kvs.top(:kvs.reader("/"))
|
|
|
|
|
|
+ assert KVS.reader(feed: "//crm/luck", count: 10, dir: 0, args: [], cache: {:msg, ^ltop, "//crm/luck"}) = :kvs.top(:kvs.reader("/crm/luck"))
|
|
|
|
+ assert KVS.reader(feed: "//crm", count: 0, dir: 0, args: [], cache: {:msg, ^dtop, "//crm/duck"}) = :kvs.top(:kvs.reader("/crm"))
|
|
|
|
+ assert KVS.reader(feed: "//", count: 0, dir: 0, args: [], cache: {:msg, ^dtop, "//crm/duck"}) = :kvs.top(:kvs.reader("/"))
|
|
|
|
|
|
- assert KVS.reader(feed: "/crm/luck", count: 10, dir: 0, args: [], cache: {:msg, ^lbot, "/crm/luck"}) = :kvs.bot(:kvs.reader("/crm/luck"))
|
|
|
|
- assert KVS.reader(feed: "/crm", count: 0, dir: 0, args: [], cache: []) = :kvs.bot(:kvs.reader("/crm"))
|
|
|
|
- assert KVS.reader(feed: "/", count: 0, dir: 0, args: [], cache: []) = :kvs.bot(:kvs.reader("/"))
|
|
|
|
|
|
+ assert KVS.reader(feed: "//crm/luck", count: 10, dir: 0, args: [], cache: {:msg, ^lbot, "//crm/luck"}) = :kvs.bot(:kvs.reader("/crm/luck"))
|
|
|
|
+ assert KVS.reader(feed: "//crm", count: 0, dir: 0, args: [], cache: []) = :kvs.bot(:kvs.reader("/crm"))
|
|
|
|
+ assert KVS.reader(feed: "//", count: 0, dir: 0, args: [], cache: []) = :kvs.bot(:kvs.reader("/"))
|
|
end
|
|
end
|
|
|
|
|
|
test "next", kvs do
|
|
test "next", kvs do
|
|
last = msg(id: Enum.at(kvs[:id1],9))
|
|
last = msg(id: Enum.at(kvs[:id1],9))
|
|
- KVS.reader(id: rid) = :kvs.save(:kvs.top(:kvs.reader("/crm/luck")))
|
|
|
|
|
|
+ r0 = KVS.reader(id: rid) = :kvs.save(:kvs.top(:kvs.reader("/crm/luck")))
|
|
kvs[:id1] |> Enum.with_index
|
|
kvs[:id1] |> Enum.with_index
|
|
|> Enum.each(fn {id,9} ->
|
|
|> Enum.each(fn {id,9} ->
|
|
r = :kvs.load_reader(rid)
|
|
r = :kvs.load_reader(rid)
|
|
- assert r1 = KVS.reader(feed: "/crm/luck", cache: c1, count: 10, dir: 0, args: [^last]) = :kvs.next(r)
|
|
|
|
- assert KVS.reader(args: [], feed: "/crm/luck", cache: c1) = :kvs.save(r1)
|
|
|
|
|
|
+ r01 = :kvs.next(r)
|
|
|
|
+ assert r1 = KVS.reader(feed: "//crm/luck", cache: c1, count: 10, dir: 0, args: [^last]) = r01
|
|
|
|
+ assert KVS.reader(args: [], feed: "//crm/luck", cache: c1) = :kvs.save(r1)
|
|
{id,i} ->
|
|
{id,i} ->
|
|
v = msg(id: Enum.at(kvs[:id1],i))
|
|
v = msg(id: Enum.at(kvs[:id1],i))
|
|
c = Enum.at(kvs[:id1],i+1)
|
|
c = Enum.at(kvs[:id1],i+1)
|
|
r = :kvs.load_reader(rid)
|
|
r = :kvs.load_reader(rid)
|
|
- assert r1 = KVS.reader(feed: "/crm/luck", cache: {:msg,^c,"/crm/luck"}, count: 10, dir: 0, args: [^v]) = :kvs.next(r)
|
|
|
|
- assert KVS.reader(args: [], feed: "/crm/luck", cache: {:msg,^c,"/crm/luck"}) = :kvs.save(r1)
|
|
|
|
|
|
+ assert r1 = KVS.reader(feed: "//crm/luck", cache: {:msg,^c,"//crm/luck"}, count: 10, dir: 0, args: [^v]) = :kvs.next(r)
|
|
|
|
+ assert KVS.reader(args: [], feed: "//crm/luck", cache: {:msg,^c,"//crm/luck"}) = :kvs.save(r1)
|
|
end)
|
|
end)
|
|
r = :kvs.load_reader(rid)
|
|
r = :kvs.load_reader(rid)
|
|
|
|
+
|
|
assert r == :kvs.next(r)
|
|
assert r == :kvs.next(r)
|
|
assert r == KVS.reader(:kvs.next(:kvs.bot(r)), args: [])
|
|
assert r == KVS.reader(:kvs.next(:kvs.bot(r)), args: [])
|
|
end
|
|
end
|
|
@@ -68,14 +70,14 @@ defmodule Fd.Test do
|
|
|> Enum.each(fn {id,9} ->
|
|
|> Enum.each(fn {id,9} ->
|
|
r = :kvs.load_reader(rid)
|
|
r = :kvs.load_reader(rid)
|
|
v = msg(id: Enum.at(ids, 9))
|
|
v = msg(id: Enum.at(ids, 9))
|
|
- assert r1 = KVS.reader(feed: "/crm/luck", cache: {:msg, ^out, "/crm/duck"}, count: 10, args: [^v]) = :kvs.prev(r)
|
|
|
|
- assert KVS.reader(args: [], feed: "/crm/luck", cache: c1) = :kvs.save(r1)
|
|
|
|
|
|
+ assert r1 = KVS.reader(feed: "//crm/luck", cache: {:msg, ^out, "//crm/duck"}, count: 10, args: [^v]) = :kvs.prev(r)
|
|
|
|
+ assert KVS.reader(args: [], feed: "//crm/luck", cache: c1) = :kvs.save(r1)
|
|
{id,i} ->
|
|
{id,i} ->
|
|
r = :kvs.load_reader(rid)
|
|
r = :kvs.load_reader(rid)
|
|
v = msg(id: Enum.at(ids, i))
|
|
v = msg(id: Enum.at(ids, i))
|
|
c = Enum.at(ids, i+1)
|
|
c = Enum.at(ids, i+1)
|
|
- assert r1 = KVS.reader(feed: "/crm/luck", cache: {:msg, ^c, "/crm/luck"}, count: 10, args: [^v]) = :kvs.prev(r)
|
|
|
|
- assert KVS.reader(args: [], feed: "/crm/luck", cache: {:msg, ^c, "/crm/luck"}) = :kvs.save(r1)
|
|
|
|
|
|
+ assert r1 = KVS.reader(feed: "//crm/luck", cache: {:msg, ^c, "//crm/luck"}, count: 10, args: [^v]) = :kvs.prev(r)
|
|
|
|
+ assert KVS.reader(args: [], feed: "//crm/luck", cache: {:msg, ^c, "//crm/luck"}) = :kvs.save(r1)
|
|
end)
|
|
end)
|
|
r = :kvs.load_reader(rid)
|
|
r = :kvs.load_reader(rid)
|
|
assert r = :kvs.prev(r)
|
|
assert r = :kvs.prev(r)
|