Search in sources :

Example 11 with User

use of com.enonic.xp.security.User in project xp by enonic.

the class AuthenticationInfoTest method testWithPrincipals.

@Test
public void testWithPrincipals() {
    final User user = User.create().login("userlogin").displayName("my user").key(PrincipalKey.ofUser(IdProviderKey.from("myidprovider"), "userid")).email("user@email").modifiedTime(Instant.now(clock)).build();
    final IdProviderKey idProvider = IdProviderKey.from("myStore");
    final PrincipalKey group1 = PrincipalKey.ofGroup(idProvider, "group1");
    final PrincipalKey group2 = PrincipalKey.from("group:myStore:group2");
    final PrincipalKey role1 = PrincipalKey.from("role:administrators");
    final AuthenticationInfo info = AuthenticationInfo.create().user(user).principals(group1).principals(PrincipalKeys.from(group2, role1)).build();
    assertEquals("userlogin", info.getUser().getLogin());
    assertEquals("my user", info.getUser().getDisplayName());
    assertEquals(PrincipalKey.from("user:myidprovider:userid"), info.getUser().getKey());
    assertEquals(4, info.getPrincipals().getSize());
    assertTrue(info.getPrincipals().contains(PrincipalKey.from("user:myidprovider:userid")));
    assertTrue(info.getPrincipals().contains(group1));
    assertTrue(info.getPrincipals().contains(group2));
    assertTrue(info.getPrincipals().contains(role1));
    assertFalse(info.hasRole("userid"));
    assertFalse(info.hasRole("group1"));
    assertFalse(info.hasRole("group2"));
    assertTrue(info.hasRole("administrators"));
}
Also used : User(com.enonic.xp.security.User) IdProviderKey(com.enonic.xp.security.IdProviderKey) PrincipalKey(com.enonic.xp.security.PrincipalKey) Test(org.junit.jupiter.api.Test)

Example 12 with User

use of com.enonic.xp.security.User in project xp by enonic.

the class AuthenticationInfoTest method testCopy.

@Test
public void testCopy() {
    final User user = User.create().login("userlogin").displayName("my user").key(PrincipalKey.ofUser(IdProviderKey.from("myidprovider"), "userid")).email("user@email").modifiedTime(Instant.now(clock)).build();
    final IdProviderKey idProvider = IdProviderKey.from("myStore");
    final PrincipalKey group1 = PrincipalKey.ofGroup(idProvider, "group1");
    final PrincipalKey group2 = PrincipalKey.from("group:myStore:group2");
    final PrincipalKey role1 = PrincipalKey.from("role:administrators");
    final AuthenticationInfo info = AuthenticationInfo.create().user(user).principals(group1).principals(PrincipalKeys.from(group2, role1)).build();
    final AuthenticationInfo copy = AuthenticationInfo.copyOf(info).build();
    assertEquals(info, copy);
    assertEquals(info.hashCode(), copy.hashCode());
}
Also used : User(com.enonic.xp.security.User) IdProviderKey(com.enonic.xp.security.IdProviderKey) PrincipalKey(com.enonic.xp.security.PrincipalKey) Test(org.junit.jupiter.api.Test)

Example 13 with User

use of com.enonic.xp.security.User in project xp by enonic.

the class AuthenticationInfoTest method testSerializationMinimalFields.

@Test
void testSerializationMinimalFields() throws Exception {
    final User user = User.create().login("userlogin").key(PrincipalKey.ofUser(IdProviderKey.from("myidprovider"), "userid")).build();
    final AuthenticationInfo info = AuthenticationInfo.create().user(user).build();
    final byte[] serializedObject = serialize(info);
    final AuthenticationInfo deserializedObject = (AuthenticationInfo) deserialize(serializedObject);
    assertEquals(deserializedObject, info);
}
Also used : User(com.enonic.xp.security.User) Test(org.junit.jupiter.api.Test)

Example 14 with User

use of com.enonic.xp.security.User in project xp by enonic.

the class AuthenticationInfoTest method testWithoutPrincipals.

@Test
public void testWithoutPrincipals() {
    final User user = User.create().login("userlogin").displayName("my user").key(PrincipalKey.ofUser(IdProviderKey.from("myidprovider"), "userid")).email("user@email").modifiedTime(Instant.now(clock)).build();
    final AuthenticationInfo info = AuthenticationInfo.create().user(user).build();
    assertEquals("userlogin", info.getUser().getLogin());
    assertEquals("my user", info.getUser().getDisplayName());
    assertEquals(PrincipalKey.from("user:myidprovider:userid"), info.getUser().getKey());
    assertEquals(1, info.getPrincipals().getSize());
    assertEquals(user.getKey(), info.getPrincipals().first());
    assertFalse(info.hasRole("userid"));
}
Also used : User(com.enonic.xp.security.User) Test(org.junit.jupiter.api.Test)

Example 15 with User

use of com.enonic.xp.security.User in project xp by enonic.

the class DuplicateContentProcessor method process.

@Override
public PropertyTree process(final PropertyTree originalData) {
    final User user = ContextAccessor.current().getAuthInfo().getUser();
    final PropertyTree data = originalData.copy();
    data.setInstant(ContentPropertyNames.CREATED_TIME, Instant.now());
    data.setInstant(ContentPropertyNames.MODIFIED_TIME, Instant.now());
    data.setString(ContentPropertyNames.OWNER, user.getKey().toString());
    data.setString(ContentPropertyNames.CREATOR, user.getKey().toString());
    data.setString(ContentPropertyNames.MODIFIER, user.getKey().toString());
    if (data.hasProperty(ContentPropertyNames.PUBLISH_INFO)) {
        data.removeProperty(ContentPropertyNames.PUBLISH_INFO);
    }
    if (data.hasProperty(ContentPropertyNames.INHERIT)) {
        data.removeProperties(ContentPropertyNames.INHERIT);
    }
    if (data.hasProperty(ContentPropertyNames.ORIGIN_PROJECT)) {
        data.removeProperty(ContentPropertyNames.ORIGIN_PROJECT);
    }
    return data;
}
Also used : User(com.enonic.xp.security.User) PropertyTree(com.enonic.xp.data.PropertyTree)

Aggregations

User (com.enonic.xp.security.User)63 Test (org.junit.jupiter.api.Test)40 AuthenticationInfo (com.enonic.xp.security.auth.AuthenticationInfo)22 PropertyTree (com.enonic.xp.data.PropertyTree)17 PrincipalKey (com.enonic.xp.security.PrincipalKey)17 Context (com.enonic.xp.context.Context)14 AbstractElasticsearchIntegrationTest (com.enonic.xp.repo.impl.elasticsearch.AbstractElasticsearchIntegrationTest)11 CreateUserParams (com.enonic.xp.security.CreateUserParams)10 IdProviderKey (com.enonic.xp.security.IdProviderKey)10 Node (com.enonic.xp.node.Node)8 BeforeEach (org.junit.jupiter.api.BeforeEach)8 ContextBuilder (com.enonic.xp.context.ContextBuilder)6 UpdateUserParams (com.enonic.xp.security.UpdateUserParams)6 Assertions.assertEquals (org.junit.jupiter.api.Assertions.assertEquals)6 Mockito (org.mockito.Mockito)6 LogAuditLogParams (com.enonic.xp.audit.LogAuditLogParams)4 CreateNodeParams (com.enonic.xp.node.CreateNodeParams)4 UpdateNodeParams (com.enonic.xp.node.UpdateNodeParams)4 AbstractNodeTest (com.enonic.xp.repo.impl.node.AbstractNodeTest)4 TaskId (com.enonic.xp.task.TaskId)4