This is an automated email from the ASF dual-hosted git repository.
dill0wn pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/allura.git
The following commit(s) were added to refs/heads/master by this push:
new 68e3586d9 [#8451] fix various failing tests around new auditlog entries
68e3586d9 is described below
commit 68e3586d91d74732622779156749914db6f62106
Author: Dillon Walls <[email protected]>
AuthorDate: Tue Aug 23 15:29:41 2022 +0000
[#8451] fix various failing tests around new auditlog entries
---
Allura/allura/model/auth.py | 7 ++++++-
Allura/allura/tests/decorators.py | 1 +
.../allura/tests/functional/test_neighborhood.py | 24 +++++++++++++++++-----
ForgeDiscussion/forgediscussion/tests/test_app.py | 8 +++-----
.../forgeimporters/github/tests/test_oauth.py | 4 ++--
5 files changed, 31 insertions(+), 13 deletions(-)
diff --git a/Allura/allura/model/auth.py b/Allura/allura/model/auth.py
index 915b88736..75dabffe0 100644
--- a/Allura/allura/model/auth.py
+++ b/Allura/allura/model/auth.py
@@ -1062,7 +1062,12 @@ class AuditLog(MappedClass):
def log(cls, message, *args, **kwargs):
project = kwargs.pop('project') if 'project' in kwargs else c.project
user = kwargs.pop('user', c.user)
- url = kwargs.pop('url', request.url)
+ url = kwargs.pop('url', '')
+ if not url:
+ try:
+ url = request.url
+ except AttributeError:
+ pass
if args:
message = message % args
elif kwargs:
diff --git a/Allura/allura/tests/decorators.py
b/Allura/allura/tests/decorators.py
index a53a714ef..6c561c228 100644
--- a/Allura/allura/tests/decorators.py
+++ b/Allura/allura/tests/decorators.py
@@ -85,6 +85,7 @@ def with_tool(project_shortname, ep_name, mount_point=None,
mount_label=None,
return wrapped
return _with_tool
+
with_discussion = with_tool('test', 'Discussion', 'discussion')
with_link = with_tool('test', 'Link', 'link')
with_tracker = with_tool('test', 'Tickets', 'bugs')
diff --git a/Allura/allura/tests/functional/test_neighborhood.py
b/Allura/allura/tests/functional/test_neighborhood.py
index 9263f755a..a60820621 100644
--- a/Allura/allura/tests/functional/test_neighborhood.py
+++ b/Allura/allura/tests/functional/test_neighborhood.py
@@ -40,6 +40,18 @@ from alluratest.controller import setup_trove_categories
class TestNeighborhood(TestController):
+
+ def setUp(self):
+ super().setUp()
+ self._cleanup_audit_log()
+
+ def tearDown(self):
+ super().tearDown()
+ self._cleanup_audit_log()
+
+ def _cleanup_audit_log(self):
+ M.AuditLog.query.remove({})
+
def test_home_project(self):
r = self.app.get('/adobe/wiki/', status=301)
assert r.location.endswith('/adobe/wiki/Home/')
@@ -97,18 +109,16 @@ class TestNeighborhood(TestController):
'show_title': 'false',
'allow_browse': 'false',
'css': '.class { border: 1px; }',
- 'tracking_id': 'U-123456',
'homepage': '[Homepage]',
'project_list_url': 'http://fake.org/project_list',
'project_template': '{"name": "template"}',
+ 'tracking_id': 'U-123456',
+ 'prohibited_tools': 'wiki, tickets',
'anchored_tools': 'wiki:Wiki',
- 'prohibited_tools': 'wiki, tickets'
-
}
+
self.app.post('/p/_admin/update', params=params,
extra_environ=dict(username='root'))
- # must get as many log records as many values are updated
- assert M.AuditLog.query.find().count() == len(params)
assert check_log('change neighborhood name to Pjs')
assert check_log('change neighborhood redirect to http://fake.org/')
@@ -123,6 +133,10 @@ class TestNeighborhood(TestController):
'{"name": "template"}')
assert check_log('update neighborhood tracking_id')
assert check_log('update neighborhood prohibited tools')
+ assert check_log('update neighborhood anchored tools')
+
+ # must get as many log records as many values are updated
+ assert M.AuditLog.query.find().count() == len(params)
def test_prohibited_tools(self):
self.app.post('/p/_admin/update',
diff --git a/ForgeDiscussion/forgediscussion/tests/test_app.py
b/ForgeDiscussion/forgediscussion/tests/test_app.py
index 32f4de285..b93666e48 100644
--- a/ForgeDiscussion/forgediscussion/tests/test_app.py
+++ b/ForgeDiscussion/forgediscussion/tests/test_app.py
@@ -18,21 +18,18 @@
import tempfile
import json
import os
-import random
from operator import attrgetter
from cgi import FieldStorage
from io import BytesIO
-from alluratest.controller import setup_basic_test
+from alluratest.controller import setup_basic_test, setup_unit_test
from alluratest.tools import assert_equal
from tg import tmpl_context as c
from forgediscussion.site_stats import posts_24hr
from ming.orm import ThreadLocalORMSession
-from ming.orm.base import session
from allura import model as M
-from allura.lib import helpers as h
from allura.tests import decorators as td
from forgediscussion.tests.functional.test_rest import TestDiscussionApiBase
from forgediscussion.model.forum import Forum, ForumThread, ForumPost
@@ -58,6 +55,7 @@ class TestAppSitemap:
def setUp(self):
setup_basic_test()
+ setup_unit_test()
self.user = M.User.query.get(username='root')
@td.with_discussion
@@ -75,7 +73,7 @@ class TestAppSitemap:
)
thread.set_forum(forum)
ThreadLocalORMSession.flush_all()
-
+
assert_equal([], c.app.sitemap_xml())
thread.post(
subject='test-post',
diff --git a/ForgeImporters/forgeimporters/github/tests/test_oauth.py
b/ForgeImporters/forgeimporters/github/tests/test_oauth.py
index 92d2c0ad8..1e02d83e0 100644
--- a/ForgeImporters/forgeimporters/github/tests/test_oauth.py
+++ b/ForgeImporters/forgeimporters/github/tests/test_oauth.py
@@ -16,13 +16,12 @@
# under the License.
from unittest import TestCase
+from alluratest.controller import setup_unit_test
from mock import Mock, patch, MagicMock
from tg import tmpl_context as c, config
-from webob.exc import HTTPFound
from allura.tests import TestController
-from allura.tests.decorators import raises
from forgeimporters.github import GitHubOAuthMixin
@@ -30,6 +29,7 @@ class TestGitHubOAuthMixin(TestController, TestCase):
def setUp(self):
super().setUp()
+ setup_unit_test()
c.user = Mock()
self.mix = GitHubOAuthMixin()