[midPoint-git] [Evolveum/midpoint] 3ab25c: Refactor resource completion and test operations

mederly noreply at github.com
Sat May 21 01:27:58 CEST 2022


  Branch: refs/heads/feature/new-resource-completion-and-testing
  Home:   https://github.com/Evolveum/midpoint
  Commit: 3ab25c802db8bcb6c5f764fe3f15c77f7f840b86
      https://github.com/Evolveum/midpoint/commit/3ab25c802db8bcb6c5f764fe3f15c77f7f840b86
  Author: Pavol Mederly <mederly at evolveum.com>
  Date:   2022-05-21 (Sat, 21 May 2022)

  Changed paths:
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/util/WebComponentUtil.java
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/resources/PageResources.java
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/resources/component/TestConnectionMessagesPanel.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/CapabilityUtil.java
    R infra/schema/src/main/java/com/evolveum/midpoint/schema/constants/ConnectorTestOperation.java
    A infra/schema/src/main/java/com/evolveum/midpoint/schema/constants/TestResourceOpNames.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/internals/InternalCounters.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/processor/AbstractResourceObjectDefinitionImpl.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/processor/CompositeObjectDefinitionImpl.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/processor/RefinedResourceSchemaParser.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/processor/ResourceObjectDefinition.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/processor/ResourceSchema.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/processor/ResourceSchemaFactory.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/processor/ResourceSchemaImpl.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/processor/ResourceSchemaParser.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/processor/deleg/ResourceObjectDefinitionDelegator.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/util/ResourceTypeUtil.java
    M model/model-api/src/main/java/com/evolveum/midpoint/model/api/ModelService.java
    M model/model-api/src/main/java/com/evolveum/midpoint/model/api/expr/MidpointFunctions.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/controller/ModelController.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/expr/MidpointFunctionsImpl.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/importer/ObjectImporter.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/scripting/actions/TestResourceExecutor.java
    M model/model-impl/src/test/java/com/evolveum/midpoint/model/impl/util/mock/MockFactory.java
    M model/model-intest/src/test/java/com/evolveum/midpoint/model/intest/TestConnectorDummyFake.java
    M model/model-intest/src/test/java/com/evolveum/midpoint/model/intest/TestConnectorMultiInstance.java
    M model/model-intest/src/test/java/com/evolveum/midpoint/model/intest/TestInbounds.java
    M model/model-intest/src/test/java/com/evolveum/midpoint/model/intest/TestLoggingConfiguration.java
    M model/model-intest/src/test/java/com/evolveum/midpoint/model/intest/TestResources.java
    M model/model-intest/src/test/java/com/evolveum/midpoint/model/intest/TestSchemalessResource.java
    M model/model-intest/src/test/java/com/evolveum/midpoint/model/intest/async/TestAsyncUpdateGrouperJson.java
    M model/model-intest/src/test/java/com/evolveum/midpoint/model/intest/async/TestAsyncUpdateTaskMechanics.java
    M model/model-intest/src/test/java/com/evolveum/midpoint/model/intest/async/TestAsyncUpdateUcf.java
    M model/model-intest/src/test/java/com/evolveum/midpoint/model/intest/async/TestNotifyChange.java
    M model/model-intest/src/test/java/com/evolveum/midpoint/model/intest/manual/AbstractManualResourceTest.java
    M model/model-intest/src/test/java/com/evolveum/midpoint/model/intest/manual/DummyItsmIntegrationConnectorInstance.java
    M model/model-intest/src/test/java/com/evolveum/midpoint/model/intest/manual/TestDummyItsmIntegration.java
    M model/model-intest/src/test/java/com/evolveum/midpoint/model/intest/mapping/TestMappingInbound.java
    M model/model-intest/src/test/java/com/evolveum/midpoint/model/intest/misc/TestTracing.java
    M model/model-intest/src/test/java/com/evolveum/midpoint/model/intest/misc/TestUuidNonUniqueName.java
    M model/model-intest/src/test/java/com/evolveum/midpoint/model/intest/multi/TestMultiConnectorResources.java
    M model/model-intest/src/test/java/com/evolveum/midpoint/model/intest/negative/TestBrokenResources.java
    M model/model-intest/src/test/java/com/evolveum/midpoint/model/intest/tasks/TestTaskReporting.java
    M model/model-test/src/main/java/com/evolveum/midpoint/model/test/AbstractModelIntegrationTest.java
    M model/rest-impl/src/main/java/com/evolveum/midpoint/rest/impl/ModelRestController.java
    M model/workflow-impl/src/test/java/com/evolveum/midpoint/wf/impl/other/ManualResourceTest.java
    A provisioning/provisioning-api/src/main/java/com/evolveum/midpoint/provisioning/api/DiscoveredConfiguration.java
    M provisioning/provisioning-api/src/main/java/com/evolveum/midpoint/provisioning/api/ProvisioningService.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/ProvisioningServiceImpl.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/resourceobjects/ResourceObjectReferenceResolver.java
    R provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/resources/AbstractTestConnectionOperation.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/resources/ConnectorManager.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/resources/ConnectorSpec.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/resources/NativeConnectorsCapabilities.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/resources/ResourceCache.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/resources/ResourceCapabilitiesHelper.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/resources/ResourceCompletionOperation.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/resources/ResourceConnectorsManager.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/resources/ResourceExpansionOperation.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/resources/ResourceManager.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/resources/ResourceOperationalStateManager.java
    A provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/resources/ResourceSchemaAdjuster.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/resources/ResourceSchemaHelper.java
    A provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/resources/ResourceTestOperation.java
    A provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/resources/ResourceUpdater.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/resources/SchemaFetcher.java
    R provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/resources/TestConnectionOperation.java
    R provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/resources/TestConnectionOperationResourceInRepo.java
    R provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/resources/TestPartialConfigurationOperation.java
    M provisioning/provisioning-impl/src/test/java/com/evolveum/midpoint/provisioning/impl/AbstractProvisioningIntegrationTest.java
    M provisioning/provisioning-impl/src/test/java/com/evolveum/midpoint/provisioning/impl/TestConnectorManager.java
    M provisioning/provisioning-impl/src/test/java/com/evolveum/midpoint/provisioning/impl/TestDBTable.java
    M provisioning/provisioning-impl/src/test/java/com/evolveum/midpoint/provisioning/impl/async/provisioning/TestAsyncProvisioning.java
    M provisioning/provisioning-impl/src/test/java/com/evolveum/midpoint/provisioning/impl/async/update/TestAsyncUpdate.java
    M provisioning/provisioning-impl/src/test/java/com/evolveum/midpoint/provisioning/impl/csv/AbstractCsvTest.java
    M provisioning/provisioning-impl/src/test/java/com/evolveum/midpoint/provisioning/impl/csv/TestCsvBroken.java
    M provisioning/provisioning-impl/src/test/java/com/evolveum/midpoint/provisioning/impl/dummy/AbstractBasicDummyTest.java
    M provisioning/provisioning-impl/src/test/java/com/evolveum/midpoint/provisioning/impl/dummy/TestDummyConsistency.java
    M provisioning/provisioning-impl/src/test/java/com/evolveum/midpoint/provisioning/impl/dummy/TestDummyLegacy.java
    M provisioning/provisioning-impl/src/test/java/com/evolveum/midpoint/provisioning/impl/dummy/TestDummyNegative.java
    M provisioning/provisioning-impl/src/test/java/com/evolveum/midpoint/provisioning/impl/dummy/TestDummyParallelism.java
    M provisioning/provisioning-impl/src/test/java/com/evolveum/midpoint/provisioning/impl/dummy/TestDummySchemaless.java
    M provisioning/provisioning-impl/src/test/java/com/evolveum/midpoint/provisioning/impl/manual/AbstractManualResourceTest.java
    M provisioning/provisioning-impl/src/test/java/com/evolveum/midpoint/provisioning/impl/opendj/TestOpenDj.java
    M provisioning/provisioning-impl/src/test/java/com/evolveum/midpoint/provisioning/impl/opendj/TestOpenDjDiscovery.java
    M provisioning/provisioning-impl/src/test/java/com/evolveum/midpoint/provisioning/impl/opendj/TestOpenDjNegative.java
    M provisioning/provisioning-impl/src/test/java/com/evolveum/midpoint/provisioning/impl/resources/TestResourceTemplateMerge.java
    M provisioning/provisioning-impl/src/test/resources/dummy/dummy-schemaless/resource-dummy-schemaless-static-schema.xml
    M provisioning/ucf-api/src/main/java/com/evolveum/midpoint/provisioning/ucf/api/ConnectorDiscoveryListener.java
    M provisioning/ucf-api/src/main/java/com/evolveum/midpoint/provisioning/ucf/api/ConnectorFactory.java
    M provisioning/ucf-api/src/main/java/com/evolveum/midpoint/provisioning/ucf/api/ConnectorInstance.java
    M provisioning/ucf-impl-builtin/src/main/java/com/evolveum/midpoint/provisioning/ucf/impl/builtin/ManualConnectorInstance.java
    M provisioning/ucf-impl-builtin/src/main/java/com/evolveum/midpoint/provisioning/ucf/impl/builtin/async/provisioning/AsyncProvisioningConnectorInstance.java
    M provisioning/ucf-impl-builtin/src/main/java/com/evolveum/midpoint/provisioning/ucf/impl/builtin/async/update/AsyncUpdateConnectorInstance.java
    M provisioning/ucf-impl-connid/src/main/java/com/evolveum/midpoint/provisioning/ucf/impl/connid/ConnIdConfigurationTransformer.java
    M provisioning/ucf-impl-connid/src/main/java/com/evolveum/midpoint/provisioning/ucf/impl/connid/ConnectorInstanceConnIdImpl.java
    M provisioning/ucf-impl-connid/src/main/java/com/evolveum/midpoint/provisioning/ucf/impl/connid/DirectoryScanningInfoManager.java
    M repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/expression/ExpressionUtil.java
    M repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/helpers/ObjectRetriever.java
    M repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/helpers/ObjectUpdater.java
    M repo/repo-test-util/src/main/java/com/evolveum/midpoint/test/AbstractHigherUnitTest.java
    M repo/repo-test-util/src/main/java/com/evolveum/midpoint/test/AbstractIntegrationTest.java
    M repo/repo-test-util/src/main/java/com/evolveum/midpoint/test/CsvResource.java
    M repo/repo-test-util/src/main/java/com/evolveum/midpoint/test/IntegrationTestTools.java
    M repo/repo-test-util/src/main/java/com/evolveum/midpoint/test/ResourceTester.java
    M testing/conntest/src/test/java/com/evolveum/midpoint/testing/conntest/AbstractLdapTest.java
    M testing/conntest/src/test/java/com/evolveum/midpoint/testing/conntest/ad/AdTestMixin.java
    M testing/conntest/src/test/java/com/evolveum/midpoint/testing/conntest/ad/multidomain/AbstractAdLdapMultidomainTest.java
    M testing/story/src/test/java/com/evolveum/midpoint/testing/story/TestDependencyRename.java
    M testing/story/src/test/java/com/evolveum/midpoint/testing/story/TestEnergy.java
    M testing/story/src/test/java/com/evolveum/midpoint/testing/story/TestEntertainment.java
    M testing/story/src/test/java/com/evolveum/midpoint/testing/story/TestLargeGroups.java
    M testing/story/src/test/java/com/evolveum/midpoint/testing/story/TestLiveSyncMadness.java
    M testing/story/src/test/java/com/evolveum/midpoint/testing/story/TestMachineIntelligence.java
    M testing/story/src/test/java/com/evolveum/midpoint/testing/story/TestManyThreads.java
    M testing/story/src/test/java/com/evolveum/midpoint/testing/story/TestMapleLeaf.java
    M testing/story/src/test/java/com/evolveum/midpoint/testing/story/TestNullAttribute.java
    M testing/story/src/test/java/com/evolveum/midpoint/testing/story/TestOperationCounts.java
    M testing/story/src/test/java/com/evolveum/midpoint/testing/story/TestOrgSync.java
    M testing/story/src/test/java/com/evolveum/midpoint/testing/story/TestReconNullValue.java
    M testing/story/src/test/java/com/evolveum/midpoint/testing/story/TestResourceInMaintenance.java
    M testing/story/src/test/java/com/evolveum/midpoint/testing/story/TestRetirement.java
    M testing/story/src/test/java/com/evolveum/midpoint/testing/story/TestScience.java
    M testing/story/src/test/java/com/evolveum/midpoint/testing/story/TestShadowsPerformance.java
    M testing/story/src/test/java/com/evolveum/midpoint/testing/story/TestUniversity.java
    M testing/story/src/test/java/com/evolveum/midpoint/testing/story/TestUnix.java
    M testing/story/src/test/java/com/evolveum/midpoint/testing/story/TestVillage.java
    M testing/story/src/test/java/com/evolveum/midpoint/testing/story/TestWriter.java
    M testing/story/src/test/java/com/evolveum/midpoint/testing/story/async/TestAsyncProvisioning.java
    M testing/story/src/test/java/com/evolveum/midpoint/testing/story/consistency/TestConsistencyMechanism.java
    M testing/story/src/test/java/com/evolveum/midpoint/testing/story/grouper/TestGrouperAsyncUpdate.java
    M testing/story/src/test/java/com/evolveum/midpoint/testing/story/grouper/TestGrouperLargeGroupImport.java
    M testing/story/src/test/java/com/evolveum/midpoint/testing/story/grouper/TestGrouperLargeGroupReconciliation.java
    M testing/story/src/test/java/com/evolveum/midpoint/testing/story/ldap/TestLdapComplex.java
    M testing/story/src/test/java/com/evolveum/midpoint/testing/story/ldap/TestLdapDependency.java
    M testing/story/src/test/java/com/evolveum/midpoint/testing/story/ldap/TestLdapMutilated.java
    M testing/story/src/test/java/com/evolveum/midpoint/testing/story/ldap/TestLdapReconPerformance.java
    M testing/story/src/test/java/com/evolveum/midpoint/testing/story/ldap/TestLdapSyncMassive.java
    M testing/story/src/test/java/com/evolveum/midpoint/testing/story/ldap/TestLdapVirtualGroup.java
    M testing/story/src/test/java/com/evolveum/midpoint/testing/story/ldap/hierarchy/AbstractLdapHierarchyTest.java
    M testing/story/src/test/java/com/evolveum/midpoint/testing/story/perf/TestImport.java
    M testing/story/src/test/java/com/evolveum/midpoint/testing/story/uuid/AbstractUuidTest.java

  Log Message:
  -----------
  Refactor resource completion and test operations

1. ResourceTestOperation was decoupled from ResourceCompletionOperation.
Both classes have been refactored. The testResource operation
implementation is now much more modular, so we can now think about
variants like "no completion", "completion if needed", or even
"unconditional completion".

2. Fixed operation result handling for testResource operation:
Everything is now correctly inserted into the parent result. Specific
test-related result is returned to the caller, just as before.

3. ConnectorTestOperation was renamed to TestResourceOpNames, and
some of its values (operation names) were updated to better reflect
the actual process. !!! Midpoint-localization needs to be adapted !!!

4. BEHAVIOR CHANGE: When asking for a connector with a given capability,
null value may be legitimately returned. (The main connector
was returned in such situations before.) Such an operation will
be then refused at the level of midPoint, without even invoking
the connector. The exception to this rule is when native capabilities
are not known.

5. Return value of ProvisioningService#discoverConfiguration was changed
from Collection<PrismProperty<T>> to DiscoveredConfiguration.

Minor changes:
- Reworked ConnectorSpec to be more generally usable.
- Resource schema validation method was moved from ResourceTypeUtil
right into ResourceSchema / ResourceObjectDefinition implementations
(merged with existing ResourceSchema#validate).
- Type information was added to ObjectNotFoundException to support
better error message during testing a resource.
- Fixed resource version increment checking in assertSteadyResource
method.
- Clarified javadoc of ConnectorInstance#fetchCapabilities regarding
null/non-null values.
- Fixed the use of operation names in ConnectorInstance
implementations.

Work in progress. Some tests may fail.




More information about the midPoint-svn mailing list