View Javadoc
1   package de.dlr.shepard.auth.permission.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.permission.model.Permissions;
7   import de.dlr.shepard.auth.users.entities.User;
8   import de.dlr.shepard.common.neo4j.entities.BasicEntity;
9   import de.dlr.shepard.context.collection.entities.Collection;
10  import de.dlr.shepard.data.file.entities.FileContainer;
11  import java.util.ArrayList;
12  import java.util.Arrays;
13  import java.util.List;
14  import nl.jqno.equalsverifier.EqualsVerifier;
15  import org.junit.jupiter.api.Test;
16  
17  public class PermissionsIOTest {
18  
19    @Test
20    public void equalsContract() {
21      EqualsVerifier.simple().forClass(PermissionsIO.class).verify();
22    }
23  
24    @Test
25    public void testConversion() {
26      var perm = new Permissions(5L);
27      Collection col = new Collection(123L);
28      col.setShepardId(134L);
29      ArrayList<BasicEntity> colList = new ArrayList<BasicEntity>();
30      colList.add(col);
31      perm.setEntities(colList);
32      perm.setOwner(new User("bob"));
33      perm.setReader(List.of(new User("reader")));
34      perm.setWriter(List.of(new User("writer")));
35      perm.setManager(List.of(new User("manager")));
36  
37      var converted = new PermissionsIO(perm);
38      assertEquals(col.getShepardId(), converted.getEntityId());
39      assertEquals("bob", converted.getOwner());
40      assertEquals("[reader]", Arrays.toString(converted.getReader()));
41      assertEquals("[writer]", Arrays.toString(converted.getWriter()));
42      assertEquals("[manager]", Arrays.toString(converted.getManager()));
43    }
44  
45    @Test
46    public void testConversion_ownerIsNull() {
47      var perm = new Permissions(5L);
48      Collection col = new Collection(123L);
49      col.setShepardId(134L);
50      ArrayList<BasicEntity> colList = new ArrayList<BasicEntity>();
51      colList.add(col);
52      perm.setEntities(colList);
53      perm.setOwner(null);
54  
55      var converted = new PermissionsIO(perm);
56      assertEquals(col.getShepardId(), converted.getEntityId());
57      assertNull(converted.getOwner());
58    }
59  
60    @Test
61    public void testNoVersionableEntity() {
62      var perm = new Permissions(5L);
63      FileContainer con = new FileContainer(123L);
64      ArrayList<BasicEntity> conList = new ArrayList<BasicEntity>();
65      conList.add(con);
66      perm.setEntities(conList);
67      perm.setOwner(null);
68  
69      var converted = new PermissionsIO(perm);
70      assertEquals(con.getId(), converted.getEntityId());
71      assertNull(converted.getOwner());
72    }
73  }