diff --git a/flaskr/__init__.py b/flaskr/__init__.py index 33779f8..ed7d989 100644 --- a/flaskr/__init__.py +++ b/flaskr/__init__.py @@ -8,7 +8,6 @@ def create_app(test_config=None): app.config.from_mapping( SECRET_KEY='dev', DATABASE=os.path.join(app.instance_path, 'flaskr.sqlite'), - ALLOW_REGISTER=True, ) app.wsgi_app = ProxyFix( diff --git a/flaskr/auth.py b/flaskr/auth.py index 6b95143..5874e97 100644 --- a/flaskr/auth.py +++ b/flaskr/auth.py @@ -1,7 +1,7 @@ import functools from flask import ( - Blueprint, flash, g, redirect, render_template, request, session, url_for, current_app + Blueprint, flash, g, redirect, render_template, request, session, url_for ) from werkzeug.security import check_password_hash, generate_password_hash @@ -11,8 +11,7 @@ bp = Blueprint('auth', __name__, url_prefix='/auth') @bp.route('/register', methods=('GET', 'POST')) def register(): - if not current_app.config["ALLOW_REGISTER"]: - return "Admin only", 403 + return "Admin only", 403 if request.method == 'POST': username = request.form['username'] password = request.form['password'] diff --git a/flaskr/blog.py b/flaskr/blog.py index 6bf9b55..523cfaf 100644 --- a/flaskr/blog.py +++ b/flaskr/blog.py @@ -28,23 +28,6 @@ def index(): posts.append(post) return render_template('blog/index.html', posts=posts) -@bp.route('/firehose') -def firehose(): - db = get_db() - db_posts = db.execute( - 'SELECT p.id, title, body, created, author_id, username' - ' FROM post p JOIN user u ON p.author_id = u.id' - ' ORDER BY created DESC' - ).fetchall() - posts = [] - for post in db_posts: - if post['created'] > datetime.datetime.utcnow(): - continue - post = dict(post) - post['body'] = markdown.markdown(post['body']) - posts.append(post) - return render_template('blog/firehose.html', posts=posts) - @bp.route('/create',methods=('GET', 'POST')) @login_required def create(): @@ -86,11 +69,6 @@ def get_post(id, check_author=True): return post -@bp.route('/') -def individual_post(id): - post = get_post(id, False) - return render_template('blog/post.html', post=post) - @bp.route('//update', methods=('GET', 'POST')) @login_required def update(id): diff --git a/flaskr/templates/base.html b/flaskr/templates/base.html index ae63dea..6c1d788 100644 --- a/flaskr/templates/base.html +++ b/flaskr/templates/base.html @@ -8,6 +8,9 @@ {% if g.user %}
  • {{ g.user['username'] }}
  • Log Out + {% else %} +
  • Register +
  • Log In {% endif %} diff --git a/flaskr/templates/blog/firehose.html b/flaskr/templates/blog/firehose.html deleted file mode 100644 index 21e3178..0000000 --- a/flaskr/templates/blog/firehose.html +++ /dev/null @@ -1,28 +0,0 @@ -{% extends 'base.html' %} - -{% block header %} -

    {% block title %}Posts{% endblock %}

    - {% if g.user %} - New - {% endif %} -{% endblock %} - -{% block content %} - {% for post in posts %} -
    -
    -
    -

    {{ post['title'] }}

    -
    by {{ post['username'] }} on {{ post['created'].strftime('%Y-%m-%d') }}
    -
    - {% if g.user['id'] == post['author_id'] %} - Edit - {% endif %} -
    -

    {{ post['body']|safe }}

    -
    - {% if not loop.last %} -
    - {% endif %} - {% endfor %} -{% endblock %} diff --git a/flaskr/templates/blog/index.html b/flaskr/templates/blog/index.html index 7f1e4e8..ffd9fbc 100644 --- a/flaskr/templates/blog/index.html +++ b/flaskr/templates/blog/index.html @@ -19,6 +19,7 @@ Edit {% endif %} +

    {{ post['body']|safe }}

    {% if not loop.last %}
    diff --git a/flaskr/templates/blog/post.html b/flaskr/templates/blog/post.html deleted file mode 100644 index c2a612c..0000000 --- a/flaskr/templates/blog/post.html +++ /dev/null @@ -1,19 +0,0 @@ -{% extends 'base.html' %} - -{% block header %} -

    {% block title %}{{ post['title'] }}{% endblock %}

    -{% endblock %} - -{% block content %} -
    -
    -
    -
    by {{ post['username'] }} on {{ post['created'].strftime('%Y-%m-%d') }}
    -
    - {% if g.user['id'] == post['author_id'] %} - Edit - {% endif %} -
    -

    {{ post['body']|safe }}

    -
    -{% endblock %} diff --git a/tests/conftest.py b/tests/conftest.py index 836a5ad..2db6e29 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -15,7 +15,6 @@ def app(): app = create_app({ 'TESTING': True, 'DATABASE': db_path, - 'ALLOW_REGISTER': True, }) with app.app_context(): diff --git a/tests/test_auth.py b/tests/test_auth.py index 1f45590..d9b9b9e 100644 --- a/tests/test_auth.py +++ b/tests/test_auth.py @@ -14,10 +14,6 @@ def test_register(client, app): "SELECT * FROM user WHERE USERNAME = 'a'", ).fetchone() is not None - app.config["ALLOW_REGISTER"] = False - response = client.get('/auth/register') - assert b"Admin only" in response.data - @pytest.mark.parametrize(('username', 'password', 'message'), ( ('', '', b'Username is required.'), ('a', '', b'Password is required.'), diff --git a/tests/test_blog.py b/tests/test_blog.py index 175e5b5..2479428 100644 --- a/tests/test_blog.py +++ b/tests/test_blog.py @@ -3,21 +3,8 @@ from flaskr.db import get_db def test_index(client, auth): response = client.get('/') - assert b"Log In" not in response.data - assert b"Register" not in response.data - - auth.login() - response = client.get('/') - assert b'Log Out' in response.data - assert b'test title' in response.data - assert b'by test on 2018-01-01' in response.data - assert b'test\nbody' not in response.data - assert b'href="/1/update"' in response.data - -def test_firehose(client, auth): - response = client.get('/') - assert b"Log In" not in response.data - assert b"Register" not in response.data + assert b"Log In" in response.data + assert b"Register" in response.data auth.login() response = client.get('/') @@ -27,12 +14,6 @@ def test_firehose(client, auth): assert b'test\nbody' in response.data assert b'href="/1/update"' in response.data -def test_individual_page(client, auth): - response = client.get('/1') - assert b'test title' in response.data - assert b'by test on 2018-01-01' in response.data - assert b'test\nbody' in response.data - @pytest.mark.parametrize('path', ( '/create', '/1/update', @@ -77,7 +58,7 @@ def test_create(client, auth, app): def test_update(client, auth, app): auth.login() assert client.get('/1/update').status_code == 200 - client.post('/1/update', data={'title': 'updated', 'body': '', 'created': '1970-01-01 00:00:00'}) + client.post('/1/update', data={'title': 'updated', 'body': ''}) with app.app_context(): db = get_db() @@ -90,7 +71,7 @@ def test_update(client, auth, app): )) def test_create_update_validate(client, auth, path): auth.login() - response = client.post(path, data={'title': '', 'body': '', 'created': '1970-01-01 00:00:00'}) + response = client.post(path, data={'title': '', 'body': ''}) assert b'Title is required.' in response.data def test_delete(client, auth, app):