I had a similar situation in one of the projects. A separate test database is created before starting the tests and the structure of the prod database is copied into it and filled with fake data. Then it is removed.
Tests use a mock object to work with a database, where a test database is substituted instead of a prod.
Sometimes you need to run non-destructive tests on existing records in a prod or stage database; or if it is not convenient to update the test data - you can switch the used database.
Never try to unify something without having a unified thing. Refactoring or optimization is done only if there is working code to compare the results. In your case, write a few examples by hand and then try to find a common denominator. The transition should always be from simple to complex.
Some prefer to use HttpClient because it is already built into the framework. So there's no need to add extra bloat to your project.
RestSharp, like any library, is easier to use because someone already did the hard work and ironed out the problems gotten along the way.
I have used both, and the one is not better than the another. It just depends on your use-case, situation and environment.
I had a WebAPI proxy project that needed to call another REST API. I chose RestSharp at first because I was already familiar with it from using it in another project. However, I changed to HttpClient eventually because it uses the same return types as the WebAPI controllers, so it just saved me time from having to convert RestSharp's responses back to a HttpResponseMessage.
Of course each one has its pros and cons, it just boils down to your use-case.