From cd85e05f9ef3e164c3075961a8a56589c5e79141 Mon Sep 17 00:00:00 2001 From: Pierre-Yves Chibon Date: May 02 2018 10:28:50 +0000 Subject: [PATCH 1/7] Fix the requirement on bcrypt, it's optional Signed-off-by: Pierre-Yves Chibon --- diff --git a/requirements.txt b/requirements.txt index 2def484..f35cea8 100644 --- a/requirements.txt +++ b/requirements.txt @@ -2,7 +2,6 @@ # Use this file by running "$ pip install -r requirements.txt" alembic arrow -bcrypt binaryornot bleach blinker @@ -43,5 +42,5 @@ wtforms # python-fedora # Required only for the `local` authentication backend -# py-bcrypt +# bcrypt From 02e17804942502409d097d23043add10fdc3297e Mon Sep 17 00:00:00 2001 From: Pierre-Yves Chibon Date: May 02 2018 10:28:50 +0000 Subject: [PATCH 2/7] Drop the requirement on straight.plugin but document it Signed-off-by: Pierre-Yves Chibon --- diff --git a/requirements.txt b/requirements.txt index f35cea8..db4f7a8 100644 --- a/requirements.txt +++ b/requirements.txt @@ -26,7 +26,9 @@ redis requests six sqlalchemy >= 0.8 -straight.plugin >= 1.4.0-post-1 +# 1.4.0 is broken, 1.4.0-post-1 works but gives odd results on newer setuptools +# the latest version 1.5.0 is also known to work +straight.plugin wtforms # Needed only for local authentication and/or Pagure CI From 84cfa837a94d35bdb71a03bc3931145352127ae3 Mon Sep 17 00:00:00 2001 From: Pierre-Yves Chibon Date: May 02 2018 10:28:50 +0000 Subject: [PATCH 3/7] Reorder the dependencies for testing Signed-off-by: Pierre-Yves Chibon --- diff --git a/tests_requirements.txt b/tests_requirements.txt index 124c3e6..ebb7dd2 100644 --- a/tests_requirements.txt +++ b/tests_requirements.txt @@ -1,11 +1,11 @@ +bcrypt +beautifulsoup4 +cryptography eventlet +flake8 mock nose>=0.10.4 nosexcover -flake8 -beautifulsoup4 -cryptography -bcrypt python-fedora trollius From 1e941f3bb92257590d913b1f3d465b3b781c02a5 Mon Sep 17 00:00:00 2001 From: Pierre-Yves Chibon Date: May 02 2018 10:28:50 +0000 Subject: [PATCH 4/7] For the moment exclude flask-1.0 it's just not working for us Signed-off-by: Pierre-Yves Chibon --- diff --git a/requirements.txt b/requirements.txt index db4f7a8..f83dfd3 100644 --- a/requirements.txt +++ b/requirements.txt @@ -9,7 +9,7 @@ celery chardet docutils enum34 -flask +flask<1.0 flask-wtf flask-multistatic kitchen From a5547918d3cf82ad673635891caae38ced4dd6a4 Mon Sep 17 00:00:00 2001 From: Pierre-Yves Chibon Date: May 02 2018 10:28:50 +0000 Subject: [PATCH 5/7] Convert set to list to converting to JSON works properly in flask 1.0 Signed-off-by: Pierre-Yves Chibon --- diff --git a/pagure/api/project.py b/pagure/api/project.py index 70d2dcf..d823f5c 100644 --- a/pagure/api/project.py +++ b/pagure/api/project.py @@ -164,6 +164,10 @@ def api_project_watchers(repo, username=None, namespace=None): # have to explicitly subscribe. watching_users_to_watch_level[group_name].add('issues') + for key in watching_users_to_watch_level: + watching_users_to_watch_level[key] = list( + watching_users_to_watch_level[key]) + # Get the explicit watch statuses for watcher in repo.watchers: if watcher.watch_issues or watcher.watch_commits: From 9552de009fdaf4b100ae0d8a78e741c537f931dd Mon Sep 17 00:00:00 2001 From: Pierre-Yves Chibon Date: May 02 2018 10:28:50 +0000 Subject: [PATCH 6/7] Disabled debug when running the tests This is required for flask 1.0 due to: https://github.com/pallets/flask/issues/2735 Fixed in 1.0.1 but 1.0.1 isn't out yet so... :) Signed-off-by: Pierre-Yves Chibon --- diff --git a/tests/__init__.py b/tests/__init__.py index f881738..a1f80c0 100644 --- a/tests/__init__.py +++ b/tests/__init__.py @@ -71,7 +71,6 @@ ENABLE_TICKETS = %(enable_tickets)s REMOTE_GIT_FOLDER = '%(path)s/remotes' DB_URL = '%(dburl)s' ALLOW_PROJECT_DOWAIT = True -DEBUG = True PAGURE_CI_SERVICES = ['jenkins'] EMAIL_SEND = False TESTING = True diff --git a/tests/test_config b/tests/test_config index a810db7..04970a4 100644 --- a/tests/test_config +++ b/tests/test_config @@ -1,3 +1,2 @@ PAGURE_CI_SERVICES = ['jenkins'] ALLOW_PROJECT_DOWAIT = True -DEBUG=True From 0fb13bffa7c6854bb3552b0788b30139375dee22 Mon Sep 17 00:00:00 2001 From: Pierre-Yves Chibon Date: May 02 2018 10:28:50 +0000 Subject: [PATCH 7/7] Drop the '#' in the issue UID so URLs are properly parsed Signed-off-by: Pierre-Yves Chibon --- diff --git a/tests/test_pagure_flask_api_issue.py b/tests/test_pagure_flask_api_issue.py index f5a8f97..228bae7 100644 --- a/tests/test_pagure_flask_api_issue.py +++ b/tests/test_pagure_flask_api_issue.py @@ -2175,7 +2175,7 @@ class PagureFlaskApiIssuetests(tests.SimplePagureTest): user='pingou', ticketfolder=None, private=False, - issue_uid='aaabbbccc#1', + issue_uid='aaabbbccc1', ) self.session.commit() self.assertEqual(msg.title, 'Test issue #1') @@ -2237,7 +2237,7 @@ class PagureFlaskApiIssuetests(tests.SimplePagureTest): ) # Issue and comment exists, using UID - output = self.app.get('/api/0/test/issue/aaabbbccc#1/comment/1') + output = self.app.get('/api/0/test/issue/aaabbbccc1/comment/1') self.assertEqual(output.status_code, 200) data = json.loads(output.data) data['date_created'] = '1435821770' @@ -2284,7 +2284,7 @@ class PagureFlaskApiIssuetests(tests.SimplePagureTest): user='foo', ticketfolder=None, private=True, - issue_uid='aaabbbccc#1', + issue_uid='aaabbbccc1', ) self.session.commit() self.assertEqual(msg.title, 'Test issue #1') @@ -2413,7 +2413,7 @@ class PagureFlaskApiIssuetests(tests.SimplePagureTest): user='pingou', ticketfolder=None, private=False, - issue_uid='aaabbbccc#1', + issue_uid='aaabbbccc1', ) self.session.commit() self.assertEqual(msg.title, 'Test issue #1') @@ -2629,7 +2629,7 @@ class PagureFlaskApiIssuetests(tests.SimplePagureTest): user='pingou', ticketfolder=None, private=False, - issue_uid='aaabbbccc#1', + issue_uid='aaabbbccc1', assignee='foo', ) self.session.commit() @@ -2741,7 +2741,7 @@ class PagureFlaskApiIssuetests(tests.SimplePagureTest): user='foo', ticketfolder=None, private=False, - issue_uid='aaabbbccc#1', + issue_uid='aaabbbccc1', ) self.session.commit() self.assertEqual(msg.title, 'Test issue #1') diff --git a/tests/test_pagure_flask_api_ui_private_repo.py b/tests/test_pagure_flask_api_ui_private_repo.py index 3a8fa70..c74cc5b 100644 --- a/tests/test_pagure_flask_api_ui_private_repo.py +++ b/tests/test_pagure_flask_api_ui_private_repo.py @@ -2986,7 +2986,7 @@ class PagurePrivateRepotest(tests.Modeltests): user='pingou', ticketfolder=None, private=False, - issue_uid='aaabbbccc#1', + issue_uid='aaabbbccc1', ) self.session.commit() self.assertEqual(msg.title, 'Test issue #1') @@ -3090,7 +3090,7 @@ class PagurePrivateRepotest(tests.Modeltests): ) # Issue and comment exists, using UID - output = self.app.get('/api/0/test4/issue/aaabbbccc#1/comment/1') + output = self.app.get('/api/0/test4/issue/aaabbbccc1/comment/1') self.assertEqual(output.status_code, 200) data = json.loads(output.get_data(as_text=True)) data['date_created'] = '1435821770'