private void assumeUserTemplate(String templateOid, ResourceType resource, String syncConfigName, OperationResult result) throws ObjectNotFoundException, SchemaException, ObjectAlreadyExistsException {
SynchronizationType resourceSync = resource.getSynchronization();
resourceSync.getObjectSynchronization().get(0).setObjectTemplateRef(ObjectTypeUtil.createObjectRef(templateOid, ObjectTypes.OBJECT_TEMPLATE));
Collection<? extends ItemDelta> refDelta = prismContext.deltaFactory().property()
.createModificationReplacePropertyCollection(ResourceType.F_SYNCHRONIZATION, resource.asPrismObject().getDefinition(), resourceSync);
repositoryService.modifyObject(ResourceType.class, resource.getOid(), refDelta, result);
ResourceType res = repositoryService.getObject(ResourceType.class, resource.getOid(), null, result).asObjectable();
assertNotNull(res);
assertNotNull("Synchronization is not specified", res.getSynchronization());
ObjectSynchronizationType ost = determineSynchronization(res, UserType.class, syncConfigName);
assertNotNull("object sync type is not specified", ost);
assertNotNull("user template not specified", ost.getObjectTemplateRef());
assertEquals("Wrong user template in resource", templateOid, ost.getObjectTemplateRef().getOid());
}