package info.frostfs.sdk; import com.google.protobuf.Message; import org.junit.jupiter.api.Test; import static org.assertj.core.api.Assertions.assertThat; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertThrows; public class HelperTest { @Test void getRipemd160_success() { //Given var value = new byte[]{1, 2, 3, 4, 5}; var expected = new byte[] {-21, -126, 92, 75, 36, -12, 37, 7, 122, 6, 124, -61, -66, -12, 87, 120, 63, 90, -41, 5}; //When var result = Helper.getRipemd160(value); //Then assertThat(result).hasSize(20).containsExactly(expected); } @Test void getRipemd160_givenParamIsNull() { //When + Then assertThrows(IllegalArgumentException.class, () -> Helper.getRipemd160(null)); } @Test void getRipemd160_givenParamsIsEmpty() { //Given var value = new byte[]{}; var expected = new byte[] {-100, 17, -123, -91, -59, -23, -4, 84, 97, 40, 8, -105, 126, -24, -11, 72, -78, 37, -115, 49}; //When var result = Helper.getRipemd160(value); //Then assertThat(result).hasSize(20).containsExactly(expected); } @Test void getSha256Instance() { //When var result = Helper.getSha256Instance(); //Then assertEquals("SHA-256", result.getAlgorithm()); } @Test void getSha256_bytes_success() { //Given var value = new byte[]{1, 2, 3, 4, 5}; var expected = new byte[]{ 116, -8, 31, -31, 103, -39, -101, 76, -76, 29, 109, 12, -51, -88, 34, 120, -54, -18, -97, 62, 47, 37, -43, -27, -93, -109, 111, -13, -36, -20, 96, -48 }; //When var result = Helper.getSha256(value); //Then assertThat(result).hasSize(32).containsExactly(expected); } @Test void getSha256_bytes_givenParamIsNull() { //When + Then assertThrows(IllegalArgumentException.class, () -> Helper.getSha256((byte[]) null)); assertThrows(IllegalArgumentException.class, () -> Helper.getSha256((Message) null)); } @Test void getSha256_bytes_givenParamsIsEmpty() { //Given var value = new byte[]{}; var expected = new byte[]{ -29, -80, -60, 66, -104, -4, 28, 20, -102, -5, -12, -56, -103, 111, -71, 36, 39, -82, 65, -28, 100, -101, -109, 76, -92, -107, -103, 27, 120, 82, -72, 85 }; //When var result = Helper.getSha256(value); //Then assertThat(result).hasSize(32).containsExactly(expected); } @Test void getHexString_success() { //Given var value = new byte[]{1, 2, 3, 4, 5}; //When var result = Helper.getHexString(value); //Then assertEquals("0102030405", result); } @Test void getHexString_wrong() { //When + Then assertThrows(IllegalArgumentException.class, () -> Helper.getHexString(null)); assertThrows(IllegalArgumentException.class, () -> Helper.getHexString(new byte[]{})); } }