multiple/test: use stub balancer instead of defining wrapped balancers #6514
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR cleans up a bunch of tests which used to define custom balancers which wrapped an underlying balancer and added some functionality on top of it. Instead of defining the balancers outside of the test, this PR uses the support in the
stub
package to define them inline. This leads to shorter and more readable code.The pattern followed is as follows:
Init
method to build the underlying policy and store it back instub.BalancerData.Data
, thereby getting access to the underlying balancer whenever needed from other methods.balancer.ClientConn
passed to the underlying balancer, a new structtestCCWrapper
which contains only the overridden functionality is defined. This keeps the changes local and easier to follow.Also the clustermanager tests were creating a wrapped round_robin policy which could ignore balancer attributes in addresses. The round_robin LB policy was updated a while ago to use the addressMap. So, we don't need this anymore in these tests and can use the vanilla round_robin policy.
RELEASE NOTES: none