* test storage save and load
* fix bug exposed by test
* refactor test
* add JSON for test account/location
* create helpers to load JSON
* refactor test
* baseline refactor
* tweak
* update requiremenst
* rationalise code
* remove conditional in test
* refactor test
* mypy fix
* tweak tests
* working test
* working test 4
* working test 5
* add typed dicts
* working dtms
* lint
* fix dtm asserts
* doc strings
* list
* tweak conditional
* tweak test data sets to extend coverage
* leverage conftest.py for subsequent tests
* revert test storage
* revert part two
* rename symbols
* remove anachronism
* stop unwanted DNS lookup
* Clean up type ignores
* Format
---------
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>