コード例 #1
0
def test_create_restricted(monkeypatch):
    resp = app.get('/admincontrol/siteupdate')
    assert resp.html.find(id='error_content').contents[0].strip() == errorcode.unsigned
    resp = app.post('/admincontrol/siteupdate', _FORM)
    assert resp.html.find(id='error_content').contents[0].strip() == errorcode.unsigned

    user = db_utils.create_user()
    cookie = db_utils.create_session(user)

    resp = app.get('/admincontrol/siteupdate', headers={'Cookie': cookie})
    assert resp.html.find(id='error_content').p.string == errorcode.permission
    resp = app.post('/admincontrol/siteupdate', _FORM, headers={'Cookie': cookie})
    assert resp.html.find(id='error_content').p.string == errorcode.permission

    monkeypatch.setattr(staff, 'TECHNICAL', frozenset([user]))
    monkeypatch.setattr(staff, 'MODS', frozenset([user]))

    resp = app.get('/admincontrol/siteupdate', headers={'Cookie': cookie})
    assert resp.html.find(id='error_content').p.string == errorcode.permission
    resp = app.post('/admincontrol/siteupdate', _FORM, headers={'Cookie': cookie})
    assert resp.html.find(id='error_content').p.string == errorcode.permission

    monkeypatch.setattr(staff, 'ADMINS', frozenset([user]))

    resp = app.get('/admincontrol/siteupdate', headers={'Cookie': cookie})
    assert resp.html.find(id='error_content') is None
コード例 #2
0
def test_edit_restricted(monkeypatch, site_updates):
    _, updates = site_updates

    resp = app.get('/site-updates/%d/edit' % (updates[-1].updateid,))
    assert resp.html.find(id='error_content').contents[0].strip() == errorcode.unsigned
    resp = app.post('/site-updates/%d' % (updates[-1].updateid,), _FORM)
    assert resp.html.find(id='error_content').contents[0].strip() == errorcode.unsigned

    user = db_utils.create_user()
    cookie = db_utils.create_session(user)

    resp = app.get('/site-updates/%d/edit' % (updates[-1].updateid,), headers={'Cookie': cookie})
    assert resp.html.find(id='error_content').p.string == errorcode.permission
    resp = app.post('/site-updates/%d' % (updates[-1].updateid,), _FORM, headers={'Cookie': cookie})
    assert resp.html.find(id='error_content').p.string == errorcode.permission

    monkeypatch.setattr(staff, 'TECHNICAL', frozenset([user]))
    monkeypatch.setattr(staff, 'MODS', frozenset([user]))

    resp = app.get('/site-updates/%d/edit' % (updates[-1].updateid,), headers={'Cookie': cookie})
    assert resp.html.find(id='error_content').p.string == errorcode.permission
    resp = app.post('/site-updates/%d' % (updates[-1].updateid,), _FORM, headers={'Cookie': cookie})
    assert resp.html.find(id='error_content').p.string == errorcode.permission

    monkeypatch.setattr(staff, 'ADMINS', frozenset([user]))

    resp = app.get('/site-updates/%d/edit' % (updates[-1].updateid,), headers={'Cookie': cookie})
    assert resp.html.find(id='error_content') is None
コード例 #3
0
def test_list(monkeypatch, site_updates):
    _, updates = site_updates
    resp = app.get('/site-updates/')
    assert len(resp.html.findAll(None, 'text-post-item')) == 3
    assert resp.html.find(None, 'text-post-actions') is None
    assert len(resp.html.findAll(None, 'text-post-group-header')) == 1

    user = db_utils.create_user()
    cookie = db_utils.create_session(user)
    monkeypatch.setattr(staff, 'ADMINS', frozenset([user]))
    resp = app.get('/site-updates/', headers={'Cookie': cookie})
    assert len(resp.html.findAll(None, 'text-post-item')) == 3
    assert resp.html.find(None, 'text-post-actions').a['href'] == '/site-updates/%d/edit' % (updates[-1].updateid,)
コード例 #4
0
ファイル: test_journals.py プロジェクト: TheAnalyzer/weasyl
def test_list_guest():
    resp = app.get('/journals/journal_test')
    titles = [
        link.string
        for link in resp.html.find(id='journals-content').find_all('a')
    ]
    assert titles == [u'Public journal', u'Test journal']
コード例 #5
0
ファイル: test_journals.py プロジェクト: TheAnalyzer/weasyl
def test_profile_friend(journal_user):
    user = db_utils.create_user()
    cookie = db_utils.create_session(user)
    db_utils.create_friendship(user, journal_user)

    resp = app.get('/~journal_test', headers={'Cookie': cookie})
    assert resp.html.find(id='user-journal').h4.string == u'Recent journal'
コード例 #6
0
ファイル: test_journals.py プロジェクト: TheAnalyzer/weasyl
def test_profile_user():
    user = db_utils.create_user(config=CharSettings(
        frozenset(), {}, {'tagging-level': 'max-rating-mature'}))
    cookie = db_utils.create_session(user)

    resp = app.get('/~journal_test', headers={'Cookie': cookie})
    assert resp.html.find(id='user-journal').h4.string == u'Restricted journal'
コード例 #7
0
ファイル: test_journals.py プロジェクト: Syfaro/weasyl
def test_create(journal_user):
    cookie = db_utils.create_session(journal_user)

    app.post('/submit/journal', {'title': u'Created journal', 'rating': '10', 'content': u'A journal'}, headers={'Cookie': cookie})

    resp = app.get('/~journal_test')
    assert resp.html.find(id='user-journal').h4.string == u'Created journal'
