|
| 1 | +package com.uid2.operator.service; |
| 2 | + |
| 3 | +import com.uid2.operator.model.IdentityEnvironment; |
| 4 | +import com.uid2.operator.model.IdentityScope; |
| 5 | +import com.uid2.operator.model.IdentityType; |
| 6 | +import org.junit.jupiter.params.ParameterizedTest; |
| 7 | +import org.junit.jupiter.params.provider.Arguments; |
| 8 | +import org.junit.jupiter.params.provider.MethodSource; |
| 9 | + |
| 10 | +import java.util.stream.Stream; |
| 11 | + |
| 12 | +import static org.junit.jupiter.api.Assertions.assertEquals; |
| 13 | + |
| 14 | +class TokenUtilsTest { |
| 15 | + @ParameterizedTest |
| 16 | + @MethodSource("v4Metadata") |
| 17 | + void testEncodeV4Metadata(IdentityScope scope, IdentityType type, IdentityEnvironment environment, byte expectedMetadata) { |
| 18 | + byte metadata = TokenUtils.encodeV4Metadata(scope, type, environment); |
| 19 | + |
| 20 | + assertEquals(expectedMetadata, metadata); |
| 21 | + } |
| 22 | + |
| 23 | + private static Stream<Arguments> v4Metadata() { |
| 24 | + return Stream.of( |
| 25 | + Arguments.of(IdentityScope.UID2, IdentityType.Email, IdentityEnvironment.TEST, (byte) 0b00100000), |
| 26 | + Arguments.of(IdentityScope.UID2, IdentityType.Phone, IdentityEnvironment.TEST, (byte) 0b00100100), |
| 27 | + Arguments.of(IdentityScope.EUID, IdentityType.Email, IdentityEnvironment.TEST, (byte) 0b00110000), |
| 28 | + Arguments.of(IdentityScope.EUID, IdentityType.Phone, IdentityEnvironment.TEST, (byte) 0b00110100), |
| 29 | + |
| 30 | + Arguments.of(IdentityScope.UID2, IdentityType.Email, IdentityEnvironment.INTEG, (byte) 0b01100000), |
| 31 | + Arguments.of(IdentityScope.UID2, IdentityType.Phone, IdentityEnvironment.INTEG, (byte) 0b01100100), |
| 32 | + Arguments.of(IdentityScope.EUID, IdentityType.Email, IdentityEnvironment.INTEG, (byte) 0b01110000), |
| 33 | + Arguments.of(IdentityScope.EUID, IdentityType.Phone, IdentityEnvironment.INTEG, (byte) 0b01110100), |
| 34 | + |
| 35 | + Arguments.of(IdentityScope.UID2, IdentityType.Email, IdentityEnvironment.PROD, (byte) 0b10100000), |
| 36 | + Arguments.of(IdentityScope.UID2, IdentityType.Phone, IdentityEnvironment.PROD, (byte) 0b10100100), |
| 37 | + Arguments.of(IdentityScope.EUID, IdentityType.Email, IdentityEnvironment.PROD, (byte) 0b10110000), |
| 38 | + Arguments.of(IdentityScope.EUID, IdentityType.Phone, IdentityEnvironment.PROD, (byte) 0b10110100) |
| 39 | + ); |
| 40 | + } |
| 41 | +} |
0 commit comments