Search in sources :

Example 41 with MUser

use of com.evolveum.midpoint.repo.sqale.qmodel.focus.MUser in project midpoint by Evolveum.

the class SqaleRepoAddDeleteObjectTest method test208AddObjectWithRefWithoutTypeImpliedByDefault.

@Test
public void test208AddObjectWithRefWithoutTypeImpliedByDefault() throws ObjectAlreadyExistsException, SchemaException {
    OperationResult result = createOperationResult();
    given("object with ref without specified target type");
    String userName = "user" + getTestNumber();
    UUID approverRef1 = UUID.randomUUID();
    UserType user = new UserType(prismContext).name(userName).metadata(new MetadataType().creatorRef(new ObjectReferenceType().oid(approverRef1.toString())));
    when("adding it to the repository");
    String oid = repositoryService.addObject(user.asPrismObject(), null, result);
    then("object and its reference rows are created");
    assertThatOperationResult(result).isSuccess();
    MUser userRow = selectObjectByOid(QUser.class, oid);
    assertThat(userRow.oid).isNotNull();
    assertThat(userRow.creatorRefTargetOid).isEqualTo(approverRef1);
    // default from def
    assertThat(userRow.creatorRefTargetType).isEqualTo(MObjectType.USER);
}
Also used : OperationResult(com.evolveum.midpoint.schema.result.OperationResult) PolyString(com.evolveum.midpoint.prism.polystring.PolyString) UUID(java.util.UUID) MUser(com.evolveum.midpoint.repo.sqale.qmodel.focus.MUser) Test(org.testng.annotations.Test) SqaleRepoBaseTest(com.evolveum.midpoint.repo.sqale.SqaleRepoBaseTest)

Example 42 with MUser

use of com.evolveum.midpoint.repo.sqale.qmodel.focus.MUser in project midpoint by Evolveum.

the class SqaleRepoAddDeleteObjectTest method test301AddObjectWithNonIndexedStringExtension.

