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()
 

Reply via email to