コード例 #8
0
def test_index(site_updates):
    _, updates = site_updates
    resp = app.get('/')
    update = resp.html.find(id='hc-update')
    assert update is not None
    assert update.h3.string == updates[-1].title
    assert update.figure.img['alt'] == u'avatar of test_username'
コード例 #9
0
ファイル: test_journals.py プロジェクト: Syfaro/weasyl
def test_profile_friend(journal_user):
    user = db_utils.create_user()
    cookie = db_utils.create_session(user)
    db_utils.create_friendship(user, journal_user)

    resp = app.get('/~journal_test', headers={'Cookie': cookie})
    assert resp.html.find(id='user-journal').h4.string == u'Recent journal'
コード例 #10
0
ファイル: test_characters.py プロジェクト: Syfaro/weasyl
def test_create_default_thumbnail(character):
    resp = app.get('/character/%d/test-name' % (character,))
    assert resp.html.find(id='detail-bar-title').string == u'Test name'
    assert resp.html.find(id='char-stats').find('dt', text=u'Gender:').findNext('dd').string == u'🦊'

    image_url = resp.html.find(id='detail-art').a['href']
    assert _read_character_image(image_url).tobytes() == _read_static_image('images/wesley1.png').tobytes()
コード例 #11
0
def test_create_default_thumbnail(character):
    resp = app.get('/character/%d/test-name' % (character, ))
    assert resp.html.find(id='detail-bar-title').string == u'Test name'
    assert resp.html.find(id='char-stats').find(
        'dt', text=u'Gender:').findNext('dd').string == u'🦊'

    image_url = resp.html.find(id='detail-art').a['href']
    assert _read_character_image(image_url).tobytes() == _read_static_image(
        'images/wesley1.png').tobytes()
コード例 #12
0
ファイル: test_journals.py プロジェクト: TheAnalyzer/weasyl
def test_create(journal_user):
    cookie = db_utils.create_session(journal_user)

    app.post('/submit/journal', {
        'title': u'Created journal',
        'rating': '10',
        'content': u'A journal'
    },
             headers={'Cookie': cookie})

    resp = app.get('/~journal_test')
    assert resp.html.find(id='user-journal').h4.string == u'Created journal'
コード例 #13
0
def test_create_notifications(monkeypatch):
    admin_user = db_utils.create_user()
    normal_user = db_utils.create_user()
    admin_cookie = db_utils.create_session(admin_user)
    monkeypatch.setattr(staff, 'ADMINS', frozenset([admin_user]))

    resp = app.post('/admincontrol/siteupdate', _FORM, headers={'Cookie': admin_cookie}).follow()
    assert resp.html.find(None, 'content').h3.string == _FORM['title']

    normal_cookie = db_utils.create_session(normal_user)
    resp = app.get('/messages/notifications', headers={'Cookie': normal_cookie})
    assert list(resp.html.find(id='header-messages').find(title='Notifications').stripped_strings)[1] == '1'
    assert resp.html.find(id='site_updates').find(None, 'item').a.string == _FORM['title']
コード例 #14
0
ファイル: test_journals.py プロジェクト: Syfaro/weasyl
def test_profile_empty():
    resp = app.get('/~journal_test')
    assert resp.html.find(id='user-journal') is None
コード例 #15
0
ファイル: test_characters.py プロジェクト: Syfaro/weasyl
def test_list_empty():
    resp = app.get('/characters/character_test')
    assert list(resp.html.find(class_='user-characters').stripped_strings) == [u'Characters', u'There are no characters to display.']
コード例 #16
0
ファイル: test_journals.py プロジェクト: Syfaro/weasyl
def test_profile_user():
    user = db_utils.create_user(config=CharSettings(frozenset(), {}, {'tagging-level': 'max-rating-mature'}))
    cookie = db_utils.create_session(user)

    resp = app.get('/~journal_test', headers={'Cookie': cookie})
    assert resp.html.find(id='user-journal').h4.string == u'Restricted journal'
コード例 #17
0
def test_list_empty():
    resp = app.get('/site-updates/')
    assert resp.html.find(None, 'content').p.string == u'No site updates to show.'
コード例 #18
0
ファイル: test_journals.py プロジェクト: Syfaro/weasyl
def test_list_guest():
    resp = app.get('/journals/journal_test')
    titles = [link.string for link in resp.html.find(id='journals-content').find_all('a')]
    assert titles == [u'Public journal', u'Test journal']
コード例 #19
0
def test_index_empty():
    resp = app.get('/')
    assert resp.html.find(id='home-content') is not None
    assert resp.html.find(id='hc-update') is None
コード例 #20
0
ファイル: test_journals.py プロジェクト: TheAnalyzer/weasyl
def test_profile_empty():
    resp = app.get('/~journal_test')
    assert resp.html.find(id='user-journal') is None
コード例 #21
0
ファイル: test_journals.py プロジェクト: TheAnalyzer/weasyl
def test_profile_guest():
    resp = app.get('/~journal_test')
    assert resp.html.find(id='user-journal').h4.string == u'Public journal'
コード例 #22
0
ファイル: test_journals.py プロジェクト: Syfaro/weasyl
def test_profile_guest():
    resp = app.get('/~journal_test')
    assert resp.html.find(id='user-journal').h4.string == u'Public journal'
コード例 #23
0
def test_list_empty():
    resp = app.get('/characters/character_test')
    assert list(resp.html.find(class_='user-characters').stripped_strings) == [
        u'Characters', u'There are no characters to display.'
    ]