diff options
Diffstat (limited to 'module/common/test_json.py')
| -rw-r--r-- | module/common/test_json.py | 48 | 
1 files changed, 48 insertions, 0 deletions
diff --git a/module/common/test_json.py b/module/common/test_json.py new file mode 100644 index 000000000..320a42d4f --- /dev/null +++ b/module/common/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  | 
