37 lines
1.0 KiB
Python
37 lines
1.0 KiB
Python
from nose.tools import *
|
|
from nose.tools import assert_raises
|
|
from testutil.helpers import *
|
|
|
|
import io
|
|
import os
|
|
import sys
|
|
import time
|
|
|
|
import nilmdb.server
|
|
import webtest
|
|
|
|
testdb = "tests/testdb"
|
|
|
|
# Test WSGI interface
|
|
|
|
class TestWSGI(object):
|
|
def test_wsgi(self):
|
|
|
|
# Bad database gives debug info
|
|
app = webtest.TestApp(nilmdb.server.wsgi_application("/dev/null", "/"))
|
|
resp = app.get('/', expect_errors=True)
|
|
eq_(resp.status_int, 500)
|
|
eq_(resp.content_type, "text/plain")
|
|
body = resp.body.decode('utf-8')
|
|
in_("Initializing database at path '/dev/null' failed", body)
|
|
in_("Not a directory: b'/dev/null/data'", body)
|
|
in_("Running as: uid=", body)
|
|
in_("Environment:", body)
|
|
|
|
# Good database works fine
|
|
app = webtest.TestApp(nilmdb.server.wsgi_application(testdb, "/nilmdb"))
|
|
resp = app.get('/version', expect_errors=True)
|
|
eq_(resp.status_int, 404)
|
|
resp = app.get('/nilmdb/version')
|
|
eq_(resp.json, nilmdb.__version__)
|