frostfs-sdk-java/models/src/test/java/info/frostfs/sdk/mappers/SignatureMapperTest.java
Bruk Ori 441d3129dc
All checks were successful
DCO / DCO (pull_request) Successful in 28s
[#6] cover the models module with junit tests
Signed-off-by: Ori Bruk <o.bruk@yadro.com>
2024-08-21 11:12:33 +03:00

56 lines
1.9 KiB
Java

package info.frostfs.sdk.mappers;
import frostfs.refs.Types;
import info.frostfs.sdk.dto.Signature;
import info.frostfs.sdk.enums.SignatureScheme;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.EnumSource;
import org.mockito.MockedStatic;
import static org.assertj.core.api.Assertions.assertThat;
import static org.junit.jupiter.api.Assertions.*;
import static org.mockito.Mockito.mockStatic;
public class SignatureMapperTest {
@ParameterizedTest
@EnumSource(value = SignatureScheme.class)
void toGrpcMessage_success(SignatureScheme scheme) {
//Given
var signature = new Signature();
signature.setKey(new byte[]{1, 2, 3});
signature.setSign(new byte[]{4, 5, 6});
signature.setScheme(scheme);
//When
var result = SignatureMapper.toGrpcMessage(signature);
//Then
assertNotNull(result);
assertThat(result.getKey().toByteArray()).containsExactly(signature.getKey());
assertThat(result.getSign().toByteArray()).containsExactly(signature.getSign());
assertEquals(signature.getScheme().value, result.getScheme().getNumber());
}
@Test
void toGrpcMessage_null() {
//When + Then
assertNull(SignatureMapper.toGrpcMessage(null));
}
@Test
void toGrpcMessage_notValidScheme() {
//Given
var signature = new Signature();
signature.setScheme(SignatureScheme.ECDSA_SHA512);
//When + Then
try (MockedStatic<Types.SignatureScheme> mockStatic = mockStatic(Types.SignatureScheme.class)) {
mockStatic.when(() -> Types.SignatureScheme.forNumber(signature.getScheme().value))
.thenReturn(null);
assertThrows(IllegalArgumentException.class, () -> SignatureMapper.toGrpcMessage(signature));
}
}
}