Rename get_test_app to get_app.
[mediagoblin.git] / mediagoblin / tests / test_messages.py
CommitLineData
9f094bea 1# GNU MediaGoblin -- federated, autonomous media hosting
cf29e8a8 2# Copyright (C) 2011, 2012 MediaGoblin contributors. See AUTHORS.
9f094bea
CFD
3#
4# This program is free software: you can redistribute it and/or modify
5# it under the terms of the GNU Affero General Public License as published by
6# the Free Software Foundation, either version 3 of the License, or
7# (at your option) any later version.
8#
9# This program is distributed in the hope that it will be useful,
10# but WITHOUT ANY WARRANTY; without even the implied warranty of
11# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12# GNU Affero General Public License for more details.
13#
14# You should have received a copy of the GNU Affero General Public License
15# along with this program. If not, see <http://www.gnu.org/licenses/>.
16
17from mediagoblin.messages import fetch_messages, add_message
1be247b3 18from mediagoblin.tests.tools import get_app
ae3bc7fa 19from mediagoblin.tools import template
9f094bea
CFD
20
21
b97144dc
SS
22
23def test_messages():
9f094bea
CFD
24 """
25 Added messages should show up in the request.session,
26 fetched messages should be the same as the added ones,
27 and fetching should clear the message list.
28 """
1be247b3 29 test_app = get_app(dump_old_app=False)
9f094bea
CFD
30 # Aquire a request object
31 test_app.get('/')
ae3bc7fa 32 context = template.TEMPLATE_TEST_CONTEXT['mediagoblin/root.html']
9f094bea 33 request = context['request']
b97144dc 34
9f094bea
CFD
35 # The message queue should be empty
36 assert request.session.get('messages', []) == []
b97144dc 37
9f094bea
CFD
38 # Adding a message should modify the session accordingly
39 add_message(request, 'herp_derp', 'First!')
40 test_msg_queue = [{'text': 'First!', 'level': 'herp_derp'}]
41 assert request.session['messages'] == test_msg_queue
b97144dc 42
9f094bea
CFD
43 # fetch_messages should return and empty the queue
44 assert fetch_messages(request) == test_msg_queue
45 assert request.session.get('messages') == []