|
1 | | -# Changelog for Leakdown Tester Script |
| 1 | +# Leakdown Tester Changelog |
2 | 2 | ## 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 |
28 | 32 |
|
29 | 33 | ## 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 |
52 | 58 |
|
53 | 59 | ## 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 |
65 | 73 |
|
66 | 74 | ## 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 |
93 | 109 |
|
94 | 110 | ## 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 |
110 | 132 |
|
111 | 133 | ## 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 |
119 | 143 |
|
120 | 144 | ## 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 |
131 | 158 |
|
132 | 159 | ## 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 |
143 | 173 |
|
144 | 174 | ## 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! |
149 | 180 |
|
150 | 181 | ## 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 |
159 | 192 |
|
160 | 193 | ## 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 |
164 | 198 |
|
165 | 199 | ## 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 |
171 | 206 |
|
172 | 207 | ## Version 1.0.1 |
173 | | -Released 7/30/23 |
| 208 | +*Released 7/30/23* |
174 | 209 | - Published to GitHub |
175 | 210 | - Added environment variable functionality |
176 | 211 | - Added argument functionality |
|
0 commit comments