@Test
public void test301AddObjectWithNonIndexedStringExtension() throws ObjectAlreadyExistsException, SchemaException, ObjectNotFoundException {
    OperationResult result = createOperationResult();
    given("object with string extension item");
    String objectName = "user" + getTestNumber();
    UserType object = new UserType(prismContext).name(objectName).extension(new ExtensionType(prismContext));
    ExtensionType extensionContainer = object.getExtension();
    addExtensionValue(extensionContainer, "string-ni", "string-value");
    when("adding it to the repository");
    String returnedOid = repositoryService.addObject(object.asPrismObject(), null, result);
    then("operation is successful and ext column is null");
    assertThatOperationResult(result).isSuccess();
    assertThat(returnedOid).isEqualTo(object.getOid());
    MUser row = selectObjectByOid(QUser.class, returnedOid);
    assertThat(row.ext).isNull();
    and("stored object contains the extension item");
    PrismObject<UserType> storedObject = repositoryService.getObject(UserType.class, returnedOid, null, result);
    assertThat(storedObject.getExtension().findItem(new ItemName("string-ni"))).isNotNull().extracting(i -> i.getRealValue()).isEqualTo("string-value");
}
Also used : MArchetype(com.evolveum.midpoint.repo.sqale.qmodel.role.MArchetype) MReportData(com.evolveum.midpoint.repo.sqale.qmodel.report.MReportData) com.evolveum.midpoint.repo.sqale.qmodel.object(com.evolveum.midpoint.repo.sqale.qmodel.object) Assertions.assertThat(org.assertj.core.api.Assertions.assertThat) JdbcSession(com.evolveum.midpoint.repo.sqlbase.JdbcSession) SchemaException(com.evolveum.midpoint.util.exception.SchemaException) Test(org.testng.annotations.Test) com.evolveum.midpoint.repo.sqale.qmodel.ref(com.evolveum.midpoint.repo.sqale.qmodel.ref) QSystemConfiguration(com.evolveum.midpoint.repo.sqale.qmodel.system.QSystemConfiguration) BigDecimal(java.math.BigDecimal) DOMUtil(com.evolveum.midpoint.util.DOMUtil) Map(java.util.Map) QNode(com.evolveum.midpoint.repo.sqale.qmodel.node.QNode) BigInteger(java.math.BigInteger) MContainer(com.evolveum.midpoint.repo.sqale.qmodel.common.MContainer) MConnector(com.evolveum.midpoint.repo.sqale.qmodel.connector.MConnector) QUser(com.evolveum.midpoint.repo.sqale.qmodel.focus.QUser) RepoAddOptions.createOverwrite(com.evolveum.midpoint.repo.api.RepoAddOptions.createOverwrite) QContainer(com.evolveum.midpoint.repo.sqale.qmodel.common.QContainer) ObjectNotFoundException(com.evolveum.midpoint.util.exception.ObjectNotFoundException) MContainerType(com.evolveum.midpoint.repo.sqale.qmodel.common.MContainerType) MFocus(com.evolveum.midpoint.repo.sqale.qmodel.focus.MFocus) MiscUtil(com.evolveum.midpoint.util.MiscUtil) ObjectAlreadyExistsException(com.evolveum.midpoint.util.exception.ObjectAlreadyExistsException) UUID(java.util.UUID) Instant(java.time.Instant) QLookupTableRow(com.evolveum.midpoint.repo.sqale.qmodel.lookuptable.QLookupTableRow) StandardCharsets(java.nio.charset.StandardCharsets) QMessageTemplate(com.evolveum.midpoint.repo.sqale.qmodel.notification.QMessageTemplate) com.evolveum.midpoint.repo.sqale.qmodel.cases.workitem(com.evolveum.midpoint.repo.sqale.qmodel.cases.workitem) QGenericObject(com.evolveum.midpoint.repo.sqale.qmodel.focus.QGenericObject) MTask(com.evolveum.midpoint.repo.sqale.qmodel.task.MTask) List(java.util.List) QConnector(com.evolveum.midpoint.repo.sqale.qmodel.connector.QConnector) PolyStringType(com.evolveum.prism.xml.ns._public.types_3.PolyStringType) QName(javax.xml.namespace.QName) com.evolveum.midpoint.xml.ns._public.common.common_3(com.evolveum.midpoint.xml.ns._public.common.common_3) Jsonb(com.evolveum.midpoint.repo.sqale.jsonb.Jsonb) QResource(com.evolveum.midpoint.repo.sqale.qmodel.resource.QResource) SchemaConstants(com.evolveum.midpoint.schema.constants.SchemaConstants) OperationResult(com.evolveum.midpoint.schema.result.OperationResult) MResource(com.evolveum.midpoint.repo.sqale.qmodel.resource.MResource) QCase(com.evolveum.midpoint.repo.sqale.qmodel.cases.QCase) SqaleRepoBaseTest(com.evolveum.midpoint.repo.sqale.SqaleRepoBaseTest) QConnectorHost(com.evolveum.midpoint.repo.sqale.qmodel.connector.QConnectorHost) MShadow(com.evolveum.midpoint.repo.sqale.qmodel.shadow.MShadow) Assertions.assertThatThrownBy(org.assertj.core.api.Assertions.assertThatThrownBy) MConnectorHost(com.evolveum.midpoint.repo.sqale.qmodel.connector.MConnectorHost) QReport(com.evolveum.midpoint.repo.sqale.qmodel.report.QReport) Comparator.comparing(java.util.Comparator.comparing) RepositoryService(com.evolveum.midpoint.repo.api.RepositoryService) Containerable(com.evolveum.midpoint.prism.Containerable) MLookupTableRow(com.evolveum.midpoint.repo.sqale.qmodel.lookuptable.MLookupTableRow) PolyString(com.evolveum.midpoint.prism.polystring.PolyString) DeleteObjectResult(com.evolveum.midpoint.repo.api.DeleteObjectResult) MNode(com.evolveum.midpoint.repo.sqale.qmodel.node.MNode) com.evolveum.midpoint.repo.sqale.qmodel.assignment(com.evolveum.midpoint.repo.sqale.qmodel.assignment) PrismObject(com.evolveum.midpoint.prism.PrismObject) QShadow(com.evolveum.midpoint.repo.sqale.qmodel.shadow.QShadow) MUser(com.evolveum.midpoint.repo.sqale.qmodel.focus.MUser) SimpleExpressionUtil.velocityExpression(com.evolveum.midpoint.schema.util.SimpleExpressionUtil.velocityExpression) ChronoUnit(java.time.temporal.ChronoUnit) ItemName(com.evolveum.midpoint.prism.path.ItemName) QReportData(com.evolveum.midpoint.repo.sqale.qmodel.report.QReportData) MCase(com.evolveum.midpoint.repo.sqale.qmodel.cases.MCase) QArchetype(com.evolveum.midpoint.repo.sqale.qmodel.role.QArchetype) SqaleRepositoryService(com.evolveum.midpoint.repo.sqale.SqaleRepositoryService) QTask(com.evolveum.midpoint.repo.sqale.qmodel.task.QTask) com.evolveum.midpoint.repo.sqale.qmodel.accesscert(com.evolveum.midpoint.repo.sqale.qmodel.accesscert) ItemName(com.evolveum.midpoint.prism.path.ItemName) OperationResult(com.evolveum.midpoint.schema.result.OperationResult) PolyString(com.evolveum.midpoint.prism.polystring.PolyString) MUser(com.evolveum.midpoint.repo.sqale.qmodel.focus.MUser) Test(org.testng.annotations.Test) SqaleRepoBaseTest(com.evolveum.midpoint.repo.sqale.SqaleRepoBaseTest)

