Skip to content

Commit 9247e0c

Browse files
authored
Update changelog.md
1 parent c0f582e commit 9247e0c

File tree

1 file changed

+183
-148
lines changed

1 file changed

+183
-148
lines changed

changelog.md

Lines changed: 183 additions & 148 deletions
Original file line numberDiff line numberDiff line change
@@ -1,176 +1,211 @@
1-
# Changelog for Leakdown Tester Script
1+
# Leakdown Tester Changelog
22
## Version 2.0.0
3-
Released TBD (indev)
4-
- **Versioned:** All releases > 1.6.0 will 'live' in a new, independent repository
5-
- Repo is at [Display-lab/Leakdown-Tester](https://github.com/Display-Lab/Leakdown-Tester)
6-
- Liscensed with GNU General Public Liscense 3.0 (share-alike)
7-
- Earlier versions can be found in the caches of the [precision-feedback-pipeline](https://github.com/Display-Lab/precision-feedback-pipeline) repo
8-
9-
- **Feature:** Added more comprehensive logging support with 'logging' module
10-
- Use with arg `--debug` and `--saveDebug`
11-
- Allows extensive debug logging, shows function flow step-by-step for debug and dev
12-
- Can save LDT output logs for review/sharing
13-
- Configured to not impact normal outputs
14-
15-
- **Feature:** Added postwoman function
16-
- Allows editing addendum file to send custom performance data from script without impacting context, footer, GitHub, or CSV.
17-
- Named after Postman; replicates strengths of using Postman API, but telemetry free and in LDT
18-
19-
- **Improvement:** Implemented argument groups
20-
- Handles user errors relative to setting multiple test behaviors or V&V operations
21-
- **Improvement:** Restructured argument namespace setup code
22-
- Args now organized by function
23-
- **Improvement:** Removed redundant local variable assignments from arg namespace
24-
- Directly reading from args namespace removes extraneous code lines
25-
- Removes neccessity of global-scoping local vars
26-
- **Improvement:** Added option "all" to argument --pathway
27-
- Connects to newest test case which contains 4 months of all ten pathway's datasets
3+
*Released 8/31/2023*
4+
5+
**Versioned:** All releases > 1.6.0 will 'live' in a new, independent repository
6+
- Repo is at [Display-lab/Leakdown-Tester](https://github.com/Display-Lab/Leakdown-Tester)
7+
- Liscensed with GNU General Public Liscense 3.0 (share-alike)
8+
- Earlier versions can be found in the caches of the [precision-feedback-pipeline](https://github.com/Display-Lab/precision-feedback-pipeline) repo
9+
10+
**Feature:** Added more comprehensive logging support with 'logging' module
11+
- Use with arg `--debug` and `--saveDebug`
12+
- Allows extensive debug logging, shows function flow step-by-step for debug and dev
13+
- Can save LDT output logs for review/sharing
14+
- Configured to not impact normal outputs
15+
16+
**Feature:** Added postwoman function
17+
- Allows editing addendum file to send custom performance data from script without impacting context, footer, GitHub, or CSV.
18+
- Named after Postman; replicates strengths of using Postman API, but telemetry free and in LDT
19+
20+
**Improvement:** Implemented argument groups
21+
- Handles user errors relative to setting multiple test behaviors or V&V operations
22+
23+
**Improvement:** Restructured argument namespace setup code
24+
- Args now organized by function
25+
26+
**Improvement:** Removed redundant local variable assignments from arg namespace
27+
- Directly reading from args namespace removes extraneous code lines
28+
- Removes neccessity of global-scoping local vars
29+
30+
**Improvement:** Added option "all" to argument --pathway
31+
- Connects to newest test case which contains 4 months of all ten pathway's datasets
2832

2933
## Version 1.6.0
30-
Released 8/30/23
31-
- **Feature:** Added ability to test 'causal pathway test suite' input files
32-
- Added arg `--allCPs`
33-
- Tests all causal-pathway-specific input messages
34-
- Added arg `--useCPath`
35-
- Causal pathway equivalent of `--usePers`
36-
- See readme, accepts lowercase name of causal pathway (with underscores)
37-
- Added modality to test_persona(), restructured to support this
38-
- Added "mode" variable argument, sets URL for github content retrieval
39-
- Restructured to handle multiple URL paths based on new "mode" variable
40-
- Renamed `--repoTest` to `--allPersonas`
41-
- Reflects function better than old name
42-
- Renamed numerous arguments to more accurately reflect function, no user changes
43-
- Changed active print statements to de-clutter console when running LDT
44-
45-
- **Improvement:** refactored versioning, 'hitlists' to addendum file
46-
+ Increases cohesion of main script file
47-
+ Allows all files to update on GitHub when new versions are released
48-
+ Moves long/cluttered dicts to addendum file out of sight
49-
- **Improvement:** reworked `--vignVal` (formerly --validate)
50-
- Reformatted prints to print valid pairs of maeasures and causal pathways, then the measure/CP pair returned by the PFP API
51-
- Drastically improved usefulness of script's console statements when sharing bug reports
34+
*Released 8/30/23*
35+
36+
**Feature:** Added ability to test 'causal pathway test suite' input files
37+
- Added arg `--allCPs`
38+
- Tests all causal-pathway-specific input messages
39+
- Added arg `--useCPath`
40+
- Causal pathway equivalent of `--usePers`
41+
- See readme, accepts lowercase name of causal pathway (with underscores)
42+
- Added modality to test_persona(), restructured to support this
43+
- Added "mode" variable argument, sets URL for github content retrieval
44+
- Restructured to handle multiple URL paths based on new "mode" variable
45+
- Renamed `--repoTest` to `--allPersonas`
46+
- Reflects function better than old name
47+
- Renamed numerous arguments to more accurately reflect function, no user changes
48+
- Changed active print statements to de-clutter console when running LDT
49+
50+
**Improvement:** refactored versioning, 'hitlists' to addendum file
51+
+ Increases cohesion of main script file
52+
+ Allows all files to update on GitHub when new versions are released
53+
+ Moves long/cluttered dicts to addendum file out of sight
54+
55+
**Improvement:** reworked `--vignVal` (formerly --validate)
56+
- Reformatted prints to print valid pairs of maeasures and causal pathways, then the measure/CP pair returned by the PFP API
57+
- Drastically improved usefulness of script's console statements when sharing bug reports
5258

5359
## Version 1.5.0
54-
Released 8/19/23
55-
- Added multithreading capability to the script
56-
+ Use `--threads X` to start multiple threads to run requests simultaneously against the pipeline.
57-
+ Changed request naming convention, allow save_resp to work properly
58-
+ Many structural changes to support multithreading
59-
60-
- Renamed `send_req` and `send_iap_req` to `..._post`
61-
+ Renamed to more precisely describe their functions
62-
- Added function `post_and_respond`
63-
+ Refactored the logic for determining which kind of post request to send based on target to this function
64-
+ Included call to handle_response here so that responses can still be logged, printed, or validated against vignette values
60+
*Released 8/19/23*
61+
62+
Added multithreading capability to the script
63+
+ Use `--threads X` to start multiple threads to run requests simultaneously against the pipeline.
64+
+ Changed request naming convention, allow save_resp to work properly
65+
+ Many structural changes to support multithreading
66+
67+
Renamed `send_req` and `send_iap_req` to `..._post`
68+
+ Renamed to more precisely describe their functions
69+
70+
Added function `post_and_respond`
71+
+ Refactored the logic for determining which kind of post request to send based on target to this function
72+
+ Included call to handle_response here so that responses can still be logged, printed, or validated against vignette values
6573

6674
## Version 1.4.3
67-
Resleased 8/18/23
68-
- Updated handle_response() function
69-
+ Refactored code to check first for 200 status code response, THEN to pull JSON keys for vignette validation
70-
+ Allows for increased description of bad API responses
71-
+ Refactoring into handle_response eliminates 8 lines of code from script
72-
- Updated test_persona() function
73-
+ Allow function to send requests to GCP API
74-
+ Altered print statement to remove unnecesary request # reporting
75-
+ Removed total request argument as now unnecessary
76-
- Changed arg `--reqs` to `--tests`
77-
+ Reflects that some test modes can send upward of one request
78-
+ Changed codebase to reflect naming convention change
79-
+ Changed readback statements to show which test loop is running
80-
- Renamed/reworked function `confirm_content`, now `set_behavior`
81-
+ Function now determines what kind of test for the script to run with logicals, as well as handle the errors of the old function
82-
- Removed function `startup_checklist`
83-
+ Going forward, startup functions will now print a readback statement to the user as they set configuration details for the script
84-
+ This cuts down on the amount of logical processes done by the script, but does decrease readability somewhat
85-
- Added function `calc_total_reqs`
86-
+ Function calculates the total number of POST requests the script will send for each initialization of the script
87-
+ Will become more important as multithreading is implemented
88-
- Renamed `validate_output` to `response_vign_validate`
89-
+ Changed to better reflect what the function is accomplishing (increased clarity)
90-
- Updated `main`
91-
+ With inclusion of "set_behavior", can now much more clearly follow how Post requests are being sent differently based on the test behavior desired
92-
+ Included all function calls that send a POST in the "Send POST requests" loop
75+
*Released 8/18/23*
76+
77+
Updated handle_response() function
78+
+ Refactored code to check first for 200 status code response, THEN to pull JSON keys for vignette validation
79+
+ Allows for increased description of bad API responses
80+
+ Refactoring into handle_response eliminates 8 lines of code from script
81+
82+
Updated test_persona() function
83+
+ Allow function to send requests to GCP API
84+
+ Altered print statement to remove unnecesary request # reporting
85+
+ Removed total request argument as now unnecessary
86+
87+
Changed arg `--reqs` to `--tests`
88+
+ Reflects that some test modes can send upward of one request
89+
+ Changed codebase to reflect naming convention change
90+
+ Changed readback statements to show which test loop is running
91+
92+
Renamed/reworked function `confirm_content`, now `set_behavior`
93+
+ Function now determines what kind of test for the script to run with logicals, as well as handle the errors of the old function
94+
95+
Removed function `startup_checklist`
96+
+ Going forward, startup functions will now print a readback statement to the user as they set configuration details for the script
97+
+ This cuts down on the amount of logical processes done by the script, but does decrease readability somewhat
98+
99+
Added function `calc_total_reqs`
100+
+ Function calculates the total number of POST requests the script will send for each initialization of the script
101+
+ Will become more important as multithreading is implemented
102+
103+
Renamed `validate_output` to `response_vign_validate`
104+
+ Changed to better reflect what the function is accomplishing (increased clarity)
105+
106+
Updated `main`
107+
+ With inclusion of "set_behavior", can now much more clearly follow how Post requests are being sent differently based on the test behavior desired
108+
+ Included all function calls that send a POST in the "Send POST requests" loop
93109

94110
## Version 1.4.2
95-
Released 8/16/23
96-
- Added env var "SAPATH"
97-
+ Allows path to Service Account file for GCP testing to be set with env var
98-
- Added argument "persona"
99-
+ Used to test single persona data from knowledgebase input_message files
100-
* Will be helpful for debugging individual errors down the line (eg Fahad, Gaile bugs currently being encountered)
101-
- Reworked argument and env var declaration and conflict handling
102-
+ in-line assignment of args and env vars - decreases number of vars used overall
103-
+ Removed if statements from `confirm_target` to support above
104-
- Worked on GCP testing functionality
105-
+ Assert statements added to ensure requisite info present before POSTing to GCP
106-
- Re-worked vignette validation functionality
107-
+ Clarified language returned by LDT to tell user validation is only against expected vignette content pairings, not validating overall message in some way.
108-
- Refactored repo_test function
109-
+ Removed repeat code blocks to allow for implementation of single repo test function
111+
*Released 8/16/23*
112+
113+
Added env var "SAPATH"
114+
+ Allows path to Service Account file for GCP testing to be set with env var
115+
116+
Added argument "persona"
117+
+ Used to test single persona data from knowledgebase input_message files
118+
* Will be helpful for debugging individual errors down the line (eg Fahad, Gaile bugs currently being encountered)
119+
120+
Reworked argument and env var declaration and conflict handling
121+
+ in-line assignment of args and env vars - decreases number of vars used overall
122+
+ Removed if statements from `confirm_target` to support above
123+
124+
Worked on GCP testing functionality
125+
+ Assert statements added to ensure requisite info present before POSTing to GCP
126+
127+
Re-worked vignette validation functionality
128+
+ Clarified language returned by LDT to tell user validation is only against expected vignette content pairings, not validating overall message in some way.
129+
130+
Refactored repo_test function
131+
+ Removed repeat code blocks to allow for implementation of single repo test function
110132

111133
## Version 1.4.1
112-
Released 8/10/23
113-
- Changed `LDT_Addendum`
114-
+ Changed from checking persona based keys to staff_number based keys
115-
+ Allows for validation of any successful post request
116-
- Changed validation procedure to allow any post request to be validated
117-
+ Implemented validation of post request(s) based on using staff_number to compare against keys vs. using personas
118-
+ Successfully tested functionality with both CSV and GitHub input messages
134+
*Released 8/10/23*
135+
136+
Changed `LDT_Addendum`
137+
+ Changed from checking persona based keys to staff_number based keys
138+
+ Allows for validation of any successful post request
139+
140+
Changed validation procedure to allow any post request to be validated
141+
+ Implemented validation of post request(s) based on using staff_number to compare against keys vs. using personas
142+
+ Successfully tested functionality with both CSV and GitHub input messages
119143

120144
## Version 1.4.0
121-
Released 8/9/23
122-
- Added `LDT_Addendum.py` to Leakdown Tester folder
123-
+ Functions as a store for large text variables that may need to periodically change without impacting `leakTester.py`
124-
+ Contains validation target values
125-
+ Contains header and footer of input_message JSON content for CSV payload building
126-
- Removed function `assemble_payload`
127-
+ Obsolete with LDT_Addendum addition
128-
- Added `validate` functionality to `repoTest`
129-
+ Compares against a seperate python dictionary file with desired output message value pairs determined by the vignettes. Note: Only works alongside `repoTest`.
130-
* This file can be updated if vignette data changes without versioning Leakdown Tester
145+
*Released 8/9/23*
146+
147+
Added `LDT_Addendum.py` to Leakdown Tester folder
148+
+ Functions as a store for large text variables that may need to periodically change without impacting `leakTester.py`
149+
+ Contains validation target values
150+
+ Contains header and footer of input_message JSON content for CSV payload building
151+
152+
Removed function `assemble_payload`
153+
+ Obsolete with LDT_Addendum addition
154+
155+
Added `validate` functionality to `repoTest`
156+
+ Compares against a seperate python dictionary file with desired output message value pairs determined by the vignettes. Note: Only works alongside `repoTest`.
157+
* This file can be updated if vignette data changes without versioning Leakdown Tester
131158

132159
## Version 1.3.0
133-
Released 8/9/23
134-
- Added automated knowledgebase repo testing functionality
135-
+ use `--repoTest` as arg to run
136-
- Refactored script for readability and cohesion
137-
+ GCP functionality not verified online
138-
+ Planned: Verified GCP functionality, anticipated in next patch (V 1.3.1)
139-
- Reformatted CSV-JSON builder
140-
+ Removed debug key
141-
+ Updated exepected performance data headers
142-
+ Updated braketing to support debug key removal
160+
*Released 8/9/23*
161+
162+
Added automated knowledgebase repo testing functionality
163+
+ use `--repoTest` as arg to run
164+
165+
Refactored script for readability and cohesion
166+
+ GCP functionality not verified online
167+
+ Planned: Verified GCP functionality, anticipated in next patch (V 1.3.1)
168+
169+
Reformatted CSV-JSON builder
170+
+ Removed debug key
171+
+ Updated exepected performance data headers
172+
+ Updated braketing to support debug key removal
143173

144174
## Version 1.2.0
145-
Released 8/7/23
146-
- Added Google Cloud Platform functionality
147-
+ use `--target cloud` to test against the GCP API instance
148-
+ Thanks Ayshwarya!
175+
*Released 8/7/23*
176+
177+
Added Google Cloud Platform functionality
178+
+ use `--target cloud` to test against the GCP API instance
179+
+ Thanks Ayshwarya!
149180

150181
## Version 1.1.2
151-
Release 8/2/23
152-
- Updated useGit functionality
153-
+ GitHub links now supercede CSV content without user input
154-
* Changed warning print to INFO to reflect above
155-
+ useGit now accepts both 'raw' and standard github page links
156-
- Updated startup messaging
157-
+ Welcome message now predecates all print statements
158-
+ Version number included in welcome message
182+
*Release 8/2/23*
183+
184+
Updated useGit functionality
185+
+ GitHub links now supercede CSV content without user input
186+
* Changed warning print to INFO to reflect above
187+
+ useGit now accepts both 'raw' and standard github page links
188+
189+
Updated startup messaging
190+
+ Welcome message now predecates all print statements
191+
+ Version number included in welcome message
159192

160193
## Version 1.1.1
161-
Released 8/2/23
162-
- Changed JSON content formatting for CSV-built messages
163-
+ Updated to new baseline being used for full-team pipeline testing
194+
*Released 8/2/23*
195+
196+
Changed JSON content formatting for CSV-built messages
197+
+ Updated to new baseline being used for full-team pipeline testing
164198

165199
## Version 1.1.0
166-
Released 8/2/23
167-
- Implemented useGit functionality
168-
+ Can now accept JSON content directly from GitHub files
169-
+ Requires raw github link
170-
* Planned: implement code to convert non-raw link to raw before import, with a checker so both can be acceptable
200+
*Released 8/2/23*
201+
202+
Implemented useGit functionality
203+
+ Can now accept JSON content directly from GitHub files
204+
+ Requires raw github link
205+
* Planned: implement code to convert non-raw link to raw before import, with a checker so both can be acceptable
171206

172207
## Version 1.0.1
173-
Released 7/30/23
208+
*Released 7/30/23*
174209
- Published to GitHub
175210
- Added environment variable functionality
176211
- Added argument functionality

0 commit comments

Comments
 (0)