2017-08-08 10:01:13 +07:00
|
|
|
package io.spring.infrastructure.service;
|
|
|
|
|
2017-08-18 16:08:27 +07:00
|
|
|
import io.spring.core.service.JwtService;
|
|
|
|
import io.spring.core.user.User;
|
2017-08-08 10:01:13 +07:00
|
|
|
import org.junit.Before;
|
|
|
|
import org.junit.Test;
|
|
|
|
|
|
|
|
import java.util.Optional;
|
|
|
|
|
2020-10-22 22:10:21 +07:00
|
|
|
import static org.junit.Assert.assertEquals;
|
|
|
|
import static org.junit.Assert.assertFalse;
|
|
|
|
import static org.junit.Assert.assertNotNull;
|
|
|
|
import static org.junit.Assert.assertTrue;
|
2017-08-08 10:01:13 +07:00
|
|
|
|
|
|
|
public class DefaultJwtServiceTest {
|
|
|
|
|
|
|
|
private JwtService jwtService;
|
|
|
|
|
|
|
|
@Before
|
2020-10-22 22:10:21 +07:00
|
|
|
public void setUp() {
|
2017-08-08 10:01:13 +07:00
|
|
|
jwtService = new DefaultJwtService("123123", 3600);
|
|
|
|
}
|
|
|
|
|
|
|
|
@Test
|
2020-10-22 22:10:21 +07:00
|
|
|
public void should_generate_and_parse_token() {
|
2017-08-18 16:08:27 +07:00
|
|
|
User user = new User("email@email.com", "username", "123", "", "");
|
|
|
|
String token = jwtService.toToken(user);
|
2020-10-22 22:10:21 +07:00
|
|
|
assertNotNull(token);
|
2017-08-08 10:01:13 +07:00
|
|
|
Optional<String> optional = jwtService.getSubFromToken(token);
|
2020-10-22 22:10:21 +07:00
|
|
|
assertTrue(optional.isPresent());
|
|
|
|
assertEquals(optional.get(), user.getId());
|
2017-08-08 10:01:13 +07:00
|
|
|
}
|
|
|
|
|
|
|
|
@Test
|
2020-10-22 22:10:21 +07:00
|
|
|
public void should_get_null_with_wrong_jwt() {
|
2017-08-08 10:01:13 +07:00
|
|
|
Optional<String> optional = jwtService.getSubFromToken("123");
|
2020-10-22 22:10:21 +07:00
|
|
|
assertFalse(optional.isPresent());
|
2017-08-08 10:01:13 +07:00
|
|
|
}
|
|
|
|
|
|
|
|
@Test
|
2020-10-22 22:10:21 +07:00
|
|
|
public void should_get_null_with_expired_jwt() {
|
2017-08-08 10:01:13 +07:00
|
|
|
String token = "eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhaXNlbnNpeSIsImV4cCI6MTUwMjE2MTIwNH0.SJB-U60WzxLYNomqLo4G3v3LzFxJKuVrIud8D8Lz3-mgpo9pN1i7C8ikU_jQPJGm8HsC1CquGMI-rSuM7j6LDA";
|
2020-10-22 22:10:21 +07:00
|
|
|
assertFalse(jwtService.getSubFromToken(token).isPresent());
|
2017-08-08 10:01:13 +07:00
|
|
|
}
|
|
|
|
}
|