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]}