Our test helper packages were not possible to use
with benchmarks. This refactor switches to testing.TB
to allow both tests and benchmarks to use the helpers.
* refact: Changes required for gorm v2
* refact: Add db.DB wrapper and refact all test fixtures to use it
Stop leaking the gorm abstraction within our unit tests.
* refact: Migrate direct calls to pq to pgx driver
The refactor will remove the remaining direct dependencies on
the pq driver which has been deprecated in favor of the pgx
driver.
It includes the addition of common.SqlOpen which is a wrapper around
sql.Open, which is needed to deal with the driver name changing from
"postgres" to "pgx" but in our code base the dialect and driver are
synonyms.
* Update host set member test
* Add ListSetMembers method signature and doc
* Move repository methods for host set members to new file
* Add TestSetMembers
* Implement ListSetMembers
* Return hosts from ListSetMembers
* Implement AddSetMembers
* Implement DeleteSetMembers
* Use sql.QueryContext not sql.Query
* Implement SetSetMembers
* Refactor: extract getHosts method
* Refactor: extract createMembers method
* Refactor: extract common functions
* Return correct count of changed
In SetSetMembers, retrieving the current list of hosts in the set
happens after the transaction to modify the set has completed. This
retrieval can result in an error but the number of modified rows is not
effected.
* Make list set members an unexported method
* Get hosts within the same transaction as mutations of the set
* Return hosts of set from LookupSet method
* Return hosts of set from UpdateSet method
* Remove listSetMembers
* Fix merge conflict
* Add NOTE and TODOs about using new pattern in "SetMembers" methods