Fix successful icon creation reported as failure (#17)#18
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Linked Issue
Closes #17
Root Cause
The creation branch of
update_iconissues aPOST /api/v2/custom-nodesand then gated its success message onr.status_code == 200. The BloodHound endpoint returns201 Createdfor a successful POST, so the check was always false on a real create, sending control into the failure branch and printingFailed to update custom icon ... (HTTP 201)despite the icon being registered.Fix Description
Accept both
200and201as success for the POST. The corresponding messages were also corrected to say "created" / "Failed to create" so the create branch no longer claims it "updated" the icon. No behavior changed in the PUT (update) branch, which still correctly expects200.How Verified
Static: the POST create path now reports success on
201, the status the create endpoint returns, and only prints the failure message on other statuses.python3 -m py_compile set-custom-icons.pypasses.Test Coverage
None: the script has no test harness and the path requires a live BloodHound API to return a real status code; the change is a status-code comparison with no other logic.
Scope of Change
set-custom-icons.py