Search in sources :

Example 1 with UPlainAttrUniqueValue

use of org.apache.syncope.core.persistence.api.entity.user.UPlainAttrUniqueValue in project syncope by apache.

the class PlainAttrTest method validateAndSave.

@Test
public void validateAndSave() {
    User user = userDAO.find("1417acbe-cbf6-4277-9372-e75e04f97000");
    PlainSchema emailSchema = plainSchemaDAO.find("email");
    assertNotNull(emailSchema);
    PlainSchema fullnameSchema = plainSchemaDAO.find("fullname");
    assertNotNull(fullnameSchema);
    UPlainAttr attr = entityFactory.newEntity(UPlainAttr.class);
    attr.setOwner(user);
    attr.setSchema(emailSchema);
    UPlainAttrUniqueValue uauv = entityFactory.newEntity(UPlainAttrUniqueValue.class);
    uauv.setAttr(attr);
    uauv.setSchema(fullnameSchema);
    uauv.setStringValue("a value");
    attr.setUniqueValue(uauv);
    user.add(attr);
    InvalidEntityException iee = null;
    try {
        userDAO.save(user);
        fail("This should not happen");
    } catch (InvalidEntityException e) {
        iee = e;
    }
    assertNotNull(iee);
    // for attribute
    assertTrue(iee.hasViolation(EntityViolationType.InvalidValueList));
    // for uauv
    assertTrue(iee.hasViolation(EntityViolationType.InvalidPlainAttr));
}
Also used : User(org.apache.syncope.core.persistence.api.entity.user.User) UPlainAttrUniqueValue(org.apache.syncope.core.persistence.api.entity.user.UPlainAttrUniqueValue) PlainSchema(org.apache.syncope.core.persistence.api.entity.PlainSchema) UPlainAttr(org.apache.syncope.core.persistence.api.entity.user.UPlainAttr) InvalidEntityException(org.apache.syncope.core.persistence.api.attrvalue.validation.InvalidEntityException) Test(org.junit.jupiter.api.Test) AbstractTest(org.apache.syncope.core.persistence.jpa.AbstractTest)

Aggregations

InvalidEntityException (org.apache.syncope.core.persistence.api.attrvalue.validation.InvalidEntityException)1 PlainSchema (org.apache.syncope.core.persistence.api.entity.PlainSchema)1 UPlainAttr (org.apache.syncope.core.persistence.api.entity.user.UPlainAttr)1 UPlainAttrUniqueValue (org.apache.syncope.core.persistence.api.entity.user.UPlainAttrUniqueValue)1 User (org.apache.syncope.core.persistence.api.entity.user.User)1 AbstractTest (org.apache.syncope.core.persistence.jpa.AbstractTest)1 Test (org.junit.jupiter.api.Test)1