Skip to content

Instantly share code, notes, and snippets.

@smccarney
Created May 30, 2024 19:31
Show Gist options
  • Save smccarney/7bfc20b258cd6ccfba908730102a32dd to your computer and use it in GitHub Desktop.
Save smccarney/7bfc20b258cd6ccfba908730102a32dd to your computer and use it in GitHub Desktop.
Test plan for CompatibleSystemTypesFinder

Test Plan

Automated Testing

  • Verify all automated tests run successfully

Manual Testing

  • CompatibleSystemTypesFinder::CompatibleSystemTypesFinder()
    • Verify callback is stored and can be called later
    • Verify DBusInterfacesFinder is set up correctly and calls interfaceFoundCallback()
  • CompatibleSystemTypesFinder::interfaceFoundCallback()
    • Verify path parameter has correct value
    • Verify interface parameter has correct value
    • Verify properties parameter has correct values
    • Test where able to get Names property from map
    • Test where unable to get Names property from map
    • Test where able to get vector from variant value
    • Test where unable to get vector from variant value
    • Test where vector is empty
    • Test where vector has one value
    • Test where vector has multiple values
    • Test where no vector values are system/chassis types
      • Verify callback is not called
    • Test where only some vector values are system/chassis types
      • Verify callback is not called
    • Test where all vector values are system/chassis types
      • Verify callback is called
      • Verify vector is passed to the callback
    • Verify it correctly detects system and chassis type values
      • .system.
      • .System.
      • .chassis.
      • .Chassis.
      • com.ibm.Hardware.Chassis.Model.Rainier2U
      • com.ibm.Hardware.System.Model.Rainier2U
    • Test where multiple instances of the Compatible interface is found
      • Only one instance has chassis/system types
        • Callback only called once
      • Multiple instances have chassis/system types
        • Callback called multiple times
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment