1 package de.dlr.shepard.auth.apikey.io;
2
3 import static org.junit.jupiter.api.Assertions.assertEquals;
4 import static org.junit.jupiter.api.Assertions.assertNull;
5
6 import de.dlr.shepard.auth.apikey.entities.ApiKey;
7 import de.dlr.shepard.auth.users.entities.User;
8 import java.util.Date;
9 import java.util.UUID;
10 import nl.jqno.equalsverifier.EqualsVerifier;
11 import org.junit.jupiter.api.Test;
12
13 public class ApiKeyIOTest {
14
15 @Test
16 public void equalsContract() {
17 EqualsVerifier.simple().forClass(ApiKeyIO.class).verify();
18 }
19
20 @Test
21 public void testConversion() {
22 var user = new User("bob");
23 var date = new Date();
24 var key = new ApiKey(UUID.randomUUID());
25 key.setBelongsTo(user);
26 key.setCreatedAt(date);
27 key.setJws("MyJWS");
28 key.setName("MyKey");
29
30 var converted = new ApiKeyIO(key);
31 assertEquals(user.getUsername(), converted.getBelongsTo());
32 assertEquals(date, converted.getCreatedAt());
33 assertEquals("MyKey", converted.getName());
34 assertEquals(key.getUid(), converted.getUid());
35 }
36
37 @Test
38 public void testConversionNoUser() {
39 var key = new ApiKey(UUID.randomUUID());
40
41 var converted = new ApiKeyIO(key);
42 assertNull(converted.getBelongsTo());
43 }
44 }