See
<https://ci-builds.apache.org/job/Allura/job/Allura-py3.7/210/display/redirect?page=changes>
Changes:
[guillermo.cruz] [#8503] deprecation warnings - fixed using collections instead
of collections.abc
[guillermo.cruz] [#8503] deprecation warnings - fix markdown extension
registration warnings
[guillermo.cruz] [#8503] deprecation warnings - fix misc Decoration.validation
-> Decoration.validations warning
[guillermo.cruz] [#8503] pytest - update configuration of which warnings to
ignore
------------------------------------------
[...truncated 268.54 KB...]
ObjectId('64149533cc3e6c85902102bb'), 'cls':
b'\x80\x02cforgetracker.model.ticket\nTicket\nq\x00.',
'project_id': ObjectId('64149530cc3e6c8590210202')}
references=I['forgetracker/model/ticket/Ticket#64149532cc3e6c8590210277',
'forgetracker/model/ticket/Ticket#64149532cc3e6c8590210299',
'forgetracker/model/ticket/Ticket#64149532cc3e6c8590210277',
'forgetracker/model/ticket/Ticket#64149532cc3e6c8590210299']>]
INFO allura.model.monq_model:monq_model.py:241 starting <MonQTask
64149533cc3e6c85902102c2 (ready) P:10 allura.tasks.notification_tasks.notify
None project:/p/test/ app:bugs user:test-admin>
DEBUG allura.model.notification:notification.py:558 Delivering notification
[email protected] to mailboxes
[64149530cc3e6c8590210239]
DEBUG allura.model.notification:notification.py:645 Firing mailbox
64149530cc3e6c8590210239 notifications
[[email protected]], found
[[email protected]]
DEBUG allura.model.notification:notification.py:294 Sending direct
notification [email protected] to user
64149530cc3e6c85902101e8
INFO allura.model.monq_model:monq_model.py:241 starting <MonQTask
64149533cc3e6c85902102c6 (ready) P:10
allura.tasks.notification_tasks.send_usermentions_notification None
project:/p/test/ app:bugs user:test-admin>
INFO allura.model.monq_model:monq_model.py:241 starting <MonQTask
64149533cc3e6c85902102c9 (ready) P:10
allura.tasks.activity_tasks.create_timelines None project:/p/test/ app:bugs
user:test-admin>
INFO allura.model.monq_model:monq_model.py:241 starting <MonQTask
64149533cc3e6c85902102ca (ready) P:10
allura.tasks.activity_tasks.create_timelines None project:/p/test/ app:bugs
user:test-admin>
INFO allura.model.monq_model:monq_model.py:241 starting <MonQTask
64149533cc3e6c85902102cb (ready) P:10 allura.tasks.index_tasks.add_artifacts
None project:/p/test/ app:bugs user:test-admin>
WARNING allura.tasks.index_tasks:index_tasks.py:62 add_artifacts task changed
objects, causing writes back to mongo: [<ArtifactReference
_id='forgetracker/model/ticket/Ticket#64149533cc3e6c85902102bb'
artifact_reference=I{'app_config_id':
ObjectId('64149530cc3e6c8590210235'), 'artifact_id':
ObjectId('64149533cc3e6c85902102bb'), 'cls':
b'\x80\x02cforgetracker.model.ticket\nTicket\nq\x00.',
'project_id': ObjectId('64149530cc3e6c8590210202')}
references=I['forgetracker/model/ticket/Ticket#64149532cc3e6c8590210277',
'forgetracker/model/ticket/Ticket#64149532cc3e6c8590210299',
'forgetracker/model/ticket/Ticket#64149532cc3e6c8590210277',
'forgetracker/model/ticket/Ticket#64149532cc3e6c8590210299']>]
INFO allura.model.monq_model:monq_model.py:241 starting <MonQTask
64149532cc3e6c8590210281 (ready) P:10 forgetracker.tasks.update_bin_counts None
project:/p/test/ app:bugs user:test-admin>
WARNING allura.lib.solr:solr.py:166 MockSOLR doesn't implement OR yet;
treating as AND. q=status_s:closed OR status_s:wont-fix fq=['type_s:Ticket',
'mount_point_s:bugs', 'project_id_s:64149530cc3e6c8590210202',
'-deleted_b:true', 'is_history_b:False']
INFO allura.model.monq_model:monq_model.py:241 starting <MonQTask
64149532cc3e6c85902102a3 (ready) P:10 forgetracker.tasks.update_bin_counts None
project:/p/test/ app:bugs user:test-admin>
WARNING allura.lib.solr:solr.py:166 MockSOLR doesn't implement OR yet;
treating as AND. q=status_s:closed OR status_s:wont-fix fq=['type_s:Ticket',
'mount_point_s:bugs', 'project_id_s:64149530cc3e6c8590210202',
'-deleted_b:true', 'is_history_b:False']
INFO allura.model.monq_model:monq_model.py:241 starting <MonQTask
64149533cc3e6c85902102c5 (ready) P:10 forgetracker.tasks.update_bin_counts None
project:/p/test/ app:bugs user:test-admin>
WARNING allura.lib.solr:solr.py:166 MockSOLR doesn't implement OR yet;
treating as AND. q=status_s:closed OR status_s:wont-fix fq=['type_s:Ticket',
'mount_point_s:bugs', 'project_id_s:64149530cc3e6c8590210202',
'-deleted_b:true', 'is_history_b:False']
_________________ TestFunctionalController.test_html_escaping __________________
[gw1] linux -- Python 3.7.16 /allura-data/virtualenv/bin/python3.7
self = <forgetracker.tests.functional.test_root.TestFunctionalController object
at 0x7faa78999110>
def test_html_escaping(self):
with mock.patch.object(mail_tasks.smtp_client, '_client') as _client:
self.new_ticket(summary='test <h2> ticket',
status='open', _milestone='2.0')
ThreadLocalODMSession.flush_all()
M.MonQTask.run_ready()
ThreadLocalODMSession.flush_all()
email = M.MonQTask.query.find(
dict(task_name='allura.tasks.mail_tasks.sendmail')).first()
assert (email.kwargs.subject ==
'[test:bugs] #1 test <h2> ticket')
text = email.kwargs.text
assert '** [bugs:#1] test <h2> ticket**' in text
mail_tasks.sendmail(
fromaddr=str(c.user._id),
destinations=[str(c.user._id)],
text=text,
reply_to=g.noreply,
subject=email.kwargs.subject,
message_id=h.gen_message_id())
assert _client.sendmail.call_count == 1
return_path, rcpts, body = _client.sendmail.call_args[0]
body = body.split('\n')
# check subject
assert 'Subject: [test:bugs] #1 test <h2> ticket' in body
# check html, need tags escaped
> assert ('<p><strong> <a class="alink"
> href="http://localhost/p/test/bugs/1/">[bugs:#1]</a>'
' test <h2> ticket</strong></p>' in
body)
E assert '<p><strong> <a class="alink"
href="http://localhost/p/test/bugs/1/">[bugs:#1]</a> test <h2>
ticket</strong></p>' in ['Content-Type: multipart/related;
boundary="===============0892693730649394703=="', 'MIME-Version: 1.0', 'To:
noreply...t Admin" <[email protected]>', 'Reply-To:
noreply@localhost', 'Subject: [test:bugs] #1 test <h2> ticket', ...]
forgetracker/tests/functional/test_root.py:2531: AssertionError
------------------------------ Captured log call -------------------------------
DEBUG allura.model.artifact:artifact.py:629 Snapshot version 1 of <class
'forgewiki.model.wiki.Page'>
DEBUG allura.model.notification:notification.py:251 Notifications disabled
for project u/test-admin, not sending metadata(<Page title='Home' text='Welcome
to your wiki!\n\nThis is
the default page, edit it as you see fit. To add a new
page simply reference it within brackets, e.g.:
[SamplePage].\n\nThe wiki uses
[Markdown](/u/test-admin/wiki/markdown_syntax/)
syntax.\n\n[[members limit=20]]\n' text_cache=I{'md5':
None, 'fix7528': <Missing>, 'html': None, 'render_time':
None} version=1 _id=ObjectId('64149654cc3e6c8590215cb4')
mod_date=datetime.datetime(2023, 3, 17, 16, 33, 24,
238393) app_config_id=ObjectId('64149654cc3e6c8590215cad')
acl=I[] labels=I[] import_id=None deleted=False>)
DEBUG allura.model.artifact:artifact.py:629 Snapshot version 1 of <class
'forgetracker.model.ticket.Ticket'>
INFO allura.lib.spam:__init__.py:42 No spam checking enabled
INFO allura.model.monq_model:monq_model.py:241 starting <MonQTask
64149652cc3e6c8590215c93 (ready) P:10 allura.tasks.index_tasks.add_artifacts
None project:/p/test/ app:bugs user:test-admin>
INFO allura.model.monq_model:monq_model.py:241 starting <MonQTask
64149654cc3e6c8590215cac (ready) P:10 allura.tasks.index_tasks.add_projects
None project:/u/test-admin/ app:bugs user:test-admin>
INFO allura.model.monq_model:monq_model.py:241 starting <MonQTask
64149654cc3e6c8590215cb0 (ready) P:10 allura.tasks.index_tasks.add_projects
None project:/u/test-admin/ app:wiki user:test-admin>
INFO allura.model.monq_model:monq_model.py:241 starting <MonQTask
64149654cc3e6c8590215cb1 (ready) P:10 allura.tasks.index_tasks.add_artifacts
None project:/u/test-admin/ app:wiki user:test-admin>
INFO allura.model.monq_model:monq_model.py:241 starting <MonQTask
64149654cc3e6c8590215cb7 (ready) P:10 allura.tasks.index_tasks.add_projects
None project:/u/test-admin/ app:wiki user:test-admin>
INFO allura.model.monq_model:monq_model.py:241 starting <MonQTask
64149654cc3e6c8590215cb8 (ready) P:10 allura.tasks.index_tasks.add_artifacts
None project:/u/test-admin/ app:wiki user:test-admin>
INFO allura.model.monq_model:monq_model.py:241 starting <MonQTask
64149654cc3e6c8590215cbb (ready) P:10 allura.tasks.index_tasks.add_projects
None project:/u/test-admin/ app:wiki user:test-admin>
INFO allura.model.monq_model:monq_model.py:241 starting <MonQTask
64149654cc3e6c8590215cbc (ready) P:10 allura.tasks.index_tasks.add_artifacts
None project:/u/test-admin/ app:wiki user:test-admin>
INFO allura.model.monq_model:monq_model.py:241 starting <MonQTask
64149654cc3e6c8590215cc5 (ready) P:10 allura.tasks.index_tasks.add_projects
None project:/u/test-admin/ app:bugs user:test-admin>
INFO allura.model.monq_model:monq_model.py:241 starting <MonQTask
64149654cc3e6c8590215cc6 (ready) P:10 allura.tasks.index_tasks.add_projects
None project:/u/test-admin/ app:bugs user:test-admin>
INFO allura.model.monq_model:monq_model.py:241 starting <MonQTask
64149654cc3e6c8590215cc7 (ready) P:10 allura.tasks.index_tasks.add_artifacts
None project:/u/test-admin/ app:bugs user:test-admin>
INFO allura.model.monq_model:monq_model.py:241 starting <MonQTask
64149654cc3e6c8590215cc8 (ready) P:10 allura.tasks.event_tasks.event None
project:/u/test-admin/ app:bugs user:test-admin>
INFO allura.model.monq_model:monq_model.py:241 starting <MonQTask
64149654cc3e6c8590215ccb (ready) P:10 allura.tasks.index_tasks.add_artifacts
None project:/p/test/ app:bugs user:test-admin>
INFO allura.model.monq_model:monq_model.py:241 starting <MonQTask
64149654cc3e6c8590215ccf (ready) P:10 allura.tasks.index_tasks.add_artifacts
None project:/p/test/ app:bugs user:test-admin>
INFO allura.model.monq_model:monq_model.py:241 starting <MonQTask
64149654cc3e6c8590215cd0 (ready) P:10 allura.tasks.notification_tasks.notify
None project:/p/test/ app:bugs user:test-admin>
DEBUG allura.model.notification:notification.py:558 Delivering notification
[email protected] to mailboxes
[64149652cc3e6c8590215c8b]
DEBUG allura.model.notification:notification.py:645 Firing mailbox
64149652cc3e6c8590215c8b notifications
[[email protected]], found
[[email protected]]
DEBUG allura.model.notification:notification.py:294 Sending direct
notification [email protected] to user
64149652cc3e6c8590215c3a
INFO allura.model.monq_model:monq_model.py:241 starting <MonQTask
64149654cc3e6c8590215cd4 (ready) P:10
allura.tasks.notification_tasks.send_usermentions_notification None
project:/p/test/ app:bugs user:test-admin>
INFO allura.model.monq_model:monq_model.py:241 starting <MonQTask
64149654cc3e6c8590215cd7 (ready) P:10
allura.tasks.activity_tasks.create_timelines None project:/p/test/ app:bugs
user:test-admin>
INFO allura.model.monq_model:monq_model.py:241 starting <MonQTask
64149654cc3e6c8590215cd8 (ready) P:10
allura.tasks.activity_tasks.create_timelines None project:/p/test/ app:bugs
user:test-admin>
INFO allura.model.monq_model:monq_model.py:241 starting <MonQTask
64149654cc3e6c8590215cd9 (ready) P:10 allura.tasks.index_tasks.add_artifacts
None project:/p/test/ app:bugs user:test-admin>
INFO allura.model.monq_model:monq_model.py:241 starting <MonQTask
64149654cc3e6c8590215cd3 (ready) P:10 forgetracker.tasks.update_bin_counts None
project:/p/test/ app:bugs user:test-admin>
WARNING allura.lib.solr:solr.py:166 MockSOLR doesn't implement OR yet;
treating as AND. q=status_s:closed OR status_s:wont-fix fq=['type_s:Ticket',
'mount_point_s:bugs', 'project_id_s:64149652cc3e6c8590215c54',
'-deleted_b:true', 'is_history_b:False']
WARNING allura.tasks.mail_tasks:mail_tasks.py:157 Looking up user with
fromaddr: 64149652cc3e6c8590215c3a
_________________ TestArtifactLinks.test_ambiguous_shortlinks __________________
[gw1] linux -- Python 3.7.16 /allura-data/virtualenv/bin/python3.7
self = <forgetracker.tests.functional.test_root.TestArtifactLinks object at
0x7faa789d8bd0>
@td.with_tool('test', 'Tickets', 'features')
def test_ambiguous_shortlinks(self):
# Problem:
# Two 'ticket' tools in one projects. Both have ticket #1.
# When creating a link from within one of the tools to ticket #1 (e.g.
[#1])
# you may end up linking to another tool's ticket #1.
# It depends on what shortlink was encountered first.
# This test ensures this does not happening.
project = M.Project.query.get(shortname='test')
bugs = project.app_instance('bugs')
features = project.app_instance('features')
self.new_ticket('/bugs/', summary='Ticket 1 in bugs',
_milestone='1.0').follow()
self.new_ticket('/features/', summary='Ticket 1 in features',
_milestone='1.0').follow()
ticket_bugs = tm.Ticket.query.get(summary='Ticket 1 in bugs')
ticket_features = tm.Ticket.query.get(summary='Ticket 1 in features')
assert ticket_bugs.ticket_num == 1
assert ticket_bugs.app.config._id == bugs.config._id
assert ticket_features.ticket_num == 1
assert ticket_features.app.config._id == features.config._id
c.app = bugs
link = '<div class="markdown_content"><p><a class="alink"
href="/p/test/bugs/1/">[#1]</a></p></div>'
> assert g.markdown.convert('[#1]') == link
E assert Markup('<div ...a></p></div>') == '<div class=".../a></p></div>'
E Skipping 63 identical leading characters in diff, use -v to show
E - /bugs/1/">[#1]</a></p></div>
E ? - -
E + /bugs/1/">#1</a></p></div>
forgetracker/tests/functional/test_root.py:3394: AssertionError
------------------------------ Captured log call -------------------------------
INFO allura.model.monq_model:monq_model.py:241 starting <MonQTask
641496fccc3e6c8590219370 (ready) P:10 allura.tasks.index_tasks.add_artifacts
setup project:/p/test/ app:bugs user:test-admin>
WARNING allura.tasks.index_tasks:index_tasks.py:62 add_artifacts task changed
objects, causing writes back to mongo: [<AppConfig
_id=ObjectId('641496fccc3e6c8590219371')
project_id=ObjectId('641496fbcc3e6c8590219331')
discussion_id=ObjectId('641496fccc3e6c8590219372')
tool_name='tickets' version=None options=I{'mount_point':
'features', 'mount_label': 'Tickets', 'ordinal': 5,
'EnableVoting': True, 'TicketMonitoringEmail': '',
'TicketMonitoringType': None, 'AllowEmailPosting': True}
tool_data=I{} acl=I[{'access': 'ALLOW', 'permission':
'read', 'reason': None, 'role_id':
ObjectId('641496fbcc3e6c8590219336')}, {'access': 'ALLOW',
'permission': 'post', 'reason': None, 'role_id':
ObjectId('641496fbcc3e6c8590219335')}, {'access': 'ALLOW',
'permission': 'unmoderated_post', 'reason': None,
'role_id': ObjectId('641496fbcc3e6c8590219335')},
{'access': 'ALLOW', 'permission': 'create', 'reason':
None, 'role_id': ObjectId('641496fbcc3e6c8590219335')},
{'access': 'ALLOW', 'permission': 'update', 'reason':
None, 'role_id': ObjectId('641496fbcc3e6c8590219333')},
{'access': 'ALLOW', 'permission': 'moderate', 'reason':
None, 'role_id': ObjectId('641496fbcc3e6c8590219333')},
{'access': 'ALLOW', 'permission': 'save_searches',
'reason': None, 'role_id':
ObjectId('641496fbcc3e6c8590219333')}, {'access': 'ALLOW',
'permission': 'delete', 'reason': None, 'role_id':
ObjectId('641496fbcc3e6c8590219333')}, {'access': 'ALLOW',
'permission': 'configure', 'reason': None, 'role_id':
ObjectId('641496fbcc3e6c8590219332')}, {'access': 'ALLOW',
'permission': 'admin', 'reason': None, 'role_id':
ObjectId('641496fbcc3e6c8590219332')}]>]
INFO allura.model.monq_model:monq_model.py:241 starting <MonQTask
641496fccc3e6c8590219374 (ready) P:10 allura.tasks.index_tasks.add_artifacts
setup project:/p/test/ app:features user:test-admin>
WARNING allura.tasks.index_tasks:index_tasks.py:62 add_artifacts task changed
objects, causing writes back to mongo: [<AppConfig
_id=ObjectId('641496fccc3e6c8590219371')
project_id=ObjectId('641496fbcc3e6c8590219331')
discussion_id=ObjectId('641496fccc3e6c8590219372')
tool_name='tickets' version=None options=I{'mount_point':
'features', 'mount_label': 'Tickets', 'ordinal': 5,
'EnableVoting': True, 'TicketMonitoringEmail': '',
'TicketMonitoringType': None, 'AllowEmailPosting': True}
tool_data=I{} acl=I[{'access': 'ALLOW', 'permission':
'read', 'reason': None, 'role_id':
ObjectId('641496fbcc3e6c8590219336')}, {'access': 'ALLOW',
'permission': 'post', 'reason': None, 'role_id':
ObjectId('641496fbcc3e6c8590219335')}, {'access': 'ALLOW',
'permission': 'unmoderated_post', 'reason': None,
'role_id': ObjectId('641496fbcc3e6c8590219335')},
{'access': 'ALLOW', 'permission': 'create', 'reason':
None, 'role_id': ObjectId('641496fbcc3e6c8590219335')},
{'access': 'ALLOW', 'permission': 'update', 'reason':
None, 'role_id': ObjectId('641496fbcc3e6c8590219333')},
{'access': 'ALLOW', 'permission': 'moderate', 'reason':
None, 'role_id': ObjectId('641496fbcc3e6c8590219333')},
{'access': 'ALLOW', 'permission': 'save_searches',
'reason': None, 'role_id':
ObjectId('641496fbcc3e6c8590219333')}, {'access': 'ALLOW',
'permission': 'delete', 'reason': None, 'role_id':
ObjectId('641496fbcc3e6c8590219333')}, {'access': 'ALLOW',
'permission': 'configure', 'reason': None, 'role_id':
ObjectId('641496fbcc3e6c8590219332')}, {'access': 'ALLOW',
'permission': 'admin', 'reason': None, 'role_id':
ObjectId('641496fbcc3e6c8590219332')}]>]
DEBUG allura.model.artifact:artifact.py:629 Snapshot version 1 of <class
'forgewiki.model.wiki.Page'>
DEBUG allura.model.notification:notification.py:251 Notifications disabled
for project u/test-admin, not sending metadata(<Page title='Home' text='Welcome
to your wiki!\n\nThis is
the default page, edit it as you see fit. To add a new
page simply reference it within brackets, e.g.:
[SamplePage].\n\nThe wiki uses
[Markdown](/u/test-admin/wiki/markdown_syntax/)
syntax.\n\n[[members limit=20]]\n' text_cache=I{'md5':
None, 'fix7528': <Missing>, 'html': None, 'render_time':
None} version=1 _id=ObjectId('641496fdcc3e6c859021939e')
mod_date=datetime.datetime(2023, 3, 17, 16, 36, 13,
815721) app_config_id=ObjectId('641496fdcc3e6c8590219397')
acl=I[] labels=I[] import_id=None deleted=False>)
DEBUG allura.model.artifact:artifact.py:629 Snapshot version 1 of <class
'forgetracker.model.ticket.Ticket'>
INFO allura.lib.spam:__init__.py:42 No spam checking enabled
DEBUG allura.model.artifact:artifact.py:629 Snapshot version 1 of <class
'forgetracker.model.ticket.Ticket'>
INFO allura.lib.spam:__init__.py:42 No spam checking enabled
---------- generated xml file: /allura/ForgeTracker/pytest.junit.xml -----------
=========================== short test summary info ============================
FAILED
forgetracker/tests/functional/test_root.py::TestFunctionalController::test_related_artifacts_closed_tickets
FAILED
forgetracker/tests/functional/test_root.py::TestFunctionalController::test_html_escaping
FAILED
forgetracker/tests/functional/test_root.py::TestArtifactLinks::test_ambiguous_shortlinks
=========== 3 failed, 203 passed, 666 warnings in 679.65s (0:11:19) ============
finished `pytest --disable-warnings --junit-xml=pytest.junit.xml -n 4 --dist
loadfile` in ForgeTracker, with returncode: 1
=============================================================================
Shutdown
=============================================================================
Stopping allura_web_1 ...
Stopping allura_solr_1 ...
Stopping allura_web_1 ... done
Stopping allura_solr_1 ... done
Removing allura_web_1 ...
Removing allura_solr_1 ...
Removing allura_mongo_1 ...
Removing allura_mongo_1 ... done
Removing allura_solr_1 ... done
Removing allura_web_1 ... done
Removing network allura_default
Total reclaimed space: 0B
Total reclaimed space: 0B
Build step 'Execute shell' marked build as failure
Recording test results
[Checks API] No suitable checks publisher found.