Auto repair invalid Provider JSON, PowerPlatform 3.1 tenant isolation hotfix, Fix AAD crash when no tenant licenses#2255
Conversation
… null based on actual data from an agency tenant where the feature was never configured. Added auto repair of invalid JSON file to Invoke-ScubaCached; works for both invalid provider settings JSON files and invalid ScubaResults files. Streamlined processing of provider JSON versus ScubaResults JSON files to make Invoke-ScubaCached more resilient and have a documented, deterministic execution flow.
…of null based on actual data from an agency tenant. Same change to the respective functional test.
…which was generated by any of the providers. Fixed bug that crashes AAD when PrivilegedServicePrincipals is empty due to no $ServicePlans in the tenant; this bug was from an agency.
…ation-returns-hotfix
… attempting to repair it. If not it crashes when the provider does not produce any JSON.
bacb215 to
8925329
Compare
…Invoke-ScubaCached with Invoke-Scuba in next release.
|
FYI, I had to comment out some Pester tests in Invoke-ScubaCached.Tests.ps1 that were failing. All the Invoke-ScubaCached pester tests will need to be rewritten once we merge that cmdlet with Invoke-Scuba via #2217. |
…gins to README for Invoke-Scuba and message to console output.
JosephRWalter
left a comment
There was a problem hiding this comment.
I went through all the tests in the testcase file, they all performed as expected. Looks good.
mitchelbaker-cisa
left a comment
There was a problem hiding this comment.
Went through all test scenarios and received the expected output. For test scenario 16 (putting invalid JSON in the providers), I tested with invalid JSON keys in one, two, and three different providers. They were all repaired for each case.
Left a few small comments for you to review below but looks good otherwise.
…login parameter Co-authored-by: mitchelbaker-cisa <149098823+mitchelbaker-cisa@users.noreply.github.com>
…ggestion Co-authored-by: mitchelbaker-cisa <149098823+mitchelbaker-cisa@users.noreply.github.com>
|
@mitchelbaker-cisa I made your suggested updates. Kindly approve if sastifactory. |
mitchelbaker-cisa
left a comment
There was a problem hiding this comment.
Thanks for resolving the comments, Ted!
|
Smoke test was successful. Functional tests failed for SS, EXO tenant 1 and Teams tenant 7. EXO tenant 1 failed due to a random error fetching the tenant name from Get-OrganizationConfig so unrelated to my code. Teams failed due to Get-TeamsTenantDetail: [0] : Request cancelled so unrelated to my code. Security Suite failures seem to be the same ones on main so unrelated to my code. |






🗣 Description
Based on recent troubleshooting with a large agency and historical crashes this PR address the following core problems:
Closes #2247
Closes #2246
💭 Motivation and context
Helps reduce trouble tickets and debugging sessions for agencies and Scuba developers. Helps agencies get a version of ScubaGear that is more resilient to uncommon condition faults.
🧪 Testing
I have prepared a spreadsheet with explicit testing scenarios and instructions, along with some screenshots to help reviewers. See comment. Please feel free to come up with your own test cases based on your understanding of the changes.
✅ Pre-approval checklist
✅ Pre-merge checklist
PR passed smoke test check.
PR/feature branch passes functional tests for relevant products, if applicable.
Feature branch has been rebased against changes from parent branch, as needed.
Use
Update branchbutton below or use this reference to rebase from the command line.Resolved all merge conflicts on branch.
Squash all commits into one PR level commit using the
Squash and mergebutton.✅ Post-merge checklist