1. Yes. Except it’s not a stub, it’s a mock (a mock checks behaviour, a stub does not). So you mock the API provider, run a unit test of your API client, which must call the API provider. The mock itself performs part of those assertions, and is used later on to check if the provider behaves correctly also
2. Maybe it’s a .NET thing, but why would you ever run that assertion (i.e. do you have to have at least one assertion to make the framework happy)? Can you just omit it altogether? There may be other assertions on the behaviour of the API client you need to run, but if not, I think what you’re asking is fine