diff --git a/README.md b/README.md index e264aa6..ffb3519 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,9 @@ # What is wallabag? +[![Build Status](https://travis-ci.org/wallabag/docker.svg?branch=master)](https://travis-ci.org/wallabag/docker) +[![Docker Stars](https://img.shields.io/docker/stars/wallabag/wallabag.svg?maxAge=2592000)](https://hub.docker.com/r/wallabag/wallabag/) +[![Docker Pulls](https://img.shields.io/docker/pulls/wallabag/wallabag.svg?maxAge=2592000)](https://hub.docker.com/r/wallabag/wallabag/) + [wallabag](https://www.wallabag.org/) is a self hostable application for saving web pages. Unlike other services, wallabag is free (as in freedom) and open source. With this application you will not miss content anymore. Click, save, read it when you want. It saves the content you select so that you can read it when you have time. diff --git a/tests/test_login.py b/tests/test_login.py index 6ebeb07..dd0f362 100644 --- a/tests/test_login.py +++ b/tests/test_login.py @@ -1,10 +1,12 @@ +import pytest +import re import requests URL = 'http://127.0.0.1:80' -def test_login_page(): +def test_accessing_login_page(): r = requests.get(URL, allow_redirects=True) assert r.status_code == 200 @@ -12,3 +14,34 @@ def test_login_page(): assert 'Password' in r.text assert 'Register' in r.text assert 'Username' in r.text + + +def test_logging_in(): + client = requests.session() + r = client.get(URL, allow_redirects=True) + jar = r.cookies + + # get csrf token + csrf_match = re.search( + '', + r.text + ) + + if csrf_match: + csrf = csrf_match.group(1) + else: + # if there is no csrf token the test will fail + pytest.fail('csrf not matched') + + data = { + '_username': 'wallabag', + '_password': 'wallabag', + '_csrf_token': csrf + } + + r = client.post(URL + '/login_check', cookies=jar, data=data) + assert r.status_code == 200 + assert '/unread/list' in r.text + assert '/starred/list' in r.text + assert '/archive/list' in r.text + assert '/all/list' in r.text