Source code for tests.test_pythonie
import json
import pytest
import pythonie
@pytest.fixture
[docs]def app():
"""Sets up and returns the app
"""
app = pythonie.app.test_client()
pythonie.app.config['TESTING'] = True
pythonie.app.config['DATABASE'] = "sqlite://"
return app
[docs]def test_index(app):
response = app.get("/")
assert response.status_code == 200
assert "Hello World" in response.data
[docs]def test_blueprints(app):
response = app.get("/blueprints/")
assert response.status_code == 200
assert "Hello from a blueprint" in response.data
[docs]def test_templates(app):
response = app.get("/templates/")
assert response.status_code == 200
assert "<h1>Hello from a template</h1>" in response.data
response = app.get("/templates/mick")
assert response.status_code == 200
assert "<h1>Hello mick</h1>" in response.data
[docs]def test_signals(app):
response = app.get("/signals/")
assert response.status_code == 403
response = app.get("/signals/?password=sekret")
assert response.status_code == 200
assert json.loads(response.data) == {"message": "You got here!", "password": "sekret"}
response = app.get("/signals/not.json?password=sekret")
assert response.status_code == 500
assert json.loads(response.data) == {"error": "Not json"}
[docs]def test_database(app):
response = app.get("/database/")
assert response.status_code == 200
assert json.loads(response.data) == {"books": []}
info = {"title": "my book", "description": "a description"}
response = app.post("/database/add/", data=info)
assert response.status_code == 302
response = app.get("/database/")
assert json.loads(response.data) == {"books": [info]}