Example 43 with MUser

use of com.evolveum.midpoint.repo.sqale.qmodel.focus.MUser in project midpoint by Evolveum.

the class SqaleRepoAddDeleteObjectTest method test205AddObjectWithMultivalueRefs.

@Test
public void test205AddObjectWithMultivalueRefs() throws ObjectAlreadyExistsException, SchemaException {
    OperationResult result = createOperationResult();
    given("user with ref");
    String userName = "user" + getTestNumber();
    String targetRef1 = UUID.randomUUID().toString();
    String targetRef2 = UUID.randomUUID().toString();
    UserType user = new UserType(prismContext).name(userName).linkRef(targetRef1, RoleType.COMPLEX_TYPE).linkRef(targetRef2, RoleType.COMPLEX_TYPE);
    when("adding it to the repository");
    repositoryService.addObject(user.asPrismObject(), null, result);
    then("object and its reference rows are created");
    assertThatOperationResult(result).isSuccess();
    QUser u = aliasFor(QUser.class);
    List<MUser> users = select(u, u.nameOrig.eq(userName));
    assertThat(users).hasSize(1);
    MUser userRow = users.get(0);
    assertThat(userRow.oid).isNotNull();
    // cid sequence is in initial state
    assertThat(userRow.containerIdSeq).isEqualTo(1);
    UUID userOid = UUID.fromString(user.getOid());
    QObjectReference<?> or = QObjectReferenceMapping.getForProjection().defaultAlias();
    List<MReference> projectionRefs = select(or, or.ownerOid.eq(userOid));
    assertThat(projectionRefs).hasSize(2).allMatch(rRow -> rRow.referenceType == MReferenceType.PROJECTION).allMatch(rRow -> rRow.ownerOid.equals(userOid)).extracting(rRow -> rRow.targetOid.toString()).containsExactlyInAnyOrder(targetRef1, targetRef2);
    // this is the same set of refs queried from the super-table
    QReference<MReference, ?> r = aliasFor(QReference.CLASS);
    List<MReference> refs = select(r, r.ownerOid.eq(userOid));
    assertThat(refs).hasSize(2).allMatch(rRow -> rRow.referenceType == MReferenceType.PROJECTION);
}
Also used : MArchetype(com.evolveum.midpoint.repo.sqale.qmodel.role.MArchetype) MReportData(com.evolveum.midpoint.repo.sqale.qmodel.report.MReportData) com.evolveum.midpoint.repo.sqale.qmodel.object(com.evolveum.midpoint.repo.sqale.qmodel.object) Assertions.assertThat(org.assertj.core.api.Assertions.assertThat) JdbcSession(com.evolveum.midpoint.repo.sqlbase.JdbcSession) SchemaException(com.evolveum.midpoint.util.exception.SchemaException) Test(org.testng.annotations.Test) com.evolveum.midpoint.repo.sqale.qmodel.ref(com.evolveum.midpoint.repo.sqale.qmodel.ref) QSystemConfiguration(com.evolveum.midpoint.repo.sqale.qmodel.system.QSystemConfiguration) BigDecimal(java.math.BigDecimal) DOMUtil(com.evolveum.midpoint.util.DOMUtil) Map(java.util.Map) QNode(com.evolveum.midpoint.repo.sqale.qmodel.node.QNode) BigInteger(java.math.BigInteger) MContainer(com.evolveum.midpoint.repo.sqale.qmodel.common.MContainer) MConnector(com.evolveum.midpoint.repo.sqale.qmodel.connector.MConnector) QUser(com.evolveum.midpoint.repo.sqale.qmodel.focus.QUser) RepoAddOptions.createOverwrite(com.evolveum.midpoint.repo.api.RepoAddOptions.createOverwrite) QContainer(com.evolveum.midpoint.repo.sqale.qmodel.common.QContainer) ObjectNotFoundException(com.evolveum.midpoint.util.exception.ObjectNotFoundException) MContainerType(com.evolveum.midpoint.repo.sqale.qmodel.common.MContainerType) MFocus(com.evolveum.midpoint.repo.sqale.qmodel.focus.MFocus) MiscUtil(com.evolveum.midpoint.util.MiscUtil) ObjectAlreadyExistsException(com.evolveum.midpoint.util.exception.ObjectAlreadyExistsException) UUID(java.util.UUID) Instant(java.time.Instant) QLookupTableRow(com.evolveum.midpoint.repo.sqale.qmodel.lookuptable.QLookupTableRow) StandardCharsets(java.nio.charset.StandardCharsets) QMessageTemplate(com.evolveum.midpoint.repo.sqale.qmodel.notification.QMessageTemplate) com.evolveum.midpoint.repo.sqale.qmodel.cases.workitem(com.evolveum.midpoint.repo.sqale.qmodel.cases.workitem) QGenericObject(com.evolveum.midpoint.repo.sqale.qmodel.focus.QGenericObject) MTask(com.evolveum.midpoint.repo.sqale.qmodel.task.MTask) List(java.util.List) QConnector(com.evolveum.midpoint.repo.sqale.qmodel.connector.QConnector) PolyStringType(com.evolveum.prism.xml.ns._public.types_3.PolyStringType) QName(javax.xml.namespace.QName) com.evolveum.midpoint.xml.ns._public.common.common_3(com.evolveum.midpoint.xml.ns._public.common.common_3) Jsonb(com.evolveum.midpoint.repo.sqale.jsonb.Jsonb) QResource(com.evolveum.midpoint.repo.sqale.qmodel.resource.QResource) SchemaConstants(com.evolveum.midpoint.schema.constants.SchemaConstants) OperationResult(com.evolveum.midpoint.schema.result.OperationResult) MResource(com.evolveum.midpoint.repo.sqale.qmodel.resource.MResource) QCase(com.evolveum.midpoint.repo.sqale.qmodel.cases.QCase) SqaleRepoBaseTest(com.evolveum.midpoint.repo.sqale.SqaleRepoBaseTest) QConnectorHost(com.evolveum.midpoint.repo.sqale.qmodel.connector.QConnectorHost) MShadow(com.evolveum.midpoint.repo.sqale.qmodel.shadow.MShadow) Assertions.assertThatThrownBy(org.assertj.core.api.Assertions.assertThatThrownBy) MConnectorHost(com.evolveum.midpoint.repo.sqale.qmodel.connector.MConnectorHost) QReport(com.evolveum.midpoint.repo.sqale.qmodel.report.QReport) Comparator.comparing(java.util.Comparator.comparing) RepositoryService(com.evolveum.midpoint.repo.api.RepositoryService) Containerable(com.evolveum.midpoint.prism.Containerable) MLookupTableRow(com.evolveum.midpoint.repo.sqale.qmodel.lookuptable.MLookupTableRow) PolyString(com.evolveum.midpoint.prism.polystring.PolyString) DeleteObjectResult(com.evolveum.midpoint.repo.api.DeleteObjectResult) MNode(com.evolveum.midpoint.repo.sqale.qmodel.node.MNode) com.evolveum.midpoint.repo.sqale.qmodel.assignment(com.evolveum.midpoint.repo.sqale.qmodel.assignment) PrismObject(com.evolveum.midpoint.prism.PrismObject) QShadow(com.evolveum.midpoint.repo.sqale.qmodel.shadow.QShadow) MUser(com.evolveum.midpoint.repo.sqale.qmodel.focus.MUser) SimpleExpressionUtil.velocityExpression(com.evolveum.midpoint.schema.util.SimpleExpressionUtil.velocityExpression) ChronoUnit(java.time.temporal.ChronoUnit) ItemName(com.evolveum.midpoint.prism.path.ItemName) QReportData(com.evolveum.midpoint.repo.sqale.qmodel.report.QReportData) MCase(com.evolveum.midpoint.repo.sqale.qmodel.cases.MCase) QArchetype(com.evolveum.midpoint.repo.sqale.qmodel.role.QArchetype) SqaleRepositoryService(com.evolveum.midpoint.repo.sqale.SqaleRepositoryService) QTask(com.evolveum.midpoint.repo.sqale.qmodel.task.QTask) com.evolveum.midpoint.repo.sqale.qmodel.accesscert(com.evolveum.midpoint.repo.sqale.qmodel.accesscert) QUser(com.evolveum.midpoint.repo.sqale.qmodel.focus.QUser) OperationResult(com.evolveum.midpoint.schema.result.OperationResult) PolyString(com.evolveum.midpoint.prism.polystring.PolyString) UUID(java.util.UUID) MUser(com.evolveum.midpoint.repo.sqale.qmodel.focus.MUser) Test(org.testng.annotations.Test) SqaleRepoBaseTest(com.evolveum.midpoint.repo.sqale.SqaleRepoBaseTest)

