moin
moin copied to clipboard
Fix meta validation tests when validation = strict; was traceback when converting text files
Probably caused by https://github.com/moinwiki/moin/commit/4f9f1a2c144f37d09ee8b8ce277b415259114ee2 fix for #17, which changes validation to VALIDATION_HANDLING_STRICT
Meta field action field is SAVE, should it be CONVERT?
2022-07-18 08:08:49,168 WARNING moin.storage.middleware.indexing:1228 data validation skipped because metadata is invali
d, see below
2022-07-18 08:08:49,168 WARNING moin.storage.middleware.indexing:1232 True, text/x.moin.wiki;charset=utf-8
2022-07-18 08:08:49,169 WARNING moin.storage.middleware.indexing:1232 True,
2022-07-18 08:08:49,169 WARNING moin.storage.middleware.indexing:1232 True, 615
2022-07-18 08:08:49,169 WARNING moin.storage.middleware.indexing:1232 True, 35a59bac0e157a0ba98010f796017911cb6be2c2
2022-07-18 08:08:49,170 WARNING moin.storage.middleware.indexing:1232 True,
2022-07-18 08:08:49,170 WARNING moin.storage.middleware.indexing:1232 True, []
2022-07-18 08:08:49,170 WARNING moin.storage.middleware.indexing:1232 True, []
2022-07-18 08:08:49,170 WARNING moin.storage.middleware.indexing:1232 True, 8d9f492878864178974cb0eae4d22632
2022-07-18 08:08:49,171 WARNING moin.storage.middleware.indexing:1232 True, 497374cc01154d2390bf0b865e697945
2022-07-18 08:08:49,171 WARNING moin.storage.middleware.indexing:1232 True, e99b6891f01e49e8a2fc953a1c4b97f6
2022-07-18 08:08:49,171 WARNING moin.storage.middleware.indexing:1232 True, MyMoinMoin
2022-07-18 08:08:49,171 WARNING moin.storage.middleware.indexing:1232 True,
2022-07-18 08:08:49,171 WARNING moin.storage.middleware.indexing:1232 True, [<String None; value='moin-table'>]
2022-07-18 08:08:49,172 WARNING moin.storage.middleware.indexing:1232 True, []
2022-07-18 08:08:49,172 WARNING moin.storage.middleware.indexing:1232 True, 1658156929
2022-07-18 08:08:49,172 WARNING moin.storage.middleware.indexing:1232 False, SAVE
2022-07-18 08:08:49,173 WARNING moin.storage.middleware.indexing:1232 True,
2022-07-18 08:08:49,173 WARNING moin.storage.middleware.indexing:1232 True,
2022-07-18 08:08:49,173 WARNING moin.storage.middleware.indexing:1232 True, 127.0.0.1
2022-07-18 08:08:49,176 WARNING moin.storage.middleware.indexing:1232 True,
2022-07-18 08:08:49,176 WARNING moin.storage.middleware.indexing:1232 True, []
2022-07-18 08:08:49,179 ERROR moin.signalling.log:30 Error: metadata validation failed, invalid field value(s) = SAVE
Traceback (most recent call last):
File "C:\GIT\moin-venv-python\lib\site-packages\flask\app.py", line 2447, in wsgi_app
response = self.full_dispatch_request()
File "C:\GIT\moin-venv-python\lib\site-packages\flask\app.py", line 1952, in full_dispatch_request
rv = self.handle_user_exception(e)
File "C:\GIT\moin-venv-python\lib\site-packages\flask\app.py", line 1821, in handle_user_exception
reraise(exc_type, exc_value, tb)
File "C:\GIT\moin-venv-python\lib\site-packages\flask\_compat.py", line 39, in reraise
raise value
File "C:\GIT\moin-venv-python\lib\site-packages\flask\app.py", line 1950, in full_dispatch_request
rv = self.dispatch_request()
File "C:\GIT\moin-venv-python\lib\site-packages\flask\app.py", line 1936, in dispatch_request
return self.view_functions[rule.endpoint](**req.view_args)
File "c:\git\moin\src\moin\apps\frontend\views.py", line 755, in convert_item
newrev = storage_item.store_revision(meta, out, overwrite=False,
File "c:\git\moin\src\moin\storage\middleware\protecting.py", line 412, in store_revision
rev = self.item.store_revision(meta, data, overwrite=overwrite, return_rev=return_rev, fqname=fqname, **kw)
File "c:\git\moin\src\moin\storage\middleware\indexing.py", line 1236, in store_revision
raise ValueError(_('Error: metadata validation failed, invalid field value(s) = {0}'.format(
ValueError: Error: metadata validation failed, invalid field value(s) = SAVE
Leaving this open until tests are fixed to work in VALIDATION_HANDLING_STRICT mode.
In middleware.indexing.py near line 96 there is:
VALIDATION_HANDLING = VALIDATION_HANDLING_WARN if "pytest" in sys.modules else VALIDATION_HANDLING_STRICT
to workaround failing tests when VALIDATION_HANDLING_STRICT.
By adding a print statement to mirror a log entry near line 1231 in middleware/indexing.py
logging.warning("{0}, {1}, {2}".format(e.valid, e.name, e.raw))
print("{0}, {1}, {2}".format(e.valid, e.name, e.raw))
Then the failing validation keys will be output to the pytest output:
src\moin\storage\middleware\indexing.py:1237: ValueError
---------------------------- Captured stdout call -----------------------------
True, contenttype, application/octet-stream
False, userid, Unset
False, size, Unset
False, sha1, Unset
True, dataid, Unset
True, itemlinks, Unset
True, itemtransclusions, Unset
True, itemid, 1502b0e1cd1645969d81434ada55bb74
True, revid, Unset
True, parentid, Unset
True, wikiname, MoinTest
True, namespace, None
True, name, ['updated']
True, name_old, Unset
True, mtime, 1
False, action, Unset
True, acl, Unset
True, comment, Unset
False, address, Unset
True, hostname, Unset
True, tags, Unset
or
src\moin\storage\middleware\indexing.py:1237: ValueError
---------------------------- Captured stdout setup ----------------------------
True, contenttype, application/x.moin.userprofile
True, email, None
True, enc_password, None
True, recoverpass_key, None
True, theme_name, None
True, timezone, None
True, locale, None
True, css_url, None
True, results_per_page, None
True, edit_rows, None
True, disabled, None
True, want_trivial, None
True, show_comments, None
True, edit_on_doubleclick, None
True, scroll_page_after_edit, None
True, mailto_author, None
True, iso_8601, None
True, quicklinks, []
True, subscriptions, []
True, email_subscribed_events, []
True, itemid, 33965a08a85e4c7589457ca92269d4c6
False, revid, None
True, parentid, None
True, wikiname, MoinTest
True, namespace, userprofiles
True, name, ['joe']
True, name_old, []
True, mtime, 1659200574
True, action, SAVE
False, acl, None
False, comment, None
True, address, None
True, hostname, None
True, tags, []
Above may not reflect all affected tests.
I experience the same issue with a1147ae28483453e2febacb8cc6a94bf39a7893a
This was shown in the console:
2023-09-20 16:14:32,085 WARNING moin.storage.middleware.indexing:1221 data validation skipped because metadata is invalid, see below
2023-09-20 16:14:32,085 WARNING moin.storage.middleware.indexing:1224 True, contenttype, text/x-markdown;charset=utf-8
2023-09-20 16:14:32,085 WARNING moin.storage.middleware.indexing:1224 True, userid, fbdf636d3480455fbfda93782d73c365
2023-09-20 16:14:32,085 WARNING moin.storage.middleware.indexing:1224 True, size, Unset
2023-09-20 16:14:32,085 WARNING moin.storage.middleware.indexing:1224 True, sha1, Unset
2023-09-20 16:14:32,085 WARNING moin.storage.middleware.indexing:1224 True, dataid, Unset
2023-09-20 16:14:32,086 WARNING moin.storage.middleware.indexing:1224 True, itemlinks, ['OtherTextItems/CSV', 'Sandkasten/Bracketed/']
2023-09-20 16:14:32,086 WARNING moin.storage.middleware.indexing:1224 True, itemtransclusions, []
2023-09-20 16:14:32,086 WARNING moin.storage.middleware.indexing:1224 True, itemid, a9e3a626348843b0b2bd77752071f490
2023-09-20 16:14:32,086 WARNING moin.storage.middleware.indexing:1224 True, revid, Unset
2023-09-20 16:14:32,086 WARNING moin.storage.middleware.indexing:1224 True, parentid, 751bd0df3e2d4f4b83a62d31ce893372
2023-09-20 16:14:32,086 WARNING moin.storage.middleware.indexing:1224 True, wikiname, MyMoinMoin
2023-09-20 16:14:32,086 WARNING moin.storage.middleware.indexing:1224 True, namespace,
2023-09-20 16:14:32,086 WARNING moin.storage.middleware.indexing:1224 True, name, ['Sandkasten']
2023-09-20 16:14:32,086 WARNING moin.storage.middleware.indexing:1224 True, name_old, Unset
2023-09-20 16:14:32,086 WARNING moin.storage.middleware.indexing:1224 True, mtime, 1695219272
2023-09-20 16:14:32,086 WARNING moin.storage.middleware.indexing:1224 True, action, Unset
2023-09-20 16:14:32,086 WARNING moin.storage.middleware.indexing:1224 True, acl, Unset
2023-09-20 16:14:32,086 WARNING moin.storage.middleware.indexing:1224 True, comment,
2023-09-20 16:14:32,086 WARNING moin.storage.middleware.indexing:1224 True, address, Unset
2023-09-20 16:14:32,086 WARNING moin.storage.middleware.indexing:1224 True, hostname, Unset
2023-09-20 16:14:32,086 WARNING moin.storage.middleware.indexing:1224 True, tags, []