Refactor sync_power_states tests to not use DB

DB calls are tested separately, so using the DB in tests is unnecessary.
This also adds some better call argument checking and some missing test
cases.

Refactoring this here saves a couple of future patches from having to
include a ton of changes to these tests.

Change-Id: Id5622099db689cde2c685c203323de1ea20b70b0
Merge "Refactor sync_power_states tests to not use DB"