Example 44 with MUser

use of com.evolveum.midpoint.repo.sqale.qmodel.focus.MUser in project midpoint by Evolveum.

the class SqaleRepoAddDeleteObjectTest method test305AddObjectWithExtensionItemsOfVariousSimpleTypes.

@Test
public void test305AddObjectWithExtensionItemsOfVariousSimpleTypes() throws ObjectAlreadyExistsException, SchemaException {
    OperationResult result = createOperationResult();
    given("object with extension items of various simple types");
    String objectName = "user" + getTestNumber();
    UserType object = new UserType(prismContext).name(objectName).extension(new ExtensionType(prismContext));
    ExtensionType extensionContainer = object.getExtension();
    addExtensionValue(extensionContainer, "int", 1);
    addExtensionValue(extensionContainer, "short", (short) 2);
    addExtensionValue(extensionContainer, "long", 3L);
    addExtensionValue(extensionContainer, "integer", BigInteger.valueOf(4));
    addExtensionValue(extensionContainer, "decimal", new BigDecimal("12345678901234567890.12345678901234567890"));
    addExtensionValue(extensionContainer, "decimal-2", new BigDecimal("12345678901234567890"));
    addExtensionValue(extensionContainer, "decimal-3", new BigDecimal("-1"));
    addExtensionValue(extensionContainer, "double", Double.MAX_VALUE);
    addExtensionValue(extensionContainer, "double-2", -Double.MIN_VALUE);
    addExtensionValue(extensionContainer, "float", Float.MAX_VALUE);
    addExtensionValue(extensionContainer, "float-2", -Float.MIN_VALUE);
    addExtensionValue(extensionContainer, "boolean", true);
    addExtensionValue(extensionContainer, "enum", BeforeAfterType.AFTER);
    Instant dateTime = Instant.now();
    addExtensionValue(extensionContainer, "dateTime", MiscUtil.asXMLGregorianCalendar(dateTime));
    when("adding it to the repository");
    String returnedOid = repositoryService.addObject(object.asPrismObject(), null, result);
    then("operation is successful and ext column stores the values");
    assertThatOperationResult(result).isSuccess();
    assertThat(returnedOid).isEqualTo(object.getOid());
    MUser row = selectObjectByOid(QUser.class, returnedOid);
    assertThat(row.ext).isNotNull();
    assertThat(Jsonb.toMap(row.ext)).containsEntry(extensionKey(extensionContainer, "int"), 1).containsEntry(extensionKey(extensionContainer, "short"), // returned as Integer
    2).containsEntry(extensionKey(extensionContainer, "long"), // returned as Integer
    3).containsEntry(extensionKey(extensionContainer, "integer"), // returned as Integer
    4).containsEntry(extensionKey(extensionContainer, "decimal"), new BigDecimal("12345678901234567890.12345678901234567890")).containsEntry(extensionKey(extensionContainer, "decimal-2"), // no decimal part, returned as BInt
    new BigInteger("12345678901234567890")).containsEntry(extensionKey(extensionContainer, "decimal-3"), // Integer
    -1).containsEntry(extensionKey(extensionContainer, "double"), new BigDecimal(Double.toString(Double.MAX_VALUE)).toBigInteger()).containsEntry(extensionKey(extensionContainer, "double-2"), new BigDecimal(Double.toString(-Double.MIN_VALUE))).containsEntry(extensionKey(extensionContainer, "float"), new BigDecimal(Float.toString(Float.MAX_VALUE)).toBigInteger()).containsEntry(extensionKey(extensionContainer, "float-2"), new BigDecimal(Float.toString(-Float.MIN_VALUE))).containsEntry(extensionKey(extensionContainer, "boolean"), true).containsEntry(extensionKey(extensionContainer, "enum"), "AFTER").containsEntry(extensionKey(extensionContainer, "dateTime"), dateTime.truncatedTo(ChronoUnit.MILLIS).toString());
// The different types are OK here, must be treated only for index-only extensions.
// In that case value must be converted to the expected target type; not part of this test.
}
Also used : Instant(java.time.Instant) BigInteger(java.math.BigInteger) OperationResult(com.evolveum.midpoint.schema.result.OperationResult) PolyString(com.evolveum.midpoint.prism.polystring.PolyString) MUser(com.evolveum.midpoint.repo.sqale.qmodel.focus.MUser) BigDecimal(java.math.BigDecimal) Test(org.testng.annotations.Test) SqaleRepoBaseTest(com.evolveum.midpoint.repo.sqale.SqaleRepoBaseTest)

