View Javadoc
1   package de.dlr.shepard.auth.permission.model;
2   
3   import static org.junit.jupiter.api.Assertions.assertEquals;
4   
5   import de.dlr.shepard.BaseTestCase;
6   import de.dlr.shepard.auth.users.entities.User;
7   import de.dlr.shepard.auth.users.entities.UserGroup;
8   import de.dlr.shepard.common.neo4j.entities.BasicEntity;
9   import de.dlr.shepard.common.util.PermissionType;
10  import de.dlr.shepard.context.collection.entities.Collection;
11  import de.dlr.shepard.context.semantic.entities.SemanticAnnotation;
12  import java.util.ArrayList;
13  import java.util.List;
14  import nl.jqno.equalsverifier.EqualsVerifier;
15  import org.junit.jupiter.api.Test;
16  
17  public class PermissionsTest extends BaseTestCase {
18  
19    @Test
20    public void equalsContract() {
21      EqualsVerifier.simple()
22        .forClass(Permissions.class)
23        .withPrefabValues(User.class, new User("bob"), new User("claus"))
24        .withPrefabValues(UserGroup.class, new UserGroup(1L), new UserGroup(2L))
25        .withPrefabValues(BasicEntity.class, new Collection(5L), new Collection(6L))
26        .withPrefabValues(SemanticAnnotation.class, new SemanticAnnotation(1L), new SemanticAnnotation(2L))
27        .verify();
28    }
29  
30    @Test
31    public void constructorTest() {
32      User owner = new User("bob");
33      List<User> reader = List.of(new User("reader"));
34      List<User> writer = List.of(new User("reader"));
35      List<User> manager = List.of(new User("reader"));
36      List<UserGroup> readerGroups = List.of(new UserGroup(1L));
37      List<UserGroup> writerGroups = List.of(new UserGroup(2L));
38      Permissions expected = new Permissions() {
39        {
40          setOwner(owner);
41          setReader(reader);
42          setWriter(writer);
43          setReaderGroups(readerGroups);
44          setWriterGroups(writerGroups);
45          setManager(manager);
46          setPermissionType(PermissionType.PublicReadable);
47        }
48      };
49      Permissions actual = new Permissions(
50        owner,
51        reader,
52        writer,
53        readerGroups,
54        writerGroups,
55        manager,
56        PermissionType.PublicReadable
57      );
58  
59      assertEquals(expected, actual);
60    }
61  
62    @Test
63    public void entityConstructorTest() {
64      var entity = new Collection(1L);
65      ArrayList<BasicEntity> entities = new ArrayList<BasicEntity>();
66      entities.add(entity);
67      var user = new User("bob");
68      var expected = new Permissions() {
69        {
70          setEntities(entities);
71          setOwner(user);
72          setPermissionType(PermissionType.Public);
73        }
74      };
75      var actual = new Permissions(entity, user, PermissionType.Public);
76  
77      assertEquals(expected, actual);
78    }
79  
80    @Test
81    public void getUniqueIdTest() {
82      var perm = new Permissions(5L);
83      assertEquals("5", perm.getUniqueId());
84    }
85  
86    @Test
87    public void simpleConstructorTest() {
88      var perm1 = new Permissions();
89      perm1.setId(5L);
90      var perm2 = new Permissions(5L);
91      assertEquals(perm1, perm2);
92    }
93  }