Packages
kvs
8.12.0
13.5.22-aleph
13.4.16
13.4.15
13.4.14
13.4.13
13.3.1
13.2.28
11.9.1
10.8.3
10.8.2
10.3.0
9.9.2
9.9.1
9.9.0
9.8.0
9.7.0
9.4.8
9.4.7
9.4.6
9.4.5
9.4.4
9.4.3
9.4.2
9.4.1
9.4.0
8.12.0
8.11.2
8.11.1
8.10.4
8.10.3
8.10.2
8.10.1
8.10.0
8.5.2
8.5.1
8.5.0
8.4.1
8.4.0
8.3.1
8.3.0
7.11.5
7.9.1
7.7.0
7.1.3
7.1.2
7.1.1
6.12.11
6.12.10
6.12.9
6.12.8
6.12.7
6.12.6
6.12.5
6.12.4
6.12.3
6.12.2
6.12.1
6.12.0
6.11.2
6.11.1
6.11.0
6.10.2
6.10.1
6.10.0
6.9.2
6.9.1
6.9.0
6.7.7
6.7.6
6.7.5
6.7.4
6.7.3
6.7.2
6.7.1
6.7.0
6.6.0
2.1.0
0.12.1
retired
KVS Key-Value Store Abstraction Layer
Current section
Files
Jump to
Current section
Files
test/sc_test.exs
ExUnit.start()
defmodule Sc.Test do
use ExUnit.Case, async: false
require KVS
import Record
@moduledoc """
refined old scenarios
"""
defrecord(:msg, id: [], body: [])
setup do: (on_exit(fn -> :ok = :kvs.leave();:ok = :kvs.destroy() end);:kvs.join())
setup kvs, do: [
id0: :lists.map(fn _ -> :kvs.append(msg(id: :kvs.seq([],[])), "/crm/duck") end, :lists.seq(1,10)),
id1: :lists.map(fn _ -> :kvs.append(msg(id: :kvs.seq([],[])), "/crm/luck") end, :lists.seq(1,10)),
id2: :lists.map(fn _ -> :kvs.append(msg(id: :kvs.seq([],[])), "/crm/truck") end, :lists.seq(1,10)),
id3: :lists.map(fn _ -> :kvs.save(:kvs.add(KVS.writer(:kvs.writer(:sym),
args: msg(id: :kvs.seq([],[]))))) end, :lists.seq(1,10))]
test "basic", kvs do
KVS.reader(id: rid1) = :kvs.save(:kvs.reader("/crm/luck"))
KVS.reader(id: rid2) = :kvs.save(:kvs.reader("/crm/truck"))
x1 = :kvs.take(KVS.reader(:kvs.load_reader(rid1), args: 20))
x2 = :kvs.take(KVS.reader(:kvs.load_reader(rid2), args: 20))
b = :kvs.feed("/crm/luck")
assert 10 == length(b)
assert :kvs.all("/crm/truck") == KVS.reader(x2, :args)
assert KVS.reader(x1, :args) == b
assert length(KVS.reader(x1, :args)) == length(KVS.reader(x2, :args))
end
test "sym",kvs do
KVS.writer(args: last) = Enum.at(kvs[:id3],-1)
{:ok, KVS.writer(id: :sym, count: 10, cache: last)} = :kvs.get(:writer, :sym)
end
test "take back full" do
feed = "/crm/duck"
KVS.reader(id: rid) = :kvs.save(:kvs.reader(feed))
t = KVS.reader(args: a1) = :kvs.take(KVS.reader(:kvs.load_reader(rid), args: 10))
assert a1 == :kvs.feed(feed)
:kvs.save(KVS.reader(t, dir: 1))
KVS.reader(args: a2) = :kvs.take(KVS.reader(:kvs.load_reader(rid), args: 10))
assert :lists.reverse(a2) == :kvs.feed(feed)
end
test "partial take back" do
KVS.reader(id: rid) = :kvs.save(:kvs.reader("/crm/luck"))
r = KVS.reader(args: t) = :kvs.take(KVS.reader(:kvs.load_reader(rid), args: 2))
:kvs.save(KVS.reader(r, dir: 1))
KVS.reader(args: n) = :kvs.take(KVS.reader(:kvs.load_reader(rid), args: 3))
assert :lists.reverse(t) == tl(n)
end
defp log(x), do: IO.puts '#{inspect(x)}'
defp log(m, x), do: IO.puts '#{m} #{inspect(x)}'
end