All checks were successful
DCO / DCO (pull_request) Successful in 28s
Signed-off-by: Ori Bruk <o.bruk@yadro.com>
67 lines
2 KiB
Java
67 lines
2 KiB
Java
package info.frostfs.sdk.mappers;
|
|
|
|
import com.google.protobuf.ByteString;
|
|
import frostfs.session.Types;
|
|
import org.junit.jupiter.api.Test;
|
|
|
|
import static org.assertj.core.api.Assertions.assertThat;
|
|
import static org.junit.jupiter.api.Assertions.*;
|
|
|
|
public class SessionMapperTest {
|
|
private static final byte[] SERIALIZED_TOKEN = new byte[]
|
|
{10, 21, 10, 5, 1, 2, 3, 4, 5, 26, 6, 8, 1, 16, 3, 24, 2, 34, 4, 6, 7, 8, 9};
|
|
|
|
@Test
|
|
void serialize_success() {
|
|
//Given
|
|
var sessionToken = createSessionToken();
|
|
|
|
//When
|
|
var result = SessionMapper.serialize(sessionToken);
|
|
|
|
//Then
|
|
assertNotNull(result);
|
|
assertThat(result).hasSize(23).containsExactly(SERIALIZED_TOKEN);
|
|
}
|
|
|
|
@Test
|
|
void serialize_wrong() {
|
|
//When + Then
|
|
assertThrows(IllegalArgumentException.class, () -> SessionMapper.serialize(null));
|
|
}
|
|
|
|
@Test
|
|
void deserialize_success() {
|
|
//When
|
|
var result = SessionMapper.deserializeSessionToken(SERIALIZED_TOKEN);
|
|
|
|
//Then
|
|
assertNotNull(result);
|
|
assertEquals(createSessionToken(), result);
|
|
}
|
|
|
|
@Test
|
|
void deserialize_wrong() {
|
|
//When + Then
|
|
assertThrows(IllegalArgumentException.class, () -> SessionMapper.deserializeSessionToken(null));
|
|
assertThrows(IllegalArgumentException.class, () -> SessionMapper.deserializeSessionToken(new byte[]{}));
|
|
}
|
|
|
|
private Types.SessionToken createSessionToken() {
|
|
var lifetime = Types.SessionToken.Body.TokenLifetime.newBuilder()
|
|
.setExp(1)
|
|
.setIat(2)
|
|
.setNbf(3)
|
|
.build();
|
|
|
|
var body = Types.SessionToken.Body.newBuilder()
|
|
.setId(ByteString.copyFrom(new byte[]{1, 2, 3, 4, 5}))
|
|
.setSessionKey(ByteString.copyFrom(new byte[]{6, 7, 8, 9}))
|
|
.setLifetime(lifetime)
|
|
.build();
|
|
|
|
return Types.SessionToken.newBuilder()
|
|
.setBody(body)
|
|
.build();
|
|
}
|
|
}
|