|
|
@@ -1,3 +1,5 @@ |
|
|
|
# -*- coding: utf-8 -*- |
|
|
|
|
|
|
|
import nilmdb |
|
|
|
from nilmdb.utils.printf import * |
|
|
|
from nilmdb.client import ClientError, ServerError |
|
|
@@ -82,6 +84,8 @@ class TestClient(object): |
|
|
|
# Bad layout type |
|
|
|
with assert_raises(ClientError): |
|
|
|
client.stream_create("/newton/prep", "NoSuchLayout") |
|
|
|
|
|
|
|
# Create three streams |
|
|
|
client.stream_create("/newton/prep", "PrepData") |
|
|
|
client.stream_create("/newton/raw", "RawData") |
|
|
|
client.stream_create("/newton/zzz/rawnotch", "RawNotchedData") |
|
|
@@ -277,3 +281,40 @@ class TestClient(object): |
|
|
|
"end": "123" }, retjson=False) |
|
|
|
if "transfer-encoding: chunked" not in client.http._headers.lower(): |
|
|
|
warnings.warn("Non-chunked HTTP response for /stream/extract") |
|
|
|
|
|
|
|
def test_client_7_unicode(self): |
|
|
|
# Basic Unicode tests |
|
|
|
client = nilmdb.Client(url = "http://localhost:12380/") |
|
|
|
|
|
|
|
# Delete streams that exist |
|
|
|
for stream in client.stream_list(): |
|
|
|
client.stream_destroy(stream[0]) |
|
|
|
|
|
|
|
# Database is empty |
|
|
|
eq_(client.stream_list(), []) |
|
|
|
|
|
|
|
# Create Unicode stream, match it |
|
|
|
raw = [ u"/düsseldorf/raw", u"uint16_6" ] |
|
|
|
prep = [ u"/düsseldorf/prep", u"uint16_6" ] |
|
|
|
client.stream_create(*raw) |
|
|
|
eq_(client.stream_list(), [raw]) |
|
|
|
eq_(client.stream_list(layout=raw[1]), [raw]) |
|
|
|
eq_(client.stream_list(path=raw[0]), [raw]) |
|
|
|
client.stream_create(*prep) |
|
|
|
eq_(client.stream_list(), [prep, raw]) |
|
|
|
|
|
|
|
# Set / get metadata with Unicode keys and values |
|
|
|
eq_(client.stream_get_metadata(raw[0]), {}) |
|
|
|
eq_(client.stream_get_metadata(prep[0]), {}) |
|
|
|
meta1 = { u"alpha": u"α", |
|
|
|
u"β": u"beta" } |
|
|
|
meta2 = { u"alpha": u"α" } |
|
|
|
meta3 = { u"β": u"beta" } |
|
|
|
client.stream_set_metadata(prep[0], meta1) |
|
|
|
client.stream_update_metadata(prep[0], {}) |
|
|
|
client.stream_update_metadata(raw[0], meta2) |
|
|
|
client.stream_update_metadata(raw[0], meta3) |
|
|
|
eq_(client.stream_get_metadata(prep[0]), meta1) |
|
|
|
eq_(client.stream_get_metadata(raw[0]), meta1) |
|
|
|
eq_(client.stream_get_metadata(raw[0], [ "alpha" ]), meta2) |
|
|
|
eq_(client.stream_get_metadata(raw[0], [ "alpha", "β" ]), meta1) |