diff options
Diffstat (limited to 'tests/test_json.py')
-rw-r--r-- | tests/test_json.py | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/tests/test_json.py b/tests/test_json.py new file mode 100644 index 000000000..ff56e8f5a --- /dev/null +++ b/tests/test_json.py @@ -0,0 +1,48 @@ +# -*- coding: utf-8 -*- + +from urllib import urlencode +from urllib2 import urlopen, HTTPError +from json import loads + +from logging import log + +url = "http://localhost:8001/api/%s" + +class TestJson: + + def call(self, name, post=None): + if not post: post = {} + post["session"] = self.key + u = urlopen(url % name, data=urlencode(post)) + return loads(u.read()) + + def setUp(self): + u = urlopen(url % "login", data=urlencode({"username": "TestUser", "password": "pwhere"})) + self.key = loads(u.read()) + assert self.key is not False + + def test_wronglogin(self): + u = urlopen(url % "login", data=urlencode({"username": "crap", "password": "wrongpw"})) + assert loads(u.read()) is False + + def test_access(self): + try: + urlopen(url % "getServerVersion") + except HTTPError, e: + assert e.code == 403 + else: + assert False + + def test_status(self): + ret = self.call("statusServer") + log(1, str(ret)) + assert "pause" in ret + assert "queue" in ret + + def test_unknown_method(self): + try: + self.call("notExisting") + except HTTPError, e: + assert e.code == 404 + else: + assert False
\ No newline at end of file |