forked from TrueCloudLab/frostfs-sdk-java
[#6] cover the cryptography module with junit tests
Signed-off-by: Ori Bruk <o.bruk@yadro.com>
This commit is contained in:
parent
0d76332f01
commit
c9a54d56fb
8 changed files with 432 additions and 34 deletions
110
cryptography/src/test/java/info/frostfs/sdk/HelperTest.java
Normal file
110
cryptography/src/test/java/info/frostfs/sdk/HelperTest.java
Normal file
|
@ -0,0 +1,110 @@
|
|||
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[]{}));
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue