@Test
/**
 * We will do synchronize with use inner connector synch function.
 */
public void doStartSyncB_Linked_doEntityUpdate_Filtered() {

	SysSyncConfigFilter configFilter = new SysSyncConfigFilter();
	configFilter.setName(SYNC_CONFIG_NAME);
	List<AbstractSysSyncConfigDto> syncConfigs = syncConfigService.find(configFilter, null).getContent();
	this.getBean().changeResourceData();
	Assert.assertEquals(1, syncConfigs.size());
	AbstractSysSyncConfigDto syncConfigCustom = syncConfigs.get(0);
	Assert.assertFalse(syncConfigService.isRunning(syncConfigCustom));
	
	SysSystemMappingDto systemMapping = systemMappingService.get(syncConfigCustom.getSystemMapping());
	SysSystemDto system = systemService.get(schemaObjectClassService.get(systemMapping.getObjectClass()).getSystem());
	
	IdmFormDefinitionDto savedFormDefinition = systemService.getConnectorFormDefinition(system.getConnectorInstance());
	IdmFormAttributeDto changeLogColumn = savedFormDefinition.getMappedAttributeByCode("changeLogColumn");
	formService.saveValues(system, changeLogColumn, ImmutableList.of("modified"));
	// Set sync config
	syncConfigCustom.setLinkedAction(SynchronizationLinkedActionType.UPDATE_ENTITY);
	syncConfigCustom.setUnlinkedAction(SynchronizationUnlinkedActionType.IGNORE);
	syncConfigCustom.setMissingEntityAction(SynchronizationMissingEntityActionType.IGNORE);
	syncConfigCustom.setMissingAccountAction(ReconciliationMissingAccountActionType.IGNORE);
	
	syncConfigCustom.setCustomFilter(false);
	syncConfigCustom.setReconciliation(false);
	DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
	syncConfigCustom.setToken(ZonedDateTime.now().format(formatter)); // We want do sync for account changed in future
	syncConfigCustom.setFilterOperation(IcFilterOperationType.ENDS_WITH); // We don`t use custom filter. This option will be not used.
	syncConfigService.save(syncConfigCustom);
	helper.startSynchronization(syncConfigCustom);

	//
	SysSyncLogFilter logFilter = new SysSyncLogFilter();
	logFilter.setSynchronizationConfigId(syncConfigCustom.getId());
	List<SysSyncLogDto> logs = syncLogService.find(logFilter, null).getContent();
	Assert.assertEquals(1, logs.size());
	SysSyncLogDto log = logs.get(0);
	Assert.assertFalse(log.isRunning());
	Assert.assertFalse(log.isContainsError());
	SysSyncActionLogFilter actionLogFilter = new SysSyncActionLogFilter();
	actionLogFilter.setSynchronizationLogId(log.getId());
	List<SysSyncActionLogDto> actions = syncActionLogService.find(actionLogFilter, null).getContent();
	Assert.assertEquals(1, actions.size());
	SysSyncActionLogDto actionLog = actions.stream().filter(action -> {
		return SynchronizationActionType.UPDATE_ENTITY == action.getSyncAction();
	}).findFirst().get();
	SysSyncItemLogFilter itemLogFilter = new SysSyncItemLogFilter();
	itemLogFilter.setSyncActionLogId(actionLog.getId());
	List<SysSyncItemLogDto> items = syncItemLogService.find(itemLogFilter, null).getContent();
	Assert.assertEquals(1, items.size());
	Assert.assertEquals("x"+IDENTITY_USERNAME_TWO, items.get(0).getIdentification());
	// Delete log
	syncLogService.delete(log);
	
	// We have to change property of connector configuration "changeLogColumn" from "modified" on empty string. 
	// When is this property set, then custom filter not working. Bug in Table connector !!!
	formService.saveValues(system, changeLogColumn, ImmutableList.of(""));
}