annotate test/test_anypy.py @ 8412:0663a7bcef6c reauth-confirm_id

feat: finish reauth docs, enhance code. Decided to keep name Reauth for now. admin_guide.txt: add reference mark to roundup admin help. Used for template command reference in upgrading.txt. customizing.txt: added worked example of adding a reauth auditor for address and password. Also links to OWASP recommendations. Added link to example code in design.doc on detectors. glossary.txt: reference using roundup-admin template command in def for tracker templates. pydoc.txt: Added methods for Client class. Added class and methods for (cgi) Action, LoginAction and ReauthAction. reference.txt Edited and restructured detector section. Added section on registering a detector and priority use/execution order. (reference to design doc was used before). Added/enhanced description of exception an auditor can raise (includes Reauth). Added section on Reauth implementation and use (Confirming the User). Also has paragraph on future ideas. upgrading.txt Stripped down the original section. Moved a lot to reference.txt. Referenced customizing example, mention installation of _generic.reauth.html and reference reference.txt. cgi/actions.py: fixed bad ReST that was breaking pydoc.txt processing changed doc on limitations of Reauth code. added docstring for Reauth::verifyPassword cgi/client.py: fix ReST for a method breaking pydoc.py processing cgi/templating.py: fix docstring on embed_form_fields templates/*/html/_generic.reauth.html disable spelling for password field add timing info to the javascript function that processes file data. reformat javascript IIFE templates/jinja2/html/_generic.reauth.html create a valid jinja2 template. Looks like my original jinja template got overwritten and committed. feature parity with the other reauth templates. test/test_liveserver.py add test case for Reauth workflow. Makefile add doc.
author John Rouillard <rouilj@ieee.org>
date Wed, 13 Aug 2025 23:52:49 -0400
parents ebb03b8cee4d
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
6532
e4db9d0b85c7 test for issue2551170 process python 2 long under python3
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
1 """Random tests for anypy modules"""
e4db9d0b85c7 test for issue2551170 process python 2 long under python3
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
2
e4db9d0b85c7 test for issue2551170 process python 2 long under python3
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
3
e4db9d0b85c7 test for issue2551170 process python 2 long under python3
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
4 import unittest
e4db9d0b85c7 test for issue2551170 process python 2 long under python3
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
5 from roundup.anypy.strings import repr_export, eval_import
7824
ebb03b8cee4d test: invoke test function in cmp_.py.
John Rouillard <rouilj@ieee.org>
parents: 7766
diff changeset
6 from roundup.anypy.cmp_ import _test
6532
e4db9d0b85c7 test for issue2551170 process python 2 long under python3
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
7
e4db9d0b85c7 test for issue2551170 process python 2 long under python3
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
8 import sys
e4db9d0b85c7 test for issue2551170 process python 2 long under python3
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
9 _py3 = sys.version_info[0] > 2
e4db9d0b85c7 test for issue2551170 process python 2 long under python3
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
10
e4db9d0b85c7 test for issue2551170 process python 2 long under python3
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
11 class StringsTest(unittest.TestCase):
e4db9d0b85c7 test for issue2551170 process python 2 long under python3
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
12
e4db9d0b85c7 test for issue2551170 process python 2 long under python3
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
13 def test_import_params(self):
e4db9d0b85c7 test for issue2551170 process python 2 long under python3
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
14 """ issue2551170 - handle long int in history/journal
e4db9d0b85c7 test for issue2551170 process python 2 long under python3
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
15 params tuple
e4db9d0b85c7 test for issue2551170 process python 2 long under python3
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
16 """
e4db9d0b85c7 test for issue2551170 process python 2 long under python3
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
17 # python2 export with id as number
e4db9d0b85c7 test for issue2551170 process python 2 long under python3
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
18 val = eval_import("('issue', 2345L, 'status')")
e4db9d0b85c7 test for issue2551170 process python 2 long under python3
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
19 self.assertSequenceEqual(val, ('issue', 2345, 'status'))
e4db9d0b85c7 test for issue2551170 process python 2 long under python3
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
20
7766
c65e0a725c88 fix: replace eval with ast.literal_eval; ruff linting
John Rouillard <rouilj@ieee.org>
parents: 6532
diff changeset
21 # eval a tuple e.g. date representation
c65e0a725c88 fix: replace eval with ast.literal_eval; ruff linting
John Rouillard <rouilj@ieee.org>
parents: 6532
diff changeset
22 val = eval_import("(2022, 9, 6, 3, 58, 4.776, 0, 0, 0)")
c65e0a725c88 fix: replace eval with ast.literal_eval; ruff linting
John Rouillard <rouilj@ieee.org>
parents: 6532
diff changeset
23 self.assertSequenceEqual(val, (2022, 9, 6, 3, 58, 4.776, 0, 0, 0))
c65e0a725c88 fix: replace eval with ast.literal_eval; ruff linting
John Rouillard <rouilj@ieee.org>
parents: 6532
diff changeset
24
c65e0a725c88 fix: replace eval with ast.literal_eval; ruff linting
John Rouillard <rouilj@ieee.org>
parents: 6532
diff changeset
25 # eval a boolean
c65e0a725c88 fix: replace eval with ast.literal_eval; ruff linting
John Rouillard <rouilj@ieee.org>
parents: 6532
diff changeset
26 val = eval_import("False")
c65e0a725c88 fix: replace eval with ast.literal_eval; ruff linting
John Rouillard <rouilj@ieee.org>
parents: 6532
diff changeset
27 self.assertEqual(val, False)
c65e0a725c88 fix: replace eval with ast.literal_eval; ruff linting
John Rouillard <rouilj@ieee.org>
parents: 6532
diff changeset
28 val = eval_import("True")
c65e0a725c88 fix: replace eval with ast.literal_eval; ruff linting
John Rouillard <rouilj@ieee.org>
parents: 6532
diff changeset
29 self.assertEqual(val, True)
c65e0a725c88 fix: replace eval with ast.literal_eval; ruff linting
John Rouillard <rouilj@ieee.org>
parents: 6532
diff changeset
30
c65e0a725c88 fix: replace eval with ast.literal_eval; ruff linting
John Rouillard <rouilj@ieee.org>
parents: 6532
diff changeset
31 # check syntax error
c65e0a725c88 fix: replace eval with ast.literal_eval; ruff linting
John Rouillard <rouilj@ieee.org>
parents: 6532
diff changeset
32 for testcase in ['true', '(2004, 10, 20', "2000, 10, 22)",
c65e0a725c88 fix: replace eval with ast.literal_eval; ruff linting
John Rouillard <rouilj@ieee.org>
parents: 6532
diff changeset
33 "test'", '"test']:
c65e0a725c88 fix: replace eval with ast.literal_eval; ruff linting
John Rouillard <rouilj@ieee.org>
parents: 6532
diff changeset
34 with self.assertRaises(ValueError) as m:
c65e0a725c88 fix: replace eval with ast.literal_eval; ruff linting
John Rouillard <rouilj@ieee.org>
parents: 6532
diff changeset
35 val = eval_import(testcase)
c65e0a725c88 fix: replace eval with ast.literal_eval; ruff linting
John Rouillard <rouilj@ieee.org>
parents: 6532
diff changeset
36 print(m.exception)
c65e0a725c88 fix: replace eval with ast.literal_eval; ruff linting
John Rouillard <rouilj@ieee.org>
parents: 6532
diff changeset
37
6532
e4db9d0b85c7 test for issue2551170 process python 2 long under python3
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
38 # python3 export with id as number
e4db9d0b85c7 test for issue2551170 process python 2 long under python3
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
39 val = eval_import("('issue', 2345, 'status')")
e4db9d0b85c7 test for issue2551170 process python 2 long under python3
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
40 self.assertSequenceEqual(val, ('issue', 2345, 'status'))
e4db9d0b85c7 test for issue2551170 process python 2 long under python3
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
41
e4db9d0b85c7 test for issue2551170 process python 2 long under python3
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
42 # python2 or python3 export with id as string
e4db9d0b85c7 test for issue2551170 process python 2 long under python3
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
43 val = eval_import("('issue', '2345', 'status')")
e4db9d0b85c7 test for issue2551170 process python 2 long under python3
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
44 self.assertSequenceEqual(val, ('issue', '2345', 'status'))
e4db9d0b85c7 test for issue2551170 process python 2 long under python3
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
45
e4db9d0b85c7 test for issue2551170 process python 2 long under python3
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
46 def test_export_params(self):
e4db9d0b85c7 test for issue2551170 process python 2 long under python3
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
47 """ issue2551170 - handle long int in history/journal
e4db9d0b85c7 test for issue2551170 process python 2 long under python3
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
48 params tuple
e4db9d0b85c7 test for issue2551170 process python 2 long under python3
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
49 """
e4db9d0b85c7 test for issue2551170 process python 2 long under python3
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
50 # python2 export with id as number
e4db9d0b85c7 test for issue2551170 process python 2 long under python3
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
51 if _py3:
e4db9d0b85c7 test for issue2551170 process python 2 long under python3
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
52 val = repr_export(('issue', 2345, 'status'))
e4db9d0b85c7 test for issue2551170 process python 2 long under python3
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
53 self.assertEqual(val, "('issue', 2345, 'status')")
e4db9d0b85c7 test for issue2551170 process python 2 long under python3
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
54 else:
e4db9d0b85c7 test for issue2551170 process python 2 long under python3
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
55 val = repr_export(('issue', long(2345), 'status'))
e4db9d0b85c7 test for issue2551170 process python 2 long under python3
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
56 self.assertEqual(val, "('issue', 2345L, 'status')")
e4db9d0b85c7 test for issue2551170 process python 2 long under python3
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
57
e4db9d0b85c7 test for issue2551170 process python 2 long under python3
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
58 # python2 or python3 export with id as string
e4db9d0b85c7 test for issue2551170 process python 2 long under python3
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
59 val = repr_export(('issue', '2345', 'status'))
e4db9d0b85c7 test for issue2551170 process python 2 long under python3
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
60 self.assertEqual(val, "('issue', '2345', 'status')")
e4db9d0b85c7 test for issue2551170 process python 2 long under python3
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
61
7824
ebb03b8cee4d test: invoke test function in cmp_.py.
John Rouillard <rouilj@ieee.org>
parents: 7766
diff changeset
62 class MiscTest(unittest.TestCase):
ebb03b8cee4d test: invoke test function in cmp_.py.
John Rouillard <rouilj@ieee.org>
parents: 7766
diff changeset
63
ebb03b8cee4d test: invoke test function in cmp_.py.
John Rouillard <rouilj@ieee.org>
parents: 7766
diff changeset
64 def test_cmp_(self):
ebb03b8cee4d test: invoke test function in cmp_.py.
John Rouillard <rouilj@ieee.org>
parents: 7766
diff changeset
65 _test()

Roundup Issue Tracker: http://roundup-tracker.org/