This tests a bunch of code that previously wasn't tested in automation. For this round I focused on getting all types of queries tested with some basic tests. More tests still need to be added to cover other parts of the SDK, but this was a major area that needed work. Takes code coverage from 57% to 70%.
It's interesting that some of the abstractions that came around like QueryParameters reflect some of the ideas that have been discussed around reshaping the SDK surface by getting rid of all of the different overloads of Metric, etc. I'd like to see something even more generic, and I'd bet we can reduce Queries.cs to possibly even a single generic method that takes a QueryParameters type object and uses Json.Net to deserialize results into concrete types where we use JsonConverters where those types need to be transformed in some way.
Coverage increased (+13.03%) to 70.355% when pulling 1e3fc36c96f8ea9b1458484b9d79fa29b8348563 on increase_coverage_2 into b820c2ec8315e11a344ce4f239dc2709dd042240 on master.
Coverage increased (+13.1%) to 70.446% when pulling d29f8a7ce7b385c0d17b14929ed2cbbad7ecaec5 on increase_coverage_2 into b820c2ec8315e11a344ce4f239dc2709dd042240 on master.
Coverage increased (+12.7%) to 70.054% when pulling b68f3ddada7e3d4e7581892cb2ce5e8e8160bc1b on increase_coverage_2 into b820c2ec8315e11a344ce4f239dc2709dd042240 on master.
This tests a bunch of code that previously wasn't tested in automation. For this round I focused on getting all types of queries tested with some basic tests. More tests still need to be added to cover other parts of the SDK, but this was a major area that needed work. Takes code coverage from 57% to 70%.
It's interesting that some of the abstractions that came around like QueryParameters reflect some of the ideas that have been discussed around reshaping the SDK surface by getting rid of all of the different overloads of Metric, etc. I'd like to see something even more generic, and I'd bet we can reduce Queries.cs to possibly even a single generic method that takes a QueryParameters type object and uses Json.Net to deserialize results into concrete types where we use JsonConverters where those types need to be transformed in some way.