Skip to content

Commit

Permalink
Merge pull request #2494 from rsksmart/feature/tests/getRetiringFeder…
Browse files Browse the repository at this point in the history
…ationAddress

Add getRetiringFederationAddress tests
  • Loading branch information
marcos-iov committed Jun 17, 2024
2 parents 4c7174c + 6dae16d commit 138ea6b
Showing 1 changed file with 119 additions and 8 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -795,6 +795,20 @@ void getRetiringFederation_returnsNull() {
Federation retiringFederation = federationSupport.getRetiringFederation();
assertThat(retiringFederation, is(nullValue()));
}

@Test
@Tag("getRetiringFederationAddress")
void getRetiringFederationAddress_returnsNull() {
Address retiringFederationAddress = federationSupport.getRetiringFederationAddress();
assertThat(retiringFederationAddress, is(nullValue()));
}

@Test
@Tag("getRetiringFederationSize")
void getRetiringFederationSize_returnsRetiringFederationNonExistentResponseCode() {
int retiringFederationSize = federationSupport.getRetiringFederationSize();
assertThat(retiringFederationSize, is(FederationChangeResponseCode.RETIRING_FEDERATION_NON_EXISTENT.getCode()));
}
}

@Nested
Expand Down Expand Up @@ -825,6 +839,20 @@ void getRetiringFederation_returnsNull() {
Federation retiringFederation = federationSupport.getRetiringFederation();
assertThat(retiringFederation, is(nullValue()));
}

@Test
@Tag("getRetiringFederationAddress")
void getRetiringFederationAddress_returnsNull() {
Address retiringFederationAddress = federationSupport.getRetiringFederationAddress();
assertThat(retiringFederationAddress, is(nullValue()));
}

@Test
@Tag("getRetiringFederationSize")
void getRetiringFederationSize_returnsRetiringFederationNonExistentResponseCode() {
int retiringFederationSize = federationSupport.getRetiringFederationSize();
assertThat(retiringFederationSize, is(FederationChangeResponseCode.RETIRING_FEDERATION_NON_EXISTENT.getCode()));
}
}

@Nested
Expand Down Expand Up @@ -889,14 +917,6 @@ void getRetiringFederation_withNewFederationNotActive_returnsNull(
assertThat(retiringFederation, is(nullValue()));
}

private Stream<Arguments> newFederationNotActiveActivationArgs() {
return Stream.of(
Arguments.of(blockNumberFederationActivationHop - 1, hopActivations),
Arguments.of(blockNumberFederationActivationHop, fingerrootActivations),
Arguments.of(blockNumberFederationActivationFingerroot - 1, fingerrootActivations)
);
}

@ParameterizedTest
@Tag("getRetiringFederation")
@MethodSource("newFederationActiveActivationArgs")
Expand All @@ -918,6 +938,97 @@ void getRetiringFederation_withNewFederationActive_returnsOldFederation(
assertThat(retiringFederation, is(oldFederation));
}

@ParameterizedTest
@Tag("getRetiringFederationAddress")
@MethodSource("newFederationNotActiveActivationArgs")
void getRetiringFederationAddress_withNewFederationNotActive_returnsNull(
long currentBlock,
ActivationConfig.ForBlock activations) {

Block executionBlock = mock(Block.class);
when(executionBlock.getNumber()).thenReturn(currentBlock);

federationSupport = federationSupportBuilder
.withFederationConstants(federationMainnetConstants)
.withFederationStorageProvider(storageProvider)
.withRskExecutionBlock(executionBlock)
.withActivations(activations)
.build();

Address retiringFederationAddress = federationSupport.getRetiringFederationAddress();
assertThat(retiringFederationAddress, is(nullValue()));
}

@ParameterizedTest
@Tag("getRetiringFederation")
@MethodSource("newFederationActiveActivationArgs")
void getRetiringFederationAddress_withNewFederationActive_returnsOldFederationAddress(
long currentBlock,
ActivationConfig.ForBlock activations) {

Block executionBlock = mock(Block.class);
when(executionBlock.getNumber()).thenReturn(currentBlock);

federationSupport = federationSupportBuilder
.withFederationConstants(federationMainnetConstants)
.withFederationStorageProvider(storageProvider)
.withRskExecutionBlock(executionBlock)
.withActivations(activations)
.build();

Address retiringFederationAddress = federationSupport.getRetiringFederationAddress();
assertThat(retiringFederationAddress, is(oldFederation.getAddress()));
}

@ParameterizedTest
@Tag("getRetiringFederationSize")
@MethodSource("newFederationNotActiveActivationArgs")
void getRetiringFederationSize_withNewFederationNotActive_returnsRetiringFederationNonExistentResponseCode(
long currentBlock,
ActivationConfig.ForBlock activations) {

Block executionBlock = mock(Block.class);
when(executionBlock.getNumber()).thenReturn(currentBlock);

federationSupport = federationSupportBuilder
.withFederationConstants(federationMainnetConstants)
.withFederationStorageProvider(storageProvider)
.withRskExecutionBlock(executionBlock)
.withActivations(activations)
.build();

int retiringFederationSize = federationSupport.getRetiringFederationSize();
assertThat(retiringFederationSize, is(FederationChangeResponseCode.RETIRING_FEDERATION_NON_EXISTENT.getCode()));
}

@ParameterizedTest
@Tag("getRetiringFederationSize")
@MethodSource("newFederationActiveActivationArgs")
void getRetiringFederationSize_withNewFederationActive_returnsOldFederationSize(
long currentBlock,
ActivationConfig.ForBlock activations) {

Block executionBlock = mock(Block.class);
when(executionBlock.getNumber()).thenReturn(currentBlock);

federationSupport = federationSupportBuilder
.withFederationConstants(federationMainnetConstants)
.withFederationStorageProvider(storageProvider)
.withRskExecutionBlock(executionBlock)
.withActivations(activations)
.build();
int retiringFederationSize = federationSupport.getRetiringFederationSize();
assertThat(retiringFederationSize, is(oldFederation.getSize()));
}

private Stream<Arguments> newFederationNotActiveActivationArgs() {
return Stream.of(
Arguments.of(blockNumberFederationActivationHop - 1, hopActivations),
Arguments.of(blockNumberFederationActivationHop, fingerrootActivations),
Arguments.of(blockNumberFederationActivationFingerroot - 1, fingerrootActivations)
);
}

private Stream<Arguments> newFederationActiveActivationArgs() {
return Stream.of(
Arguments.of(blockNumberFederationActivationHop, hopActivations),
Expand Down

0 comments on commit 138ea6b

Please sign in to comment.