annotate roundup/test/tx_Source_detector.py @ 7531:913a73b9fab5 2.3.0

Update for 2.3.0 release
author John Rouillard <rouilj@ieee.org>
date Wed, 12 Jul 2023 23:00:25 -0400
parents 137aabd876ad
children 9c3ec0a5c7fc
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4781
6e9b9743de89 Implementation for:
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
1 #
6e9b9743de89 Implementation for:
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
2 # Example output when the web interface changes item 3 and the email
6e9b9743de89 Implementation for:
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
3 # (non pgp) interface changes item 4:
6e9b9743de89 Implementation for:
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
4 #
6e9b9743de89 Implementation for:
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
5 # tx_SourceCheckAudit(3) pre db.tx_Source: cgi
6e9b9743de89 Implementation for:
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
6 # tx_SourceCheckAudit(4) pre db.tx_Source: email
6e9b9743de89 Implementation for:
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
7 # tx_SourceCheckAudit(3) post db.tx_Source: cgi
6e9b9743de89 Implementation for:
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
8 # tx_SourceCheckAudit(4) post db.tx_Source: email
6e9b9743de89 Implementation for:
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
9 # tx_SourceCheckReact(4) pre db.tx_Source: email
6e9b9743de89 Implementation for:
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
10 # tx_SourceCheckReact(4) post db.tx_Source: email
6e9b9743de89 Implementation for:
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
11 # tx_SourceCheckReact(3) pre db.tx_Source: cgi
6e9b9743de89 Implementation for:
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
12 # tx_SourceCheckReact(3) post db.tx_Source: cgi
6e9b9743de89 Implementation for:
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
13 #
6e9b9743de89 Implementation for:
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
14 # Note that the calls are interleaved, but the proper
6e9b9743de89 Implementation for:
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
15 # tx_Source is associated with the same ticket.
6e9b9743de89 Implementation for:
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
16
5376
64b05e24dbd8 Python 3 preparation: convert print to a function.
Joseph Myers <jsm@polyomino.org.uk>
parents: 4781
diff changeset
17 from __future__ import print_function
7033
137aabd876ad flake8 fixes test code.
John Rouillard <rouilj@ieee.org>
parents: 6361
diff changeset
18
4781
6e9b9743de89 Implementation for:
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
19
6e9b9743de89 Implementation for:
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
20 def tx_SourceCheckAudit(db, cl, nodeid, newvalues):
6e9b9743de89 Implementation for:
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
21 ''' An auditor to print the value of the source of the
6e9b9743de89 Implementation for:
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
22 transaction that trigger this change. The sleep call
6e9b9743de89 Implementation for:
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
23 is used to delay the transaction so that multiple changes will
6e9b9743de89 Implementation for:
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
24 overlap. The expected output from this detector are 2 lines
6e9b9743de89 Implementation for:
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
25 with the same value for tx_Source. Tx source is:
6e9b9743de89 Implementation for:
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
26 None - Reported when using a script or it is an error if
6e9b9743de89 Implementation for:
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
27 the change arrives by another method.
6e9b9743de89 Implementation for:
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
28 "cli" - reported when using roundup-admin
5881
9938c40e03bc Add "rest" and "xmlrpc" values for database tx_Source property
John Rouillard <rouilj@ieee.org>
parents: 5376
diff changeset
29 "web" - reported when using html based web pages
9938c40e03bc Add "rest" and "xmlrpc" values for database tx_Source property
John Rouillard <rouilj@ieee.org>
parents: 5376
diff changeset
30 "rest" - reported when using the /rest web API
9938c40e03bc Add "rest" and "xmlrpc" values for database tx_Source property
John Rouillard <rouilj@ieee.org>
parents: 5376
diff changeset
31 "xmlrpc" - reported when using the /xmlrpc web API
4781
6e9b9743de89 Implementation for:
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
32 "email" - reported when using an unautheticated email based technique
6e9b9743de89 Implementation for:
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
33 "email-sig-openpgp" - reported when email with a valid pgp
6e9b9743de89 Implementation for:
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
34 signature is used
6e9b9743de89 Implementation for:
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
35 '''
6e9b9743de89 Implementation for:
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
36 if __debug__ and False:
7033
137aabd876ad flake8 fixes test code.
John Rouillard <rouilj@ieee.org>
parents: 6361
diff changeset
37 print("\n tx_SourceCheckAudit(%s) db.tx_Source: %s" % (
137aabd876ad flake8 fixes test code.
John Rouillard <rouilj@ieee.org>
parents: 6361
diff changeset
38 nodeid, db.tx_Source))
4781
6e9b9743de89 Implementation for:
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
39
6e9b9743de89 Implementation for:
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
40 newvalues['tx_Source'] = db.tx_Source
6e9b9743de89 Implementation for:
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
41
6e9b9743de89 Implementation for:
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
42 # example use for real to prevent a change from happening if it's
6e9b9743de89 Implementation for:
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
43 # submited via email
6e9b9743de89 Implementation for:
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
44 #
6e9b9743de89 Implementation for:
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
45 # if db.tx_Source == "email":
6e9b9743de89 Implementation for:
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
46 # raise Reject, 'Change not allowed via email'
6e9b9743de89 Implementation for:
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
47
7033
137aabd876ad flake8 fixes test code.
John Rouillard <rouilj@ieee.org>
parents: 6361
diff changeset
48
4781
6e9b9743de89 Implementation for:
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
49 def tx_SourceCheckReact(db, cl, nodeid, oldvalues):
6e9b9743de89 Implementation for:
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
50 ''' An reactor to print the value of the source of the
6e9b9743de89 Implementation for:
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
51 transaction that trigger this change. The sleep call
6e9b9743de89 Implementation for:
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
52 is used to delay the transaction so that multiple changes will
6e9b9743de89 Implementation for:
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
53 overlap. The expected output from this detector are 2 lines
6e9b9743de89 Implementation for:
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
54 with the same value for tx_Source. Tx source is:
6e9b9743de89 Implementation for:
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
55 None - Reported when using a script or it is an error if
6e9b9743de89 Implementation for:
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
56 the change arrives by another method.
6e9b9743de89 Implementation for:
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
57 "cli" - reported when using roundup-admin
5881
9938c40e03bc Add "rest" and "xmlrpc" values for database tx_Source property
John Rouillard <rouilj@ieee.org>
parents: 5376
diff changeset
58 "web" - reported when using html based web pages
9938c40e03bc Add "rest" and "xmlrpc" values for database tx_Source property
John Rouillard <rouilj@ieee.org>
parents: 5376
diff changeset
59 "rest" - reported when using the /rest web API
9938c40e03bc Add "rest" and "xmlrpc" values for database tx_Source property
John Rouillard <rouilj@ieee.org>
parents: 5376
diff changeset
60 "xmlrpc" - reported when using the /xmlrpc web API
4781
6e9b9743de89 Implementation for:
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
61 "email" - reported when using an unautheticated email based technique
6e9b9743de89 Implementation for:
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
62 "email-sig-openpgp" - reported when email with a valid pgp
6e9b9743de89 Implementation for:
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
63 signature is used
6e9b9743de89 Implementation for:
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
64 '''
6e9b9743de89 Implementation for:
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
65
6e9b9743de89 Implementation for:
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
66 if __debug__ and False:
7033
137aabd876ad flake8 fixes test code.
John Rouillard <rouilj@ieee.org>
parents: 6361
diff changeset
67 print(" tx_SourceCheckReact(%s) db.tx_Source: %s" % (
137aabd876ad flake8 fixes test code.
John Rouillard <rouilj@ieee.org>
parents: 6361
diff changeset
68 nodeid, db.tx_Source))
4781
6e9b9743de89 Implementation for:
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
69
6e9b9743de89 Implementation for:
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
70
6e9b9743de89 Implementation for:
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
71 def init(db):
6e9b9743de89 Implementation for:
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
72 db.issue.audit('create', tx_SourceCheckAudit)
6e9b9743de89 Implementation for:
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
73 db.issue.audit('set', tx_SourceCheckAudit)
6e9b9743de89 Implementation for:
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
74
6e9b9743de89 Implementation for:
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
75 db.issue.react('set', tx_SourceCheckReact)
6e9b9743de89 Implementation for:
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
76 db.issue.react('create', tx_SourceCheckReact)
6e9b9743de89 Implementation for:
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
77
6e9b9743de89 Implementation for:
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
78 db.msg.audit('create', tx_SourceCheckAudit)

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