Example 45 with MUser

use of com.evolveum.midpoint.repo.sqale.qmodel.focus.MUser in project midpoint by Evolveum.

the class SqaleRepoAddDeleteObjectTest method test115OverwriteWithContainers.

// detailed container tests are from test200 on, this one has overwrite priority :-)
@Test
public void test115OverwriteWithContainers() throws ObjectAlreadyExistsException, SchemaException {
    OperationResult result = createOperationResult();
    given("user with container in the repository");
    long baseCount = count(QUser.class);
    UUID assConstructionRef = UUID.randomUUID();
    QName assConstructionRel = QName.valueOf("{https://random.org/ns}const-rel");
    String userName = "user" + getTestNumber();
    UserType user1 = new UserType(prismContext).name(userName).assignment(new AssignmentType(prismContext).id(// assigned CID to make things simple for tracking
    2L).construction(new ConstructionType(prismContext).resourceRef(assConstructionRef.toString(), ResourceType.COMPLEX_TYPE, assConstructionRel)));
    repositoryService.addObject(user1.asPrismObject(), null, result);
    assertThat(count(QUser.class)).isEqualTo(baseCount + 1);
    UUID userOid = UUID.fromString(user1.getOid());
    QAssignment<?> qa = QAssignmentMapping.getAssignmentMapping().defaultAlias();
    List<MAssignment> assRows = select(qa, qa.ownerOid.eq(userOid));
    assertThat(assRows).hasSize(1).anyMatch(aRow -> aRow.resourceRefTargetOid != null && aRow.resourceRefTargetType != null && aRow.resourceRefRelationId != null);
    when("using overwrite with changed container identified by id");
    UserType user2 = new UserType(prismContext).oid(user1.getOid()).version(// should be ignored
    "5").name(userName).assignment(new AssignmentType(prismContext).id(2L).targetRef(UUID.randomUUID().toString(), RoleType.COMPLEX_TYPE));
    repositoryService.addObject(user2.asPrismObject(), createOverwrite(), result);
    then("operation is successful");
    assertThatOperationResult(result).isSuccess();
    and("identified container is modified/overwritten");
    // no change in count
    assertThat(count(QUser.class)).isEqualTo(baseCount + 1);
    MUser row = selectObjectByOid(QUser.class, user2.getOid());
    assRows = select(qa, qa.ownerOid.eq(UUID.fromString(user2.getOid())));
    assertThat(assRows).hasSize(1);
    MAssignment assRow = assRows.get(0);
    // removed
    assertThat(assRow.resourceRefTargetOid).isNull();
    // removed
    assertThat(assRow.resourceRefTargetType).isNull();
    // removed
    assertThat(assRow.resourceRefRelationId).isNull();
    // added
    assertThat(assRow.targetRefTargetOid).isNotNull();
    assertThat(assRow.targetRefTargetType).isEqualTo(MObjectType.ROLE);
    and("provided version for overwrite is ignored");
    assertThat(row.version).isEqualTo(SqaleRepositoryService.INITIAL_VERSION_NUMBER + 1);
}
Also used : QName(javax.xml.namespace.QName) OperationResult(com.evolveum.midpoint.schema.result.OperationResult) PolyString(com.evolveum.midpoint.prism.polystring.PolyString) UUID(java.util.UUID) MUser(com.evolveum.midpoint.repo.sqale.qmodel.focus.MUser) Test(org.testng.annotations.Test) SqaleRepoBaseTest(com.evolveum.midpoint.repo.sqale.SqaleRepoBaseTest)

