1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.syncope.core.provisioning.java;
20
21 import static org.junit.jupiter.api.Assertions.assertEquals;
22 import static org.junit.jupiter.api.Assertions.assertFalse;
23 import static org.junit.jupiter.api.Assertions.assertNotNull;
24 import static org.junit.jupiter.api.Assertions.assertTrue;
25
26 import org.apache.syncope.core.persistence.api.dao.DerSchemaDAO;
27 import org.apache.syncope.core.persistence.api.dao.UserDAO;
28 import org.apache.syncope.core.persistence.api.entity.DerSchema;
29 import org.apache.syncope.core.persistence.api.entity.user.User;
30 import org.apache.syncope.core.provisioning.api.DerAttrHandler;
31 import org.junit.jupiter.api.Test;
32 import org.springframework.beans.factory.annotation.Autowired;
33 import org.springframework.transaction.annotation.Transactional;
34
35 @Transactional("Master")
36 public class DerAttrTest extends AbstractTest {
37
38 @Autowired
39 private DerSchemaDAO derSchemaDAO;
40
41 @Autowired
42 private UserDAO userDAO;
43
44 @Autowired
45 private DerAttrHandler derAttrHandler;
46
47 @Test
48 public void derAttrFromSpecialAttrs() {
49 DerSchema info = derSchemaDAO.find("info");
50 assertEquals("username + ' - ' + creationDate + '[' + failedLogins + ']'", info.getExpression());
51
52 User user = userDAO.findByUsername("vivaldi");
53 assertNotNull(user);
54
55 String value = derAttrHandler.getValue(user, info);
56 assertNotNull(value);
57 assertFalse(value.isEmpty());
58 assertTrue(value.startsWith("vivaldi - 2010-10-20"));
59 assertTrue(value.endsWith("[0]"));
60 }
61 }