#!/bin/sh

. ./_testcase

POST /databases/${DB}/trees/treename/item/zzz z-value
GET /databases/${DB}/trees/treename/item/zzz
Assert '{"item": "z-value"}'

GET /databases/${DB}/trees/treename
Assert '{"items": [["zzz","z-value"]]}'

GET /databases/${DB}/trees/treename\?values=all
Assert '{"items": [["zzz","z-value"]]}'

GET /databases/${DB}/trees/treename\?values=keys
Assert '{"items": ["zzz"]}'

GET /databases/${DB}/trees/treename\?values=values
Assert '{"items": ["z-value"]}'

# Add another item

POST /databases/${DB}/trees/treename/item/aaa zzzz-value
GET /databases/${DB}/trees/treename/item/aaa
Assert '{"item": "zzzz-value"}'

GET /databases/${DB}/trees/treename
Assert '{"items": [["aaa","zzzz-value"],["zzz","z-value"]]}'

GET /databases/${DB}/trees/treename\?values=all
Assert '{"items": [["aaa","zzzz-value"],["zzz","z-value"]]}'

GET /databases/${DB}/trees/treename\?values=keys
Assert '{"items": ["aaa","zzz"]}'

GET /databases/${DB}/trees/treename\?values=values
Assert '{"items": ["zzzz-value","z-value"]}'

# Checkout counts

GET /databases/${DB}/trees/treename/count
Assert '{"count": 2}'

GET /databases/${DB}/trees/treename/count\?values=all
Assert '{"count": 2}'

GET /databases/${DB}/trees/treename/count\?values=keys
Assert '{"count": 2}'

GET /databases/${DB}/trees/treename/count\?values=keys
Assert '{"count": 2}'
