diff --git a/requirements.txt b/requirements.txt index 705ed83..3530ea2 100644 --- a/requirements.txt +++ b/requirements.txt @@ -28,11 +28,14 @@ mysqlclient==1.3.10 orderedset==2.0 packaging==16.8 passlib==1.7.1 +progressbar2==3.20.0 progressbar33==2.4 +py==1.4.34 pycodestyle==2.3.1 pycparser==2.17 PyMySQL==0.7.11 pyparsing==2.2.0 +pytest==3.1.1 python-dateutil==2.6.0 python-editor==1.0.3 python-utils==2.1.0 diff --git a/tests/test_nyaa.py b/tests/test_nyaa.py new file mode 100644 index 0000000..9e50380 --- /dev/null +++ b/tests/test_nyaa.py @@ -0,0 +1,53 @@ +import os +import unittest +import tempfile +import nyaa + + +class NyaaTestCase(unittest.TestCase): + + def setUp(self): + self.db, nyaa.app.config['DATABASE'] = tempfile.mkstemp() + nyaa.app.config['TESTING'] = True + self.app = nyaa.app.test_client() + with nyaa.app.app_context(): + nyaa.db.create_all() + + def tearDown(self): + os.close(self.db) + os.unlink(nyaa.app.config['DATABASE']) + + def test_empty_db(self): + rv = self.app.get('/') + assert b'Browse :: Nyaa' in rv.data + assert b'Guest' in rv.data + + def test_upload_url(self): + rv = self.app.get('/upload') + assert b'Upload Torrent' in rv.data + assert b'You are not logged in, and are uploading anonymously.' in rv.data + + def test_rules_url(self): + rv = self.app.get('/rules') + assert b'Site Rules' in rv.data + + def test_help_url(self): + rv = self.app.get('/help') + assert b'Using the Site' in rv.data + + def test_rss_url(self): + rv = self.app.get('/?page=rss') + assert b'/xmlns/nyaa' in rv.data + + def test_login_url(self): + rv = self.app.get('/login') + assert b'Username or email address' in rv.data + + def test_registry(self): + rv = self.app.get('/register') + assert b'Username' in rv.data + assert b'Password' in rv.data + + +if __name__ == '__main__': + unittest.main()