Hi Weiwei Yang thanks for the patch.
While I think the fix itself is good, the unit test part fails to show regression if I remove the fix.
I suspect you want to init/start/stop spyClient instead of client object:
assertFalse("Timeline client should be disabled when"
+ "it is failed to init",
Also some nitpicking:
LOG.warn("Timeline client could not be initialized "
+ "because dependency missing or incompatible,"
It reads more natural to me to say "because of missing or incompatible dependency,".