Fix update methods (#221)

This commit is contained in:
KirillPamPam
2023-06-02 17:55:20 +04:00
committed by GitHub
parent 64705f612d
commit 153d0f7d85
2 changed files with 5 additions and 8 deletions

View File

@@ -278,12 +278,7 @@ abstract class Multistream(
private fun observeUpstreamsStatuses() {
stateStream.asFlux()
.distinctUntilChanged(
{ it },
{ prev, current ->
prev.status == current.status || prev.equals(current)
}
).subscribe {
.subscribe {
upstreams.filter { it.isAvailable() }.map { it.getMethods() }.let {
callMethods = AggregatedCallMethods(it)
}

View File

@@ -264,11 +264,13 @@ class MultistreamSpec extends Specification {
then:
StepVerifier.create(states)
.then {
up1.onStatus(status(BlockchainOuterClass.AvailabilityEnum.AVAIL_OK))
up1.onStatus(status(BlockchainOuterClass.AvailabilityEnum.AVAIL_UNAVAILABLE))
up2.onStatus(status(BlockchainOuterClass.AvailabilityEnum.AVAIL_OK))
up1.onStatus(status(BlockchainOuterClass.AvailabilityEnum.AVAIL_OK))
}
.expectNext(new Multistream.UpstreamChangeState(up1.getId(), UpstreamAvailability.OK))
.expectNext(new Multistream.UpstreamChangeState(up1.getId(), UpstreamAvailability.UNAVAILABLE))
.expectNext(new Multistream.UpstreamChangeState(up2.getId(), UpstreamAvailability.OK))
.expectNext(new Multistream.UpstreamChangeState(up1.getId(), UpstreamAvailability.OK))
.then {
assert ms.getMethods().supportedMethods == Set.of("eth_test1", "eth_test2", "eth_test3")
}