cisagov / gophish-tools

Helpful tools for interacting with a GoPhish phishing instance
Creative Commons Zero v1.0 Universal
42 stars 6 forks source link

Fix Assessment Mismatch #13

Closed bjb28 closed 3 years ago

bjb28 commented 4 years ago

This PR addresses the incorrect matching of assessment ids reported in issue #11. Beyond just fixing the problem in gophish-export, the issue was addressed throughout the gophish scripts by creating a match_assessment_id module. Tests were created for gophish-export to ensure the modules performed as expected. An additional pytest was created for the match_assessment_id module before shifting all scripts to utilize the module.

While doing manual tests, a missing group identifier was discovered in groups created by gophish-test. As a result, this new method of matching elements did not function correctly, so a group identifier was added in 3b24383. The group identifier is the last segment of the group name (e.g. "TEST-ASSEMENT_ID-G1").

As a housekeeping item to decrease the number of utility modules, the set_date module has been included with the new util.utils.py file; see bff750f. With this move, a test was also created for the set_date module, see 3b25c7f.

Note: I did not address formatting throughout the gophish scripts with this PR as a future PR will be done for the entire project to address overall formatting in chunks.

💭 Motivation and Context

Addressing issue #11 makes it so the user will get the correct assessment elements when utilizing the gophish scripts. If this were not fixed, an assessment with a similar id could be inadvertently impacted.

🧪 Testing

Pytests were created for the changes in gophish-export, the new module match_assessment_id, and the moved module set_date. Additionally, manual tests were run through each script to locate any unexpected issues.

📷 Screenshots (if appropriate)

🚥 Types of Changes

✅ Checklist

lgtm-com[bot] commented 4 years ago

This pull request introduces 1 alert when merging 3b25c7f02f84d6b3d2e1603f1800bc0737d888d7 into ca2f48087993a731434fd10ca0717555e7b3b00f - view on LGTM.com

new alerts:

BenBreaksThings commented 3 years ago

Created by individual no longer supporting the team or the repository, left unattended and without handoff between development teams. Recommend closing the PR without adopting as the codebase has changed multiple times since PR went dormant and the requirements of the project and the teams supported by the project have evolved. Any future iteration of the intent of this PR to be opened/addressed in a discrete, deliberate PR.