You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
ℹ️ Please read this issue carefully and understand it. Pay special attention to UI wireframes, especially "dev notes".
Risk assessment
Risk level: Low
Test plan
Make sure to go through the list and consider all events that might be related to this story, so we catch edge cases earlier.
Core flow
Send custom Apple MDM command via API or fleetctl:
Confirm a new activity of type "ran_custom_mdm_command" appears with the correct actor name, host display name, command UUID, request type (e.g. "DeviceInformation"), and platform set to "darwin."
Make sure an iOS or iPadOS device(either one) shows the correct platform too.
Send a command to an offline host. Verify the command shows but not its result and the right pending state is displayed
Send a command to an ADE-enrolled host then re-enroll it(clearing the past commands). Verify it properly shows the error state for nonexistent command
Send custom Windows command via API or fleetctl:
Confirm the same activity structure appears with platform set to "windows" and the appropriate request type extracted from the SyncML.
Send a command to an offline host. Verify the command shows but not its result and the right pending state is displayed
Check dashboard global activity feed:
The new activity card should read like "{actor_full_name} ran {request_type} as a custom MDM command on {host_display_name}."
If {request_type} is empty: "{actor_full_name} ran a custom MDM command on {host_display_name}."(not sure if this is possible, modify the DB and Engineer note the query in the test plan comment, or say how you did it)
Check host activity feed:
The new activity card should read like "{actor_full_name} ran {request_type} as a custom MDM command on this host."
If {request_type} is empty: "{actor_full_name} ran a custom MDM command on {host_display_name}."
MDM
Turn Windows or Apple MDM on. Verify activities appear for both Apple and Windows custom commands
Turn multiple MDM on. Ensure activity renders correctly when both Apple and Windows MDM are enabled
Single host turn MDM off. Confirm graceful handling if a host's MDM is turned off after a command was run (activity should still render)
Turn all MDM off. Verify the activities still display. Verify UI doesn't completely break if you try to click on one
Host
Enroll to Fleet using Fleet's agent (fleetd): Verify activity appears for standard enrolled hosts
Enrolled via osquery/orbit but no MDM: Edge case: custom MDM commands shouldn't be possible here, confirm no activity is created when you try to run a command and it errors
Confirm long {request_type} names are truncate d- Do we actually do this anywhere in the UI for Windows LocURIs? If not drop a thread in g-MDM and MDM-group and we'll figure out what should happen here
Confirm pending, failed, and deleted commands match experience in Figma.
Edge cases
Confirm activity continues to display the name of a no longer existing actor/user (deleted user, API-only user, GitOps)
Supplemental testing
Testing notes
Confirmation
Engineer: Added comment to user story confirming successful completion of test plan (include any special setup, test data, or configuration used during development/testing if applicable).
QA: Added comment to user story confirming successful completion of test plan.
QA: Determined whether this story needs Playwright automation.
Needs automation: Yes
If yes, filed a follow-up issue in the :help-qa project with status "Needs automation": TO DO
antonellarequest? Surface who sent an MDM command in the Host details page's Activity #49352Goal
fleetctl mdm run-commandChanges
Product
/commands/resultsand/activitiesEngineering
Risk assessment
Test plan
Core flow
MDM
Host
User Permissions
Activities
Edge cases
Supplemental testing
Testing notes
Confirmation