1 package de.dlr.shepard.auth.users.io;
2
3 import static org.junit.jupiter.api.Assertions.assertEquals;
4
5 import de.dlr.shepard.auth.apikey.entities.ApiKey;
6 import de.dlr.shepard.auth.users.entities.User;
7 import de.dlr.shepard.common.subscription.entities.Subscription;
8 import java.util.Arrays;
9 import java.util.List;
10 import java.util.UUID;
11 import nl.jqno.equalsverifier.EqualsVerifier;
12 import org.junit.jupiter.api.Test;
13
14 public class UserIOTest {
15
16 @Test
17 public void equalsContract() {
18 EqualsVerifier.simple().forClass(UserIO.class).verify();
19 }
20
21 @Test
22 public void testConversion() {
23 var key = new ApiKey(UUID.randomUUID());
24 var sub = new Subscription(2L);
25
26 var user = new User("bob");
27 user.setApiKeys(List.of(key));
28 user.setEmail("Email");
29 user.setFirstName("name");
30 user.setLastName("last");
31 user.setSubscriptions(List.of(sub));
32
33 var converted = new UserIO(user);
34 assertEquals(user.getUsername(), converted.getUsername());
35 assertEquals(String.format("[%s]", key.getUid()), Arrays.toString(converted.getApiKeyIds()));
36 assertEquals(user.getEmail(), converted.getEmail());
37 assertEquals(user.getFirstName(), converted.getFirstName());
38 assertEquals(user.getLastName(), converted.getLastName());
39 assertEquals("[2]", Arrays.toString(converted.getSubscriptionIds()));
40 }
41 }