Aggregations

SqaleRepoBaseTest (com.evolveum.midpoint.repo.sqale.SqaleRepoBaseTest)82 MUser (com.evolveum.midpoint.repo.sqale.qmodel.focus.MUser)82 Test (org.testng.annotations.Test)82 OperationResult (com.evolveum.midpoint.schema.result.OperationResult)81 PolyString (com.evolveum.midpoint.prism.polystring.PolyString)36 QName (javax.xml.namespace.QName)30 QUser (com.evolveum.midpoint.repo.sqale.qmodel.focus.QUser)23 ItemName (com.evolveum.midpoint.prism.path.ItemName)21 PolyStringType (com.evolveum.prism.xml.ns._public.types_3.PolyStringType)21 BigDecimal (java.math.BigDecimal)21 Jsonb (com.evolveum.midpoint.repo.sqale.jsonb.Jsonb)20 JdbcSession (com.evolveum.midpoint.repo.sqlbase.JdbcSession)20 Instant (java.time.Instant)20 PrismObject (com.evolveum.midpoint.prism.PrismObject)19 RepositoryService (com.evolveum.midpoint.repo.api.RepositoryService)19 com.evolveum.midpoint.repo.sqale.qmodel.accesscert (com.evolveum.midpoint.repo.sqale.qmodel.accesscert)19 com.evolveum.midpoint.repo.sqale.qmodel.assignment (com.evolveum.midpoint.repo.sqale.qmodel.assignment)19 MContainerType (com.evolveum.midpoint.repo.sqale.qmodel.common.MContainerType)19 QConnector (com.evolveum.midpoint.repo.sqale.qmodel.connector.QConnector)19 MReference (com.evolveum.midpoint.repo.sqale.qmodel.ref.MReference)19