You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by nt...@apache.org on 2023/11/24 12:48:13 UTC

(cayenne) branch master updated: CAY-2820 Remove `server` from the components naming - test infrastructure renaming - leftovers in the prod code

This is an automated email from the ASF dual-hosted git repository.

ntimofeev pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cayenne.git


The following commit(s) were added to refs/heads/master by this push:
     new 4232ef3eb CAY-2820 Remove `server` from the components naming  - test infrastructure renaming  - leftovers in the prod code
4232ef3eb is described below

commit 4232ef3ebb27e1a8257fc05775211ca9caa36486
Author: stariy95 <st...@gmail.com>
AuthorDate: Fri Nov 24 16:48:46 2023 +0400

    CAY-2820 Remove `server` from the components naming
     - test infrastructure renaming
     - leftovers in the prod code
---
 .../org/apache/cayenne/gen/CgenCaseModule.java     |  12 +-
 .../cayenne/commitlog/CommitLogFilterIT.java       |   4 +-
 .../commitlog/CommitLogFilter_All_FlattenedIT.java |   4 +-
 .../commitlog/CommitLogFilter_FilteredIT.java      |   4 +-
 .../CommitLogFilter_ListenerInducedChangesIT.java  |   4 +-
 .../commitlog/CommitLogFilter_OutsideTxIT.java     |   4 +-
 .../cayenne/commitlog/CommitLogFilter_TxIT.java    |   4 +-
 ...leServerCase.java => AuditableRuntimeCase.java} |   2 +-
 ...edServerCase.java => FlattenedRuntimeCase.java} |   2 +-
 .../configuration/ToolsProjectModuleExtender.java  |   2 +-
 .../org/apache/cayenne/dbsync/merge/MergeCase.java |  14 +-
 .../dbsync/reverse/dbload/BaseLoaderIT.java        |  12 +-
 .../cayenne/dbsync/reverse/dbload/DbLoaderIT.java  |  12 +-
 .../cayenne/jcache/CayenneJCacheModuleIT.java      |  10 +-
 .../configuration/osgi/OsgiClassLoaderManager.java |  13 +-
 .../osgi/OsgiClassLoaderManagerTest.java           |   2 +-
 .../ProjectCompatibilityModuleProvider.java        |   2 +-
 .../ProjectCompatibilityModuleProviderTest.java    |   2 +-
 .../velocity/VelocityModuleProviderTest.java       |   2 +-
 .../cayenne/CDOCollectionRelationshipIT.java       |   8 +-
 .../java/org/apache/cayenne/CDOMany2OneIT.java     |   8 +-
 .../org/apache/cayenne/CDOMany2OneNoRevIT.java     |   8 +-
 .../org/apache/cayenne/CDOMapRelationshipIT.java   |   8 +-
 .../java/org/apache/cayenne/CDOOne2ManyIT.java     |   8 +-
 .../java/org/apache/cayenne/CDOOne2OneDepIT.java   |   4 +-
 .../java/org/apache/cayenne/CDOOneDep2OneIT.java   |   4 +-
 .../java/org/apache/cayenne/CDOOneToManyFKIT.java  |   8 +-
 .../java/org/apache/cayenne/CDOOneToOneFKIT.java   |   8 +-
 .../org/apache/cayenne/CDOQualifiedEntitiesIT.java |   8 +-
 .../apache/cayenne/CDOReflexiveRelDeleteIT.java    |   8 +-
 .../cayenne/CDOReflexiveRelICustomSorterIT.java    |  10 +-
 .../java/org/apache/cayenne/CDOReflexiveRelIT.java |   8 +-
 .../org/apache/cayenne/CDOSetRelationshipIT.java   |   8 +-
 .../test/java/org/apache/cayenne/Cay2412IT.java    |   8 +-
 .../java/org/apache/cayenne/CayenneCompoundIT.java |   8 +-
 .../java/org/apache/cayenne/CayenneDOTestBase.java |   4 +-
 .../cayenne/CayenneDataObjectFlattenedRelIT.java   |   8 +-
 .../org/apache/cayenne/CayenneDataObjectIT.java    |   8 +-
 .../cayenne/CayenneDataObjectInContextIT.java      |   8 +-
 .../cayenne/CayenneDataObjectReflexiveIT.java      |   8 +-
 .../cayenne/CayenneDataObjectRelationshipsIT.java  |   8 +-
 .../CayenneDataObjectSetToManyCollectionIT.java    |   8 +-
 .../cayenne/CayenneDataObjectSetToManyListIT.java  |   8 +-
 .../cayenne/CayenneDataObjectSetToManyMapIT.java   |   8 +-
 .../cayenne/CayenneDataObjectSetToManySetIT.java   |   8 +-
 .../cayenne/CayenneDataObjectValidationIT.java     |   8 +-
 .../test/java/org/apache/cayenne/CayenneIT.java    |   8 +-
 .../org/apache/cayenne/CircularDependencyIT.java   |   8 +-
 .../org/apache/cayenne/CompoundPkChangeIT.java     |   8 +-
 .../apache/cayenne/DataContextConcurrencyIT.java   |   8 +-
 .../cayenne/DataContextMaxIdQualifierIT.java       |   8 +-
 .../apache/cayenne/DataObjectSerializationIT.java  |   8 +-
 .../apache/cayenne/FlattenedRelationshipsIT.java   |   8 +-
 .../java/org/apache/cayenne/GenericMappingIT.java  |   8 +-
 .../org/apache/cayenne/HybridDataObjectIT.java     |   8 +-
 .../java/org/apache/cayenne/LazyAttributesIT.java  |   8 +-
 .../java/org/apache/cayenne/ManyToManyJoinIT.java  |   8 +-
 .../org/apache/cayenne/ManyToManyNoJoinIT.java     |   8 +-
 .../java/org/apache/cayenne/MeaningfulFKIT.java    |   8 +-
 .../org/apache/cayenne/OneWayRelationshipsIT.java  |   8 +-
 .../cayenne/PersistenceByReachabilityIT.java       |   8 +-
 .../org/apache/cayenne/PersistentObjectIT.java     |   8 +-
 .../java/org/apache/cayenne/PregeneratedPKIT.java  |   8 +-
 .../java/org/apache/cayenne/access/CAY2509IT.java  |   8 +-
 .../java/org/apache/cayenne/access/CAY2723IT.java  |   8 +-
 .../java/org/apache/cayenne/access/Cay2032IT.java  |   8 +-
 .../java/org/apache/cayenne/access/Cay2641IT.java  |   8 +-
 .../java/org/apache/cayenne/access/Cay2666IT.java  |   8 +-
 .../cayenne/access/DataContextArrayTypeIT.java     |   8 +-
 .../cayenne/access/DataContextBinaryPKIT.java      |   8 +-
 .../apache/cayenne/access/DataContextBlobIT.java   |   8 +-
 .../cayenne/access/DataContextCallbacksIT.java     |   8 +-
 .../apache/cayenne/access/DataContextCharPKIT.java |   8 +-
 .../cayenne/access/DataContextCharTypeIT.java      |   8 +-
 .../apache/cayenne/access/DataContextClobIT.java   |   8 +-
 .../apache/cayenne/access/DataContextCommitIT.java |   8 +-
 .../cayenne/access/DataContextCompoundRelIT.java   |   8 +-
 .../cayenne/access/DataContextCrossDBIT.java       |   8 +-
 .../access/DataContextDataChannelEventsIT.java     |  14 +-
 .../access/DataContextDecoratedStackIT.java        |   8 +-
 .../cayenne/access/DataContextDelegateIT.java      |   8 +-
 .../access/DataContextDelegateSharedCacheIT.java   |  14 +-
 .../cayenne/access/DataContextDeleteRulesIT.java   |   8 +-
 .../access/DataContextDisjointByIdPrefetchIT.java  |   8 +-
 .../DataContextDisjointByIdPrefetch_ExtrasIT.java  |   8 +-
 .../access/DataContextEJBQLArrayResultIT.java      |   8 +-
 .../access/DataContextEJBQLConditionsIT.java       |   8 +-
 .../access/DataContextEJBQLConditionsPeopleIT.java |   2 +-
 ...ontextEJBQLDateTimeFunctionalExpressionsIT.java |   8 +-
 .../cayenne/access/DataContextEJBQLDeleteIT.java   |   8 +-
 .../cayenne/access/DataContextEJBQLDeletePKIT.java |   8 +-
 .../access/DataContextEJBQLFetchJoinIT.java        |   8 +-
 .../DataContextEJBQLFlattenedRelationshipsIT.java  |   8 +-
 .../DataContextEJBQLFunctionalExpressionsIT.java   |   8 +-
 .../access/DataContextEJBQLGroupByHavingIT.java    |   8 +-
 .../access/DataContextEJBQLInheritanceIT.java      |   3 +-
 .../cayenne/access/DataContextEJBQLIsNullIT.java   |   8 +-
 .../cayenne/access/DataContextEJBQLJoinsIT.java    |   8 +-
 .../DataContextEJBQLNumericalFunctionalIT.java     |   8 +-
 .../cayenne/access/DataContextEJBQLOrderByIT.java  |   8 +-
 .../access/DataContextEJBQLQueryCompoundIT.java    |   8 +-
 .../cayenne/access/DataContextEJBQLQueryIT.java    |   8 +-
 .../cayenne/access/DataContextEJBQLSubqueryIT.java |   8 +-
 .../access/DataContextEJBQLUpdateCompoundIT.java   |   8 +-
 .../cayenne/access/DataContextEJBQLUpdateIT.java   |   8 +-
 ...tyWithMeaningfulPKAndCustomDbRowOpSorterIT.java |  10 +-
 .../DataContextEntityWithMeaningfulPKIT.java       |   8 +-
 .../DataContextExtendedTypeOperationsIT.java       |   8 +-
 .../apache/cayenne/access/DataContextExtrasIT.java |   8 +-
 .../access/DataContextFlattenedAttributesIT.java   |   8 +-
 .../org/apache/cayenne/access/DataContextIT.java   |  12 +-
 .../cayenne/access/DataContextIteratedQueryIT.java |   8 +-
 .../cayenne/access/DataContextJoinAliasesIT.java   |   8 +-
 .../cayenne/access/DataContextLocalObjectIT.java   |   8 +-
 .../apache/cayenne/access/DataContextNoPkIT.java   |   8 +-
 .../cayenne/access/DataContextObjectIdQueryIT.java |   8 +-
 .../DataContextObjectIdQuery_PolymorphicIT.java    |   2 +-
 .../access/DataContextObjectTrackingIT.java        |   8 +-
 .../cayenne/access/DataContextOrderingIT.java      |   8 +-
 .../cayenne/access/DataContextOuterJoinsIT.java    |   8 +-
 .../access/DataContextPaginatedQueryIT.java        |   8 +-
 .../access/DataContextPerformQueryAPIIT.java       |   8 +-
 .../access/DataContextPrefetchExtras1IT.java       |   8 +-
 .../access/DataContextPrefetchExtrasIT.java        |   8 +-
 .../cayenne/access/DataContextPrefetchIT.java      |   8 +-
 .../access/DataContextPrefetchMultistepIT.java     |   8 +-
 .../DataContextPrefetchQualifierOverlapIT.java     |   8 +-
 .../access/DataContextProcedureQueryIT.java        |   8 +-
 .../access/DataContextQualifiedEntityIT.java       |   2 +-
 .../cayenne/access/DataContextQueryCachingIT.java  |   8 +-
 .../cayenne/access/DataContextQueryChainIT.java    |   8 +-
 .../cayenne/access/DataContextRefreshQueryIT.java  |   8 +-
 .../cayenne/access/DataContextRefreshingIT.java    |   8 +-
 .../access/DataContextRelationshipQueryIT.java     |   8 +-
 ...DataContextRelationshipQuery_PolymorphicIT.java |   2 +-
 .../cayenne/access/DataContextRollbackIT.java      |   8 +-
 .../access/DataContextSQLTemplateCompoundIT.java   |   8 +-
 .../cayenne/access/DataContextSQLTemplateIT.java   |   8 +-
 .../cayenne/access/DataContextSerializationIT.java |   8 +-
 .../access/DataContextSharedCacheEmpiricIT.java    |  20 ++-
 .../cayenne/access/DataContextSharedCacheIT.java   |  14 +-
 .../cayenne/access/DataContextValidationIT.java    |   8 +-
 .../cayenne/access/DataDomainCallbacksIT.java      |   8 +-
 .../apache/cayenne/access/DataDomainFiltersIT.java |   8 +-
 .../org/apache/cayenne/access/DataDomainIT.java    |   8 +-
 .../cayenne/access/DataDomainQueryActionIT.java    |   8 +-
 .../java/org/apache/cayenne/access/DataNodeIT.java |   8 +-
 .../apache/cayenne/access/DataNodeQueriesIT.java   |   8 +-
 .../org/apache/cayenne/access/DataRowStoreIT.java  |   8 +-
 .../org/apache/cayenne/access/DataRowUtilsIT.java  |   8 +-
 .../org/apache/cayenne/access/DateTimeTypesIT.java |   8 +-
 .../org/apache/cayenne/access/DbGeneratorIT.java   |   8 +-
 .../access/DefaultDataRowStoreFactoryIT.java       |   8 +-
 .../org/apache/cayenne/access/DeleteObjectIT.java  |   8 +-
 .../org/apache/cayenne/access/DeleteRulesIT.java   |   8 +-
 .../org/apache/cayenne/access/EmbeddingIT.java     |   8 +-
 .../cayenne/access/EmbeddingSerializeIT.java       |   8 +-
 .../apache/cayenne/access/EntityInheritanceIT.java |   8 +-
 .../java/org/apache/cayenne/access/EnumIT.java     |   8 +-
 .../apache/cayenne/access/FlattenedPrefetchIT.java |   8 +-
 .../access/FlattenedRelationshipInContextIT.java   |   8 +-
 .../apache/cayenne/access/IdentityColumnsIT.java   |   8 +-
 .../cayenne/access/IncrementalFaultListIT.java     |   8 +-
 .../org/apache/cayenne/access/JointPrefetchIT.java |   8 +-
 .../org/apache/cayenne/access/MiscTypesIT.java     |   8 +-
 .../access/NestedDataContextLocalCacheIT.java      |   8 +-
 .../access/NestedDataContextParentEventsIT.java    |  14 +-
 .../NestedDataContextParentPeerEventsIT.java       |  14 +-
 .../access/NestedDataContextPeerEventsIT.java      |  14 +-
 .../cayenne/access/NestedDataContextReadIT.java    |   8 +-
 .../access/NestedDataContextRollbackIT.java        |   8 +-
 .../access/NestedDataContextValidationIT.java      |   8 +-
 .../cayenne/access/NestedDataContextWriteIT.java   |   8 +-
 .../access/NestedDataContext_DeadlockIT.java       |   8 +-
 .../org/apache/cayenne/access/NumericTypesIT.java  |   8 +-
 .../cayenne/access/ObjectStoreDiffRetainingIT.java |   8 +-
 .../org/apache/cayenne/access/ObjectStoreGCIT.java |   8 +-
 .../org/apache/cayenne/access/ObjectStoreIT.java   |   8 +-
 .../apache/cayenne/access/OptimisticLockingIT.java |   8 +-
 .../access/PrefetchProcessorTreeBuilderIT.java     |   8 +-
 .../cayenne/access/PrimitiveAttributesIT.java      |   8 +-
 .../apache/cayenne/access/QuotedIdentifiersIT.java |   8 +-
 .../cayenne/access/ReturnTypesMappingIT.java       |   8 +-
 .../SimpleIdIncrementalFaultListDataRowsIT.java    |   8 +-
 .../access/SimpleIdIncrementalFaultListIT.java     |   8 +-
 .../SimpleIdIncrementalFaultListPrefetchIT.java    |   8 +-
 .../cayenne/access/SingleTableInheritance1IT.java  |   8 +-
 .../cayenne/access/SingleTableInheritanceIT.java   |   2 +-
 .../org/apache/cayenne/access/ToManyListIT.java    |   8 +-
 .../java/org/apache/cayenne/access/UUIDIT.java     |   8 +-
 .../cayenne/access/VerticalInheritanceIT.java      |   8 +-
 .../VerticalInheritanceMultipleAttributesIT.java   |   8 +-
 .../access/dbsync/SchemaUpdateStrategyBase.java    |   4 +-
 .../access/dbsync/SchemaUpdateStrategyIT.java      |   4 +-
 .../ThrowOnPartialOrCreateSchemaStrategyIT.java    |   4 +-
 .../dbsync/ThrowOnPartialSchemaStrategyIT.java     |   4 +-
 .../access/jdbc/BatchActionGeneratedIT.java        |   8 +-
 .../apache/cayenne/access/jdbc/BatchActionIT.java  |   8 +-
 .../cayenne/access/jdbc/BatchActionLockingIT.java  |   8 +-
 .../cayenne/access/jdbc/SQLTemplateActionIT.java   |  12 +-
 .../apache/cayenne/access/jdbc/SelectActionIT.java |  11 +-
 ...SelectActionWithUnsupportedDistinctTypesIT.java |   8 +-
 .../translator/batch/DeleteBatchTranslatorIT.java  |   8 +-
 .../translator/batch/InsertBatchTranslatorIT.java  |   8 +-
 .../batch/SoftDeleteBatchTranslatorIT.java         |   8 +-
 .../translator/batch/UpdateBatchTranslatorIT.java  |   8 +-
 .../batch/legacy/DefaultBatchTranslatorIT.java     |   8 +-
 .../translator/ejbql/EJBQLSelectTranslatorIT.java  |   8 +-
 .../select/DefaultObjectSelectTranslatorIT.java    |   8 +-
 .../select/DefaultSelectTranslatorIT.java          |   8 +-
 .../select/DescriptorColumnExtractorIT.java        |   8 +-
 .../translator/select/ObjPathProcessorIT.java      |   8 +-
 .../translator/select/ObjPathProcessorIT2.java     |   8 +-
 .../translator/select/ObjPathProcessorIT3.java     |   8 +-
 .../translator/select/ObjPathProcessorIT4.java     |   8 +-
 .../translator/select/QualifierTranslatorIT.java   |   8 +-
 .../apache/cayenne/access/types/Java8TimeIT.java   |   8 +-
 .../access/util/DefaultOperationObserverIT.java    |   8 +-
 ...eSyncModule.java => RuntimeCaseSyncModule.java} |   2 +-
 .../cayenne/ashwood/AshwoodEntitySorterIT.java     |   8 +-
 .../ashwood/AshwoodEntitySorter_InheritanceIT.java |   6 +-
 .../AshwoodEntitySorter_RelationshipsIT.java       |   8 +-
 .../ashwood/WeightedAshwoodEntitySorterIT.java     |   8 +-
 .../org/apache/cayenne/cache/QueryCacheIT.java     |   8 +-
 .../runtime/JNDIDataSourceFactoryIT.java           |   8 +-
 .../datasource/BasePoolingDataSourceIT.java        |   8 +-
 .../datasource/ManagedPoolingDataSourceIT.java     |   4 +-
 .../cayenne/datasource/PoolingDataSourceIT.java    |   4 +-
 ...PoolingDataSource_FailingValidationQueryIT.java |   8 +-
 .../PoolingDataSource_ValidationQueryIT.java       |   4 +-
 .../java/org/apache/cayenne/dba/AutoAdapterIT.java |   8 +-
 .../cayenne/dba/ConcurrentPkGeneratorIT.java       |   8 +-
 .../java/org/apache/cayenne/dba/JdbcAdapterIT.java |   8 +-
 .../org/apache/cayenne/dba/JdbcPkGeneratorIT.java  |  10 +-
 .../java/org/apache/cayenne/dba/PkGeneratorIT.java |   8 +-
 .../org/apache/cayenne/dba/TypesMappingIT.java     |  12 +-
 .../apache/cayenne/dba/hsqldb/HSQLDBAdapterIT.java |   8 +-
 .../apache/cayenne/dba/mysql/MySQLAdapterIT.java   |   8 +-
 .../cayenne/dba/oracle/Oracle8AdapterIT.java       |   8 +-
 .../apache/cayenne/dba/oracle/OracleAdapterIT.java |   8 +-
 .../cayenne/dba/oracle/OraclePkGeneratorIT.java    |   8 +-
 .../cayenne/dba/postgres/PostgresAdapterIT.java    |   8 +-
 .../cayenne/dba/sqlserver/SQLServerAdapterIT.java  |   8 +-
 .../cayenne/dba/sqlserver/SQLServerSnifferIT.java  |  12 +-
 .../cayenne/ejbql/EJBQLParser_CompileIT.java       |   8 +-
 .../exp/AggregateExpInMemoryEvaluationIT.java      |   8 +-
 .../apache/cayenne/exp/ExpressionFactoryIT.java    |   8 +-
 .../java/org/apache/cayenne/exp/ExpressionIT.java  |   8 +-
 .../cayenne/exp/ParsedExpQualifierCompatIT.java    |   8 +-
 .../apache/cayenne/exp/TranslateExpressionIT.java  |   8 +-
 .../org/apache/cayenne/exp/parser/ASTDbPathIT.java |   8 +-
 .../org/apache/cayenne/exp/parser/ASTEqualIT.java  |   8 +-
 .../apache/cayenne/exp/parser/ASTExtractIT.java    |   8 +-
 .../cayenne/exp/parser/ASTFunctionCallDateIT.java  |   8 +-
 .../cayenne/exp/parser/ASTFunctionCallMathIT.java  |   8 +-
 .../exp/parser/ASTFunctionCallStringIT.java        |   8 +-
 .../cayenne/exp/parser/ASTObjPathEnumIT.java       |   8 +-
 .../apache/cayenne/exp/parser/ASTObjPathIT.java    |   8 +-
 .../parser/ExpressionCollectionEvaluationIT.java   |   8 +-
 .../cayenne/exp/parser/ExpressionEvaluationIT.java |   8 +-
 .../apache/cayenne/exp/property/IdPropertyIT.java  |   8 +-
 .../apache/cayenne/exp/property/PathAliasesIT.java |   8 +-
 .../java/org/apache/cayenne/map/AnnotationIT.java  |   8 +-
 .../java/org/apache/cayenne/map/DbEntityIT.java    |   8 +-
 .../org/apache/cayenne/map/DbRelationshipIT.java   |   8 +-
 .../test/java/org/apache/cayenne/map/EntityIT.java |   8 +-
 .../map/EntityResolverClassDescriptorIT.java       |  12 +-
 .../cayenne/map/EntityResolverGenericStackIT.java  |   8 +-
 .../org/apache/cayenne/map/EntityResolverIT.java   |   8 +-
 .../cayenne/map/EntityResolverInheritanceIT.java   |   2 +-
 .../java/org/apache/cayenne/map/ObjEntityIT.java   |   8 +-
 .../org/apache/cayenne/map/ObjRelationshipIT.java  |   8 +-
 .../java/org/apache/cayenne/query/CAY2541IT.java   |   8 +-
 .../org/apache/cayenne/query/ColumnSelectIT.java   |   8 +-
 .../apache/cayenne/query/EJBQLQueryCountIT.java    |   8 +-
 .../org/apache/cayenne/query/EJBQLQueryIT.java     |   8 +-
 .../apache/cayenne/query/EJBQLQueryNumericIT.java  |   8 +-
 .../query/FluentSelectPrefetchRouterActionIT.java  |   8 +-
 ...electPrefetchRouterActionQualifiedEntityIT.java |   2 +-
 .../org/apache/cayenne/query/MappedQueryIT.java    |   8 +-
 .../cayenne/query/ObjectSelectIteratedQueryIT.java |   8 +-
 .../cayenne/query/ObjectSelect_AggregateIT.java    |   8 +-
 .../cayenne/query/ObjectSelect_CacheKeyIT.java     |   8 +-
 .../query/ObjectSelect_FetchLimitOrderingIT.java   |   8 +-
 .../query/ObjectSelect_PrimitiveColumnsIT.java     |   8 +-
 .../apache/cayenne/query/ObjectSelect_RunIT.java   |   8 +-
 .../cayenne/query/ObjectSelect_SubqueryIT.java     |   8 +-
 .../org/apache/cayenne/query/ProcedureCallIT.java  |   8 +-
 .../cayenne/query/ProcedureQueryCacheKeyIT.java    |   8 +-
 .../org/apache/cayenne/query/QueryChainIT.java     |   8 +-
 .../org/apache/cayenne/query/QueryTimeoutIT.java   |   8 +-
 .../cayenne/query/QueryWithCompoundJoinIT.java     |   8 +-
 .../query/QueryWithInheritancePrefetchIT.java      |   8 +-
 .../java/org/apache/cayenne/query/SQLExecIT.java   |   8 +-
 .../java/org/apache/cayenne/query/SQLSelectIT.java |   8 +-
 .../cayenne/query/SQLSelectIteratedQueryIT.java    |   8 +-
 .../cayenne/query/SQLTemplateCacheKeyIT.java       |   8 +-
 .../org/apache/cayenne/query/SQLTemplateIT.java    |   8 +-
 .../cayenne/query/SelectByIdIteratedQueryIT.java   |   8 +-
 .../org/apache/cayenne/query/SelectById_RunIT.java |   8 +-
 .../apache/cayenne/query/SelectQueryClobIT.java    |   8 +-
 .../cayenne/query/SelectQueryReturnTypesIT.java    |   8 +-
 .../apache/cayenne/query/StatementFetchSizeIT.java |   8 +-
 .../cayenne/reflect/LifecycleCallbackOrderIT.java  |   8 +-
 .../reflect/LifecycleCallbackRegistryIT.java       |   8 +-
 .../LifecycleCallbackRegistry_InheritanceIT.java   |   8 +-
 .../reflect/MixedPersistenceStrategyIT.java        |   8 +-
 .../generic/DataObjectDescriptorFactoryIT.java     |   8 +-
 ...aObjectDescriptorFactory_InheritanceMapsIT.java |   8 +-
 .../cayenne/runtime/CayenneRuntimeBuilderIT.java   |   8 +-
 .../apache/cayenne/runtime/CayenneRuntimeIT.java   |   8 +-
 .../template/directive/BindDirectiveIT.java        |   8 +-
 .../template/directive/ResultDirectiveIT.java      |   8 +-
 .../cayenne/tx/TransactionCustomConnectionIT.java  |   8 +-
 .../apache/cayenne/tx/TransactionIsolationIT.java  |   8 +-
 .../tx/TransactionPropagationRollbackIT.java       |   8 +-
 .../org/apache/cayenne/tx/TransactionThreadIT.java |   8 +-
 .../org/apache/cayenne/tx/UserTransactionIT.java   |   8 +-
 .../di/{server => runtime}/CayenneProjects.java    |   2 +-
 .../CayenneRuntimeProvider.java                    |  24 ++--
 .../CayenneRuntimeProviderContextsSync.java        |   8 +-
 .../{server => runtime}/ConnectionProperties.java  |   2 +-
 .../unit/di/{server => runtime}/DBCleaner.java     |   2 +-
 .../di/{server => runtime}/DBCleanerProvider.java  |   4 +-
 .../unit/di/{server => runtime}/ExtraModules.java  |   2 +-
 .../di/{server => runtime}/FlavoredDBHelper.java   |   2 +-
 .../FlavoredDBHelperProvider.java                  |   4 +-
 .../di/{server => runtime}/PeopleProjectCase.java  |   4 +-
 .../ServerCase.java => runtime/RuntimeCase.java}   |   6 +-
 ...ntimeCaseBatchQueryBuilderFactoryProvider.java} |   4 +-
 .../RuntimeCaseDataChannelInterceptor.java}        |   6 +-
 .../RuntimeCaseDataContextProvider.java}           |   4 +-
 .../RuntimeCaseDataDomainProvider.java}            |   4 +-
 .../RuntimeCaseDataNode.java}                      |   6 +-
 .../RuntimeCaseDataNodeFactory.java}               |   8 +-
 .../RuntimeCaseDataNodeProvider.java}              |   4 +-
 .../RuntimeCaseDataSourceDescriptorProvider.java}  |   8 +-
 .../RuntimeCaseDataSourceFactory.java}             |   6 +-
 .../RuntimeCaseDbAdapterProvider.java}             |   6 +-
 .../RuntimeCaseEntityResolverProvider.java}        |   4 +-
 .../RuntimeCaseExtraModules.java}                  |   4 +-
 .../RuntimeCaseLifecycleManager.java}              |  10 +-
 .../RuntimeCaseModule.java}                        |  42 +++---
 .../RuntimeCaseObjectContextProvider.java}         |   4 +-
 .../RuntimeCaseProperties.java}                    |   4 +-
 .../RuntimeCaseSelfIT.java}                        |   6 +-
 .../RuntimeCaseSharedDataSourceFactory.java}       |   8 +-
 .../SQLTemplateCustomizerProvider.java             |   2 +-
 .../unit/di/{server => runtime}/SchemaBuilder.java |   8 +-
 .../{server => runtime}/UnitDbAdapterProvider.java |   2 +-
 .../di/{server => runtime}/UseCayenneRuntime.java  |   2 +-
 ...eakReferenceStrategyCayenneRuntimeProvider.java |   8 +-
 .../WeakReferenceStrategyRuntimeCase.java}         |   6 +-
 .../WeakReferenceStrategyRuntimeCaseModule.java}   |   6 +-
 .../unit/di/server/ServerCaseContextsSync.java     |  63 ---------
 .../org/apache/cayenne/unit/jira/CAY_115IT.java    |   8 +-
 .../org/apache/cayenne/unit/jira/CAY_191IT.java    |   8 +-
 .../org/apache/cayenne/unit/jira/CAY_194IT.java    |   8 +-
 .../apache/cayenne/util/DeepMergeOperationIT.java  |   8 +-
 .../util/DeepMergeOperationInheritanceIT.java      |   2 +-
 .../cayenne/util/ShallowMergeOperationIT.java      |   8 +-
 .../org/apache/cayenne/value/json/JsonTypeIT.java  |   8 +-
 .../modeler/dialog/objentity/ClassNameUpdater.java |  28 ++--
 .../dialog/pref/CreateTemplateFromDefaultView.java | 143 ---------------------
 364 files changed, 1405 insertions(+), 1596 deletions(-)

diff --git a/cayenne-cgen/src/test/java/org/apache/cayenne/gen/CgenCaseModule.java b/cayenne-cgen/src/test/java/org/apache/cayenne/gen/CgenCaseModule.java
index 96add5808..48d56b891 100644
--- a/cayenne-cgen/src/test/java/org/apache/cayenne/gen/CgenCaseModule.java
+++ b/cayenne-cgen/src/test/java/org/apache/cayenne/gen/CgenCaseModule.java
@@ -24,9 +24,9 @@ import org.apache.cayenne.di.Module;
 import org.apache.cayenne.di.spi.DefaultScope;
 import org.apache.cayenne.gen.mock.CustomPropertyDescriptor;
 import org.apache.cayenne.unit.di.UnitTestLifecycleManager;
-import org.apache.cayenne.unit.di.server.ServerCaseExtraModules;
-import org.apache.cayenne.unit.di.server.ServerCaseLifecycleManager;
-import org.apache.cayenne.unit.di.server.ServerCaseProperties;
+import org.apache.cayenne.unit.di.runtime.RuntimeCaseExtraModules;
+import org.apache.cayenne.unit.di.runtime.RuntimeCaseLifecycleManager;
+import org.apache.cayenne.unit.di.runtime.RuntimeCaseProperties;
 
 /**
  * @since 4.2
@@ -40,9 +40,9 @@ public class CgenCaseModule implements Module {
     }
     @Override
     public void configure(Binder binder) {
-        binder.bind(UnitTestLifecycleManager.class).toInstance(new ServerCaseLifecycleManager(testScope));
-        binder.bind(ServerCaseProperties.class).to(ServerCaseProperties.class).in(testScope);
-        binder.bind(ServerCaseExtraModules.class).to(ServerCaseExtraModules.class).in(testScope);
+        binder.bind(UnitTestLifecycleManager.class).toInstance(new RuntimeCaseLifecycleManager(testScope));
+        binder.bind(RuntimeCaseProperties.class).to(RuntimeCaseProperties.class).in(testScope);
+        binder.bind(RuntimeCaseExtraModules.class).to(RuntimeCaseExtraModules.class).in(testScope);
 
         CgenModule.contributeUserProperties(binder)
                 .add(CustomPropertyDescriptor.class);
diff --git a/cayenne-commitlog/src/test/java/org/apache/cayenne/commitlog/CommitLogFilterIT.java b/cayenne-commitlog/src/test/java/org/apache/cayenne/commitlog/CommitLogFilterIT.java
index 9e7b6bf0d..7814d5153 100644
--- a/cayenne-commitlog/src/test/java/org/apache/cayenne/commitlog/CommitLogFilterIT.java
+++ b/cayenne-commitlog/src/test/java/org/apache/cayenne/commitlog/CommitLogFilterIT.java
@@ -24,7 +24,7 @@ import org.apache.cayenne.commitlog.db.Auditable1;
 import org.apache.cayenne.commitlog.db.AuditableChild1;
 import org.apache.cayenne.commitlog.db.AuditableChild1x;
 import org.apache.cayenne.commitlog.model.*;
-import org.apache.cayenne.commitlog.unit.AuditableServerCase;
+import org.apache.cayenne.commitlog.unit.AuditableRuntimeCase;
 import org.apache.cayenne.query.SelectById;
 import org.apache.cayenne.runtime.CayenneRuntimeBuilder;
 import org.junit.Before;
@@ -37,7 +37,7 @@ import static org.junit.Assert.*;
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.Mockito.*;
 
-public class CommitLogFilterIT extends AuditableServerCase {
+public class CommitLogFilterIT extends AuditableRuntimeCase {
 
     protected ObjectContext context;
     protected CommitLogListener mockListener;
diff --git a/cayenne-commitlog/src/test/java/org/apache/cayenne/commitlog/CommitLogFilter_All_FlattenedIT.java b/cayenne-commitlog/src/test/java/org/apache/cayenne/commitlog/CommitLogFilter_All_FlattenedIT.java
index 49e5fbd47..7a755890a 100644
--- a/cayenne-commitlog/src/test/java/org/apache/cayenne/commitlog/CommitLogFilter_All_FlattenedIT.java
+++ b/cayenne-commitlog/src/test/java/org/apache/cayenne/commitlog/CommitLogFilter_All_FlattenedIT.java
@@ -26,7 +26,7 @@ import org.apache.cayenne.commitlog.model.ChangeMap;
 import org.apache.cayenne.commitlog.model.ObjectChange;
 import org.apache.cayenne.commitlog.model.ObjectChangeType;
 import org.apache.cayenne.commitlog.model.ToManyRelationshipChange;
-import org.apache.cayenne.commitlog.unit.FlattenedServerCase;
+import org.apache.cayenne.commitlog.unit.FlattenedRuntimeCase;
 import org.apache.cayenne.query.SelectById;
 import org.apache.cayenne.runtime.CayenneRuntimeBuilder;
 import org.junit.Before;
@@ -39,7 +39,7 @@ import static org.junit.Assert.*;
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.Mockito.*;
 
-public class CommitLogFilter_All_FlattenedIT extends FlattenedServerCase {
+public class CommitLogFilter_All_FlattenedIT extends FlattenedRuntimeCase {
 
 	protected ObjectContext context;
 	protected CommitLogListener mockListener;
diff --git a/cayenne-commitlog/src/test/java/org/apache/cayenne/commitlog/CommitLogFilter_FilteredIT.java b/cayenne-commitlog/src/test/java/org/apache/cayenne/commitlog/CommitLogFilter_FilteredIT.java
index a6540f0c8..f87d06e94 100644
--- a/cayenne-commitlog/src/test/java/org/apache/cayenne/commitlog/CommitLogFilter_FilteredIT.java
+++ b/cayenne-commitlog/src/test/java/org/apache/cayenne/commitlog/CommitLogFilter_FilteredIT.java
@@ -30,7 +30,7 @@ import org.apache.cayenne.commitlog.model.ChangeMap;
 import org.apache.cayenne.commitlog.model.ObjectChange;
 import org.apache.cayenne.commitlog.model.ObjectChangeType;
 import org.apache.cayenne.commitlog.model.ToManyRelationshipChange;
-import org.apache.cayenne.commitlog.unit.AuditableServerCase;
+import org.apache.cayenne.commitlog.unit.AuditableRuntimeCase;
 import org.apache.cayenne.query.SelectById;
 import org.apache.cayenne.runtime.CayenneRuntimeBuilder;
 import org.junit.Before;
@@ -43,7 +43,7 @@ import static org.junit.Assert.*;
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.Mockito.*;
 
-public class CommitLogFilter_FilteredIT extends AuditableServerCase {
+public class CommitLogFilter_FilteredIT extends AuditableRuntimeCase {
 
 	protected ObjectContext context;
 	protected CommitLogListener mockListener;
diff --git a/cayenne-commitlog/src/test/java/org/apache/cayenne/commitlog/CommitLogFilter_ListenerInducedChangesIT.java b/cayenne-commitlog/src/test/java/org/apache/cayenne/commitlog/CommitLogFilter_ListenerInducedChangesIT.java
index f512972aa..b34c828dc 100644
--- a/cayenne-commitlog/src/test/java/org/apache/cayenne/commitlog/CommitLogFilter_ListenerInducedChangesIT.java
+++ b/cayenne-commitlog/src/test/java/org/apache/cayenne/commitlog/CommitLogFilter_ListenerInducedChangesIT.java
@@ -28,7 +28,7 @@ import org.apache.cayenne.commitlog.model.AttributeChange;
 import org.apache.cayenne.commitlog.model.ChangeMap;
 import org.apache.cayenne.commitlog.model.ObjectChange;
 import org.apache.cayenne.commitlog.model.ObjectChangeType;
-import org.apache.cayenne.commitlog.unit.AuditableServerCase;
+import org.apache.cayenne.commitlog.unit.AuditableRuntimeCase;
 import org.apache.cayenne.query.SelectById;
 import org.apache.cayenne.runtime.CayenneRuntimeBuilder;
 import org.junit.Before;
@@ -48,7 +48,7 @@ import static org.mockito.Mockito.*;
 /**
  * Testing capturing changes introduced by the pre-commit listeners.
  */
-public class CommitLogFilter_ListenerInducedChangesIT extends AuditableServerCase {
+public class CommitLogFilter_ListenerInducedChangesIT extends AuditableRuntimeCase {
 
 	protected ObjectContext context;
 	protected CommitLogListener mockListener;
diff --git a/cayenne-commitlog/src/test/java/org/apache/cayenne/commitlog/CommitLogFilter_OutsideTxIT.java b/cayenne-commitlog/src/test/java/org/apache/cayenne/commitlog/CommitLogFilter_OutsideTxIT.java
index ecbd2fef3..54ad02f6d 100644
--- a/cayenne-commitlog/src/test/java/org/apache/cayenne/commitlog/CommitLogFilter_OutsideTxIT.java
+++ b/cayenne-commitlog/src/test/java/org/apache/cayenne/commitlog/CommitLogFilter_OutsideTxIT.java
@@ -22,7 +22,7 @@ import org.apache.cayenne.ObjectContext;
 import org.apache.cayenne.commitlog.db.AuditLog;
 import org.apache.cayenne.commitlog.db.Auditable2;
 import org.apache.cayenne.commitlog.model.ObjectChange;
-import org.apache.cayenne.commitlog.unit.AuditableServerCase;
+import org.apache.cayenne.commitlog.unit.AuditableRuntimeCase;
 import org.apache.cayenne.runtime.CayenneRuntimeBuilder;
 import org.apache.cayenne.tx.BaseTransaction;
 import org.junit.Before;
@@ -34,7 +34,7 @@ import java.util.List;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNull;
 
-public class CommitLogFilter_OutsideTxIT extends AuditableServerCase {
+public class CommitLogFilter_OutsideTxIT extends AuditableRuntimeCase {
 
     protected ObjectContext context;
     protected CommitLogListener listener;
diff --git a/cayenne-commitlog/src/test/java/org/apache/cayenne/commitlog/CommitLogFilter_TxIT.java b/cayenne-commitlog/src/test/java/org/apache/cayenne/commitlog/CommitLogFilter_TxIT.java
index 61627fc31..8dc723cf8 100644
--- a/cayenne-commitlog/src/test/java/org/apache/cayenne/commitlog/CommitLogFilter_TxIT.java
+++ b/cayenne-commitlog/src/test/java/org/apache/cayenne/commitlog/CommitLogFilter_TxIT.java
@@ -22,7 +22,7 @@ import org.apache.cayenne.ObjectContext;
 import org.apache.cayenne.commitlog.db.AuditLog;
 import org.apache.cayenne.commitlog.db.Auditable2;
 import org.apache.cayenne.commitlog.model.ObjectChange;
-import org.apache.cayenne.commitlog.unit.AuditableServerCase;
+import org.apache.cayenne.commitlog.unit.AuditableRuntimeCase;
 import org.apache.cayenne.runtime.CayenneRuntimeBuilder;
 import org.apache.cayenne.tx.BaseTransaction;
 import org.junit.Before;
@@ -34,7 +34,7 @@ import java.util.List;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 
-public class CommitLogFilter_TxIT extends AuditableServerCase {
+public class CommitLogFilter_TxIT extends AuditableRuntimeCase {
 
 	protected ObjectContext context;
 	protected CommitLogListener listener;
diff --git a/cayenne-commitlog/src/test/java/org/apache/cayenne/commitlog/unit/AuditableServerCase.java b/cayenne-commitlog/src/test/java/org/apache/cayenne/commitlog/unit/AuditableRuntimeCase.java
similarity index 98%
rename from cayenne-commitlog/src/test/java/org/apache/cayenne/commitlog/unit/AuditableServerCase.java
rename to cayenne-commitlog/src/test/java/org/apache/cayenne/commitlog/unit/AuditableRuntimeCase.java
index aa641cdc8..c86b7e1b7 100644
--- a/cayenne-commitlog/src/test/java/org/apache/cayenne/commitlog/unit/AuditableServerCase.java
+++ b/cayenne-commitlog/src/test/java/org/apache/cayenne/commitlog/unit/AuditableRuntimeCase.java
@@ -28,7 +28,7 @@ import org.junit.Before;
 /**
  * A superclass of integration tests for cayenne-lifecycle.
  */
-public abstract class AuditableServerCase {
+public abstract class AuditableRuntimeCase {
 
 	protected CayenneRuntime runtime;
 
diff --git a/cayenne-commitlog/src/test/java/org/apache/cayenne/commitlog/unit/FlattenedServerCase.java b/cayenne-commitlog/src/test/java/org/apache/cayenne/commitlog/unit/FlattenedRuntimeCase.java
similarity index 98%
rename from cayenne-commitlog/src/test/java/org/apache/cayenne/commitlog/unit/FlattenedServerCase.java
rename to cayenne-commitlog/src/test/java/org/apache/cayenne/commitlog/unit/FlattenedRuntimeCase.java
index df21b914c..01f0db713 100644
--- a/cayenne-commitlog/src/test/java/org/apache/cayenne/commitlog/unit/FlattenedServerCase.java
+++ b/cayenne-commitlog/src/test/java/org/apache/cayenne/commitlog/unit/FlattenedRuntimeCase.java
@@ -25,7 +25,7 @@ import org.apache.cayenne.test.jdbc.TableHelper;
 import org.junit.After;
 import org.junit.Before;
 
-public class FlattenedServerCase {
+public class FlattenedRuntimeCase {
 
 	protected CayenneRuntime runtime;
 
diff --git a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/reverse/configuration/ToolsProjectModuleExtender.java b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/reverse/configuration/ToolsProjectModuleExtender.java
index afeb0d07f..7d5b86c46 100644
--- a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/reverse/configuration/ToolsProjectModuleExtender.java
+++ b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/reverse/configuration/ToolsProjectModuleExtender.java
@@ -22,7 +22,7 @@ package org.apache.cayenne.dbsync.reverse.configuration;
 import org.apache.cayenne.di.Binder;
 import org.apache.cayenne.project.ProjectModuleExtender;
 
-// this class exists so that ToolsModule can call "initAllExtensions()" that is protected in ServerModuleExtender.
+// this class exists so that ToolsModule can call "initAllExtensions()" that is protected in ProjectModuleExtender.
 class ToolsProjectModuleExtender extends ProjectModuleExtender {
 
     public ToolsProjectModuleExtender(Binder binder) {
diff --git a/cayenne-dbsync/src/test/java/org/apache/cayenne/dbsync/merge/MergeCase.java b/cayenne-dbsync/src/test/java/org/apache/cayenne/dbsync/merge/MergeCase.java
index 8c1526bb1..483551d37 100644
--- a/cayenne-dbsync/src/test/java/org/apache/cayenne/dbsync/merge/MergeCase.java
+++ b/cayenne-dbsync/src/test/java/org/apache/cayenne/dbsync/merge/MergeCase.java
@@ -45,11 +45,11 @@ import org.apache.cayenne.map.EntityResolver;
 import org.apache.cayenne.runtime.CayenneRuntime;
 import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.unit.UnitDbAdapter;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ExtraModules;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.ServerCaseDataSourceFactory;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.ExtraModules;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.RuntimeCaseDataSourceFactory;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.slf4j.Logger;
 import org.junit.Before;
 import org.slf4j.LoggerFactory;
@@ -65,7 +65,7 @@ import static org.junit.Assert.assertEquals;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
 @ExtraModules(DbSyncModule.class)
-public abstract class MergeCase extends ServerCase {
+public abstract class MergeCase extends RuntimeCase {
 
     @Inject
     protected EntityResolver resolver;
@@ -80,7 +80,7 @@ public abstract class MergeCase extends ServerCase {
     @Inject
     protected UnitDbAdapter accessStackAdapter;
     @Inject
-    private ServerCaseDataSourceFactory dataSourceFactory;
+    private RuntimeCaseDataSourceFactory dataSourceFactory;
 
     @Override
     public void cleanUpDB() throws Exception {
diff --git a/cayenne-dbsync/src/test/java/org/apache/cayenne/dbsync/reverse/dbload/BaseLoaderIT.java b/cayenne-dbsync/src/test/java/org/apache/cayenne/dbsync/reverse/dbload/BaseLoaderIT.java
index c489295b4..c0d33ce8e 100644
--- a/cayenne-dbsync/src/test/java/org/apache/cayenne/dbsync/reverse/dbload/BaseLoaderIT.java
+++ b/cayenne-dbsync/src/test/java/org/apache/cayenne/dbsync/reverse/dbload/BaseLoaderIT.java
@@ -27,17 +27,17 @@ import org.apache.cayenne.map.DbEntity;
 import org.apache.cayenne.dbsync.model.DetectedDbEntity;
 import org.apache.cayenne.runtime.CayenneRuntime;
 import org.apache.cayenne.unit.UnitDbAdapter;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.ServerCaseDataSourceFactory;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.RuntimeCaseDataSourceFactory;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.After;
 import org.junit.Before;
 
 import static org.junit.Assert.assertTrue;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class BaseLoaderIT extends ServerCase {
+public class BaseLoaderIT extends RuntimeCase {
 
     static final DbLoaderConfiguration EMPTY_CONFIG = new DbLoaderConfiguration();
 
@@ -48,7 +48,7 @@ public class BaseLoaderIT extends ServerCase {
     protected CayenneRuntime runtime;
 
     @Inject
-    protected ServerCaseDataSourceFactory dataSourceFactory;
+    protected RuntimeCaseDataSourceFactory dataSourceFactory;
 
     @Inject
     protected UnitDbAdapter accessStackAdapter;
diff --git a/cayenne-dbsync/src/test/java/org/apache/cayenne/dbsync/reverse/dbload/DbLoaderIT.java b/cayenne-dbsync/src/test/java/org/apache/cayenne/dbsync/reverse/dbload/DbLoaderIT.java
index f9f9ba815..4bf07fb10 100644
--- a/cayenne-dbsync/src/test/java/org/apache/cayenne/dbsync/reverse/dbload/DbLoaderIT.java
+++ b/cayenne-dbsync/src/test/java/org/apache/cayenne/dbsync/reverse/dbload/DbLoaderIT.java
@@ -29,10 +29,10 @@ import org.apache.cayenne.map.DbEntity;
 import org.apache.cayenne.map.DbRelationship;
 import org.apache.cayenne.runtime.CayenneRuntime;
 import org.apache.cayenne.unit.UnitDbAdapter;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.ServerCaseDataSourceFactory;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.RuntimeCaseDataSourceFactory;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -48,7 +48,7 @@ import static org.junit.Assert.assertTrue;
  * All tests have been moved to corresponding loaders tests.
  */
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class DbLoaderIT extends ServerCase {
+public class DbLoaderIT extends RuntimeCase {
 
     private static final DbLoaderConfiguration CONFIG = new DbLoaderConfiguration();
 
@@ -59,7 +59,7 @@ public class DbLoaderIT extends ServerCase {
     private DbAdapter adapter;
 
     @Inject
-    private ServerCaseDataSourceFactory dataSourceFactory;
+    private RuntimeCaseDataSourceFactory dataSourceFactory;
 
     @Inject
     private UnitDbAdapter accessStackAdapter;
diff --git a/cayenne-jcache/src/test/java/org/apache/cayenne/jcache/CayenneJCacheModuleIT.java b/cayenne-jcache/src/test/java/org/apache/cayenne/jcache/CayenneJCacheModuleIT.java
index 6eab2ec1e..48fc37ed3 100644
--- a/cayenne-jcache/src/test/java/org/apache/cayenne/jcache/CayenneJCacheModuleIT.java
+++ b/cayenne-jcache/src/test/java/org/apache/cayenne/jcache/CayenneJCacheModuleIT.java
@@ -31,10 +31,10 @@ import org.apache.cayenne.runtime.CayenneRuntime;
 import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.testmap.Artist;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ExtraModules;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.ExtraModules;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -47,7 +47,7 @@ import static org.junit.Assert.assertEquals;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
 @ExtraModules(CayenneJCacheModuleIT.EhCacheModule.class)
-public class CayenneJCacheModuleIT extends ServerCase {
+public class CayenneJCacheModuleIT extends RuntimeCase {
 
     @Inject
     private DBHelper dbHelper;
diff --git a/cayenne-osgi/src/main/java/org/apache/cayenne/configuration/osgi/OsgiClassLoaderManager.java b/cayenne-osgi/src/main/java/org/apache/cayenne/configuration/osgi/OsgiClassLoaderManager.java
index 1dc8e498f..902e2a07c 100644
--- a/cayenne-osgi/src/main/java/org/apache/cayenne/configuration/osgi/OsgiClassLoaderManager.java
+++ b/cayenne-osgi/src/main/java/org/apache/cayenne/configuration/osgi/OsgiClassLoaderManager.java
@@ -32,14 +32,14 @@ public class OsgiClassLoaderManager implements ClassLoaderManager {
     private static final String CAYENNE_DI_PACKAGE_SUFFIX = "/di";
 
     private ClassLoader applicationClassLoader;
-    private ClassLoader cayenneServerClassLoader;
+    private ClassLoader cayenneRuntimeClassLoader;
     private ClassLoader cayenneDiClassLoader;
     private Map<String, ClassLoader> perResourceClassLoaders;
 
     public OsgiClassLoaderManager(ClassLoader applicationClassLoader, Map<String, ClassLoader> perResourceClassLoaders) {
         this.applicationClassLoader = applicationClassLoader;
         this.cayenneDiClassLoader = Injector.class.getClassLoader();
-        this.cayenneServerClassLoader = OsgiClassLoaderManager.class.getClassLoader();
+        this.cayenneRuntimeClassLoader = OsgiClassLoaderManager.class.getClassLoader();
         this.perResourceClassLoaders = perResourceClassLoaders;
     }
 
@@ -52,8 +52,9 @@ public class OsgiClassLoaderManager implements ClassLoaderManager {
         String normalizedName = resourceName.charAt(0) == '/' ? resourceName.substring(1) : resourceName;
         if (normalizedName.startsWith(CAYENNE_PACKAGE)) {
 
-            return (normalizedName.substring(CAYENNE_PACKAGE.length()).startsWith(CAYENNE_DI_PACKAGE_SUFFIX)) ? cayenneDiClassLoader()
-                    : cayenneServerClassLoader();
+            return (normalizedName.substring(CAYENNE_PACKAGE.length()).startsWith(CAYENNE_DI_PACKAGE_SUFFIX))
+                    ? cayenneDiClassLoader()
+                    : cayenneRuntimeClassLoader();
         }
 
         return resourceClassLoader(resourceName);
@@ -68,7 +69,7 @@ public class OsgiClassLoaderManager implements ClassLoaderManager {
         return cayenneDiClassLoader;
     }
 
-    protected ClassLoader cayenneServerClassLoader() {
-        return cayenneServerClassLoader;
+    protected ClassLoader cayenneRuntimeClassLoader() {
+        return cayenneRuntimeClassLoader;
     }
 }
diff --git a/cayenne-osgi/src/test/java/org/apache/cayenne/configuration/osgi/OsgiClassLoaderManagerTest.java b/cayenne-osgi/src/test/java/org/apache/cayenne/configuration/osgi/OsgiClassLoaderManagerTest.java
index 20fe19512..dd9362f1f 100644
--- a/cayenne-osgi/src/test/java/org/apache/cayenne/configuration/osgi/OsgiClassLoaderManagerTest.java
+++ b/cayenne-osgi/src/test/java/org/apache/cayenne/configuration/osgi/OsgiClassLoaderManagerTest.java
@@ -41,7 +41,7 @@ public class OsgiClassLoaderManagerTest {
             }
 
             @Override
-            protected ClassLoader cayenneServerClassLoader() {
+            protected ClassLoader cayenneRuntimeClassLoader() {
                 return serverCl;
             }
         };
diff --git a/cayenne-project-compatibility/src/main/java/org/apache/cayenne/project/compatibility/ProjectCompatibilityModuleProvider.java b/cayenne-project-compatibility/src/main/java/org/apache/cayenne/project/compatibility/ProjectCompatibilityModuleProvider.java
index cdae65b57..d7c32a2f7 100644
--- a/cayenne-project-compatibility/src/main/java/org/apache/cayenne/project/compatibility/ProjectCompatibilityModuleProvider.java
+++ b/cayenne-project-compatibility/src/main/java/org/apache/cayenne/project/compatibility/ProjectCompatibilityModuleProvider.java
@@ -44,7 +44,7 @@ public class ProjectCompatibilityModuleProvider implements CayenneRuntimeModuleP
 
     @Override
     public Collection<Class<? extends Module>> overrides() {
-        // compatibility module overrides XML loaders defined in ServerModule and
+        // compatibility module overrides XML loaders defined in CoreModule and
         // upgrade services from ProjectModule
         return Arrays.asList(CoreModule.class, ProjectModule.class);
     }
diff --git a/cayenne-project-compatibility/src/test/java/org/apache/cayenne/project/compatibility/ProjectCompatibilityModuleProviderTest.java b/cayenne-project-compatibility/src/test/java/org/apache/cayenne/project/compatibility/ProjectCompatibilityModuleProviderTest.java
index f15c82a21..209be9163 100644
--- a/cayenne-project-compatibility/src/test/java/org/apache/cayenne/project/compatibility/ProjectCompatibilityModuleProviderTest.java
+++ b/cayenne-project-compatibility/src/test/java/org/apache/cayenne/project/compatibility/ProjectCompatibilityModuleProviderTest.java
@@ -29,7 +29,7 @@ import org.junit.Test;
 public class ProjectCompatibilityModuleProviderTest {
 
     @Test
-    public void testServerAutoLoadable() {
+    public void testAutoLoadable() {
         ModuleProviderChecker.testProviderPresent(ProjectCompatibilityModuleProvider.class, CayenneRuntimeModuleProvider.class);
     }
 }
diff --git a/cayenne-velocity/src/test/java/org/apache/cayenne/velocity/VelocityModuleProviderTest.java b/cayenne-velocity/src/test/java/org/apache/cayenne/velocity/VelocityModuleProviderTest.java
index 3ab7c8f06..c76b1e541 100644
--- a/cayenne-velocity/src/test/java/org/apache/cayenne/velocity/VelocityModuleProviderTest.java
+++ b/cayenne-velocity/src/test/java/org/apache/cayenne/velocity/VelocityModuleProviderTest.java
@@ -29,7 +29,7 @@ import org.junit.Test;
 public class VelocityModuleProviderTest {
 
     @Test
-    public void testServerAutoLoadable() {
+    public void testAutoLoadable() {
         ModuleProviderChecker.testProviderPresent(VelocityModuleProvider.class, CayenneRuntimeModuleProvider.class);
     }
 }
diff --git a/cayenne/src/test/java/org/apache/cayenne/CDOCollectionRelationshipIT.java b/cayenne/src/test/java/org/apache/cayenne/CDOCollectionRelationshipIT.java
index c5766e0b2..8b5653953 100644
--- a/cayenne/src/test/java/org/apache/cayenne/CDOCollectionRelationshipIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/CDOCollectionRelationshipIT.java
@@ -26,9 +26,9 @@ import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.relationships_collection_to_many.CollectionToMany;
 import org.apache.cayenne.testdo.relationships_collection_to_many.CollectionToManyTarget;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -42,7 +42,7 @@ import static org.junit.Assert.assertSame;
 import static org.junit.Assert.assertTrue;
 
 @UseCayenneRuntime(CayenneProjects.RELATIONSHIPS_COLLECTION_TO_MANY_PROJECT)
-public class CDOCollectionRelationshipIT extends ServerCase {
+public class CDOCollectionRelationshipIT extends RuntimeCase {
 
     @Inject
     private ObjectContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/CDOMany2OneIT.java b/cayenne/src/test/java/org/apache/cayenne/CDOMany2OneIT.java
index 36a7b55f0..eebeec952 100644
--- a/cayenne/src/test/java/org/apache/cayenne/CDOMany2OneIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/CDOMany2OneIT.java
@@ -30,9 +30,9 @@ import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.testdo.testmap.Gallery;
 import org.apache.cayenne.testdo.testmap.Painting;
 import org.apache.cayenne.testdo.testmap.ROPainting;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -46,7 +46,7 @@ import static org.junit.Assert.assertSame;
 import static org.junit.Assert.assertTrue;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class CDOMany2OneIT extends ServerCase {
+public class CDOMany2OneIT extends RuntimeCase {
 
     @Inject
     private CayenneRuntime runtime;
diff --git a/cayenne/src/test/java/org/apache/cayenne/CDOMany2OneNoRevIT.java b/cayenne/src/test/java/org/apache/cayenne/CDOMany2OneNoRevIT.java
index 62125090f..a427a974b 100644
--- a/cayenne/src/test/java/org/apache/cayenne/CDOMany2OneNoRevIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/CDOMany2OneNoRevIT.java
@@ -22,9 +22,9 @@ package org.apache.cayenne;
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.testdo.testmap.Painting1;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 import static org.junit.Assert.assertEquals;
@@ -32,7 +32,7 @@ import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertSame;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class CDOMany2OneNoRevIT extends ServerCase {
+public class CDOMany2OneNoRevIT extends RuntimeCase {
 
     @Inject
     private ObjectContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/CDOMapRelationshipIT.java b/cayenne/src/test/java/org/apache/cayenne/CDOMapRelationshipIT.java
index 43f38ccae..8c74737b7 100644
--- a/cayenne/src/test/java/org/apache/cayenne/CDOMapRelationshipIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/CDOMapRelationshipIT.java
@@ -28,9 +28,9 @@ import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.map_to_many.IdMapToMany;
 import org.apache.cayenne.testdo.map_to_many.MapToMany;
 import org.apache.cayenne.testdo.map_to_many.MapToManyTarget;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -42,7 +42,7 @@ import static org.junit.Assert.assertSame;
 import static org.junit.Assert.assertTrue;
 
 @UseCayenneRuntime(CayenneProjects.MAP_TO_MANY_PROJECT)
-public class CDOMapRelationshipIT extends ServerCase {
+public class CDOMapRelationshipIT extends RuntimeCase {
 
     @Inject
     protected ObjectContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/CDOOne2ManyIT.java b/cayenne/src/test/java/org/apache/cayenne/CDOOne2ManyIT.java
index 91de7b963..ac9343a34 100644
--- a/cayenne/src/test/java/org/apache/cayenne/CDOOne2ManyIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/CDOOne2ManyIT.java
@@ -31,9 +31,9 @@ import org.apache.cayenne.testdo.testmap.ArtistExhibit;
 import org.apache.cayenne.testdo.testmap.Exhibit;
 import org.apache.cayenne.testdo.testmap.Gallery;
 import org.apache.cayenne.testdo.testmap.Painting;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -45,7 +45,7 @@ import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertSame;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class CDOOne2ManyIT extends ServerCase {
+public class CDOOne2ManyIT extends RuntimeCase {
 
     @Inject
     private CayenneRuntime runtime;
diff --git a/cayenne/src/test/java/org/apache/cayenne/CDOOne2OneDepIT.java b/cayenne/src/test/java/org/apache/cayenne/CDOOne2OneDepIT.java
index 1f5100b41..3cdfbff3b 100644
--- a/cayenne/src/test/java/org/apache/cayenne/CDOOne2OneDepIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/CDOOne2OneDepIT.java
@@ -24,8 +24,8 @@ import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.testdo.testmap.Painting;
 import org.apache.cayenne.testdo.testmap.PaintingInfo;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 import static org.junit.Assert.assertEquals;
diff --git a/cayenne/src/test/java/org/apache/cayenne/CDOOneDep2OneIT.java b/cayenne/src/test/java/org/apache/cayenne/CDOOneDep2OneIT.java
index 4745413a2..6f926ce53 100644
--- a/cayenne/src/test/java/org/apache/cayenne/CDOOneDep2OneIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/CDOOneDep2OneIT.java
@@ -27,8 +27,8 @@ import org.apache.cayenne.testdo.testmap.Exhibit;
 import org.apache.cayenne.testdo.testmap.Gallery;
 import org.apache.cayenne.testdo.testmap.Painting;
 import org.apache.cayenne.testdo.testmap.PaintingInfo;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 import java.sql.Timestamp;
diff --git a/cayenne/src/test/java/org/apache/cayenne/CDOOneToManyFKIT.java b/cayenne/src/test/java/org/apache/cayenne/CDOOneToManyFKIT.java
index 33e42f182..ad802b1f9 100644
--- a/cayenne/src/test/java/org/apache/cayenne/CDOOneToManyFKIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/CDOOneToManyFKIT.java
@@ -24,9 +24,9 @@ import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.testdo.relationships_to_many_fk.ToManyFkDep;
 import org.apache.cayenne.testdo.relationships_to_many_fk.ToManyFkRoot;
 import org.apache.cayenne.testdo.relationships_to_many_fk.ToManyRoot2;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 import static org.junit.Assert.assertEquals;
@@ -35,7 +35,7 @@ import static org.junit.Assert.assertSame;
 
 // TODO: this mapping scenario is really unsupported ... this is just an attempt at partial solution
 @UseCayenneRuntime(CayenneProjects.RELATIONSHIPS_TO_MANY_FK_PROJECT)
-public class CDOOneToManyFKIT extends ServerCase {
+public class CDOOneToManyFKIT extends RuntimeCase {
 
     @Inject
     protected DataContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/CDOOneToOneFKIT.java b/cayenne/src/test/java/org/apache/cayenne/CDOOneToOneFKIT.java
index 228a0ae92..f8f7d7a40 100644
--- a/cayenne/src/test/java/org/apache/cayenne/CDOOneToOneFKIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/CDOOneToOneFKIT.java
@@ -24,9 +24,9 @@ import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.query.ObjectIdQuery;
 import org.apache.cayenne.testdo.relationships_to_one_fk.ToOneFK1;
 import org.apache.cayenne.testdo.relationships_to_one_fk.ToOneFK2;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 import static org.junit.Assert.assertEquals;
@@ -39,7 +39,7 @@ import static org.junit.Assert.assertTrue;
  * Tests the behavior of one-to-one relationship where to-one is pointing to an FK.
  */
 @UseCayenneRuntime(CayenneProjects.RELATIONSHIPS_TO_ONE_FK_PROJECT)
-public class CDOOneToOneFKIT extends ServerCase {
+public class CDOOneToOneFKIT extends RuntimeCase {
 
     @Inject
     private DataContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/CDOQualifiedEntitiesIT.java b/cayenne/src/test/java/org/apache/cayenne/CDOQualifiedEntitiesIT.java
index 8cb31ddf0..e5bffea2d 100644
--- a/cayenne/src/test/java/org/apache/cayenne/CDOQualifiedEntitiesIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/CDOQualifiedEntitiesIT.java
@@ -30,9 +30,9 @@ import org.apache.cayenne.testdo.qualified.Qualified2;
 import org.apache.cayenne.testdo.qualified.Qualified3;
 import org.apache.cayenne.testdo.qualified.Qualified4;
 import org.apache.cayenne.unit.UnitDbAdapter;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -43,7 +43,7 @@ import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNull;
 
 @UseCayenneRuntime(CayenneProjects.QUALIFIED_PROJECT)
-public class CDOQualifiedEntitiesIT extends ServerCase {
+public class CDOQualifiedEntitiesIT extends RuntimeCase {
 
     @Inject
     private ObjectContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/CDOReflexiveRelDeleteIT.java b/cayenne/src/test/java/org/apache/cayenne/CDOReflexiveRelDeleteIT.java
index 8a2bb0237..6e4f29a7a 100644
--- a/cayenne/src/test/java/org/apache/cayenne/CDOReflexiveRelDeleteIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/CDOReflexiveRelDeleteIT.java
@@ -21,14 +21,14 @@ package org.apache.cayenne;
 
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.testdo.testmap.ArtGroup;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class CDOReflexiveRelDeleteIT extends ServerCase {
+public class CDOReflexiveRelDeleteIT extends RuntimeCase {
 
     @Inject
     private ObjectContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/CDOReflexiveRelICustomSorterIT.java b/cayenne/src/test/java/org/apache/cayenne/CDOReflexiveRelICustomSorterIT.java
index 5d900c427..6a52a1b9a 100644
--- a/cayenne/src/test/java/org/apache/cayenne/CDOReflexiveRelICustomSorterIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/CDOReflexiveRelICustomSorterIT.java
@@ -23,7 +23,7 @@ import org.apache.cayenne.access.flush.operation.DbRowOpSorter;
 import org.apache.cayenne.access.flush.operation.GraphBasedDbRowOpSorter;
 import org.apache.cayenne.di.Binder;
 import org.apache.cayenne.di.Inject;
-import org.apache.cayenne.unit.di.server.ExtraModules;
+import org.apache.cayenne.unit.di.runtime.ExtraModules;
 import org.apache.cayenne.di.Module;
 import org.apache.cayenne.query.ObjectSelect;
 import org.apache.cayenne.testdo.testmap.ArtGroup;
@@ -31,15 +31,15 @@ import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.testdo.testmap.CompoundPaintingLongNames;
 import org.apache.cayenne.testdo.testmap.Gallery;
 import org.apache.cayenne.testdo.testmap.Painting;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Ignore;
 import org.junit.Test;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
 @ExtraModules(CDOReflexiveRelICustomSorterIT.GraphSorterModule.class)
-public class CDOReflexiveRelICustomSorterIT extends ServerCase {
+public class CDOReflexiveRelICustomSorterIT extends RuntimeCase {
     @Inject
     private ObjectContext context;
 
diff --git a/cayenne/src/test/java/org/apache/cayenne/CDOReflexiveRelIT.java b/cayenne/src/test/java/org/apache/cayenne/CDOReflexiveRelIT.java
index 0e6e9bb32..8121ec9f4 100644
--- a/cayenne/src/test/java/org/apache/cayenne/CDOReflexiveRelIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/CDOReflexiveRelIT.java
@@ -21,9 +21,9 @@ package org.apache.cayenne;
 
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.testdo.testmap.ArtGroup;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 /**
@@ -31,7 +31,7 @@ import org.junit.Test;
  * etc. The implementation is hairy, and so needs a really good workout.
  */
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class CDOReflexiveRelIT extends ServerCase {
+public class CDOReflexiveRelIT extends RuntimeCase {
 
     @Inject
     private ObjectContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/CDOSetRelationshipIT.java b/cayenne/src/test/java/org/apache/cayenne/CDOSetRelationshipIT.java
index dc17ed385..25c6f74e6 100644
--- a/cayenne/src/test/java/org/apache/cayenne/CDOSetRelationshipIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/CDOSetRelationshipIT.java
@@ -25,9 +25,9 @@ import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.relationships_set_to_many.SetToMany;
 import org.apache.cayenne.testdo.relationships_set_to_many.SetToManyTarget;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -41,7 +41,7 @@ import static org.junit.Assert.assertSame;
 import static org.junit.Assert.assertTrue;
 
 @UseCayenneRuntime(CayenneProjects.RELATIONSHIPS_SET_TO_MANY_PROJECT)
-public class CDOSetRelationshipIT extends ServerCase {
+public class CDOSetRelationshipIT extends RuntimeCase {
 
     @Inject
     protected ObjectContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/Cay2412IT.java b/cayenne/src/test/java/org/apache/cayenne/Cay2412IT.java
index fce6e11d2..68ca3ec41 100644
--- a/cayenne/src/test/java/org/apache/cayenne/Cay2412IT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/Cay2412IT.java
@@ -27,9 +27,9 @@ import org.apache.cayenne.query.ObjectSelect;
 import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.testmap.Artist;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Ignore;
 import org.junit.Test;
@@ -40,7 +40,7 @@ import static org.junit.Assert.assertEquals;
  * @since 4.1
  */
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class Cay2412IT extends ServerCase {
+public class Cay2412IT extends RuntimeCase {
 
     @Inject
     DataContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/CayenneCompoundIT.java b/cayenne/src/test/java/org/apache/cayenne/CayenneCompoundIT.java
index 0e3fb597b..654e3b024 100644
--- a/cayenne/src/test/java/org/apache/cayenne/CayenneCompoundIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/CayenneCompoundIT.java
@@ -27,9 +27,9 @@ import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.compound.CharPkTestEntity;
 import org.apache.cayenne.testdo.compound.CompoundPkTestEntity;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -43,7 +43,7 @@ import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.fail;
 
 @UseCayenneRuntime(CayenneProjects.COMPOUND_PROJECT)
-public class CayenneCompoundIT extends ServerCase {
+public class CayenneCompoundIT extends RuntimeCase {
 
 	@Inject
 	private ObjectContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/CayenneDOTestBase.java b/cayenne/src/test/java/org/apache/cayenne/CayenneDOTestBase.java
index c05412e34..4e92c646e 100644
--- a/cayenne/src/test/java/org/apache/cayenne/CayenneDOTestBase.java
+++ b/cayenne/src/test/java/org/apache/cayenne/CayenneDOTestBase.java
@@ -24,11 +24,11 @@ import org.apache.cayenne.query.ObjectSelect;
 import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.testdo.testmap.Painting;
 import org.apache.cayenne.testdo.testmap.PaintingInfo;
-import org.apache.cayenne.unit.di.server.ServerCase;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
 
 import java.util.List;
 
-public abstract class CayenneDOTestBase extends ServerCase {
+public abstract class CayenneDOTestBase extends RuntimeCase {
 
     public static final String artistName = "artist with one painting";
     public static final String galleryName = "my gallery";
diff --git a/cayenne/src/test/java/org/apache/cayenne/CayenneDataObjectFlattenedRelIT.java b/cayenne/src/test/java/org/apache/cayenne/CayenneDataObjectFlattenedRelIT.java
index 0edfae526..52533632f 100644
--- a/cayenne/src/test/java/org/apache/cayenne/CayenneDataObjectFlattenedRelIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/CayenneDataObjectFlattenedRelIT.java
@@ -28,9 +28,9 @@ import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.testmap.ArtGroup;
 import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.unit.di.DataChannelInterceptor;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -44,7 +44,7 @@ import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class CayenneDataObjectFlattenedRelIT extends ServerCase {
+public class CayenneDataObjectFlattenedRelIT extends RuntimeCase {
 
     @Inject
     private CayenneRuntime runtime;
diff --git a/cayenne/src/test/java/org/apache/cayenne/CayenneDataObjectIT.java b/cayenne/src/test/java/org/apache/cayenne/CayenneDataObjectIT.java
index 02bfede63..4b6ea592f 100644
--- a/cayenne/src/test/java/org/apache/cayenne/CayenneDataObjectIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/CayenneDataObjectIT.java
@@ -30,14 +30,14 @@ import org.apache.cayenne.exp.ExpressionFactory;
 import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.testdo.testmap.ArtistExhibit;
 import org.apache.cayenne.testdo.testmap.Painting;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.apache.cayenne.unit.util.TstBean;
 import org.junit.Test;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class CayenneDataObjectIT extends ServerCase {
+public class CayenneDataObjectIT extends RuntimeCase {
 
 	@Inject
 	private ObjectContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/CayenneDataObjectInContextIT.java b/cayenne/src/test/java/org/apache/cayenne/CayenneDataObjectInContextIT.java
index 1bc86aa61..0508b5834 100644
--- a/cayenne/src/test/java/org/apache/cayenne/CayenneDataObjectInContextIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/CayenneDataObjectInContextIT.java
@@ -26,9 +26,9 @@ import org.apache.cayenne.runtime.CayenneRuntime;
 import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.testmap.Artist;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -37,7 +37,7 @@ import java.util.List;
 import static org.junit.Assert.*;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class CayenneDataObjectInContextIT extends ServerCase {
+public class CayenneDataObjectInContextIT extends RuntimeCase {
 
     @Inject
     protected CayenneRuntime runtime;
diff --git a/cayenne/src/test/java/org/apache/cayenne/CayenneDataObjectReflexiveIT.java b/cayenne/src/test/java/org/apache/cayenne/CayenneDataObjectReflexiveIT.java
index fe8cb2594..0fcfe47df 100644
--- a/cayenne/src/test/java/org/apache/cayenne/CayenneDataObjectReflexiveIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/CayenneDataObjectReflexiveIT.java
@@ -23,15 +23,15 @@ import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.runtime.CayenneRuntime;
 import org.apache.cayenne.testdo.reflexive.Other;
 import org.apache.cayenne.testdo.reflexive.Reflexive;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 import static org.junit.Assert.assertEquals;
 
 @UseCayenneRuntime(CayenneProjects.REFLEXIVE_PROJECT)
-public class CayenneDataObjectReflexiveIT extends ServerCase {
+public class CayenneDataObjectReflexiveIT extends RuntimeCase {
 
     @Inject
     private ObjectContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/CayenneDataObjectRelationshipsIT.java b/cayenne/src/test/java/org/apache/cayenne/CayenneDataObjectRelationshipsIT.java
index 8c335798f..004313766 100644
--- a/cayenne/src/test/java/org/apache/cayenne/CayenneDataObjectRelationshipsIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/CayenneDataObjectRelationshipsIT.java
@@ -30,9 +30,9 @@ import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.testdo.testmap.Gallery;
 import org.apache.cayenne.testdo.testmap.Painting;
 import org.apache.cayenne.testdo.testmap.PaintingInfo;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -47,7 +47,7 @@ import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class CayenneDataObjectRelationshipsIT extends ServerCase {
+public class CayenneDataObjectRelationshipsIT extends RuntimeCase {
 
     @Inject
     private ObjectContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/CayenneDataObjectSetToManyCollectionIT.java b/cayenne/src/test/java/org/apache/cayenne/CayenneDataObjectSetToManyCollectionIT.java
index 7f401330c..e4d6b1099 100644
--- a/cayenne/src/test/java/org/apache/cayenne/CayenneDataObjectSetToManyCollectionIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/CayenneDataObjectSetToManyCollectionIT.java
@@ -24,9 +24,9 @@ import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.relationships_collection_to_many.CollectionToMany;
 import org.apache.cayenne.testdo.relationships_collection_to_many.CollectionToManyTarget;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -36,7 +36,7 @@ import java.util.Collection;
 import static org.junit.Assert.*;
 
 @UseCayenneRuntime(CayenneProjects.RELATIONSHIPS_COLLECTION_TO_MANY_PROJECT)
-public class CayenneDataObjectSetToManyCollectionIT extends ServerCase {
+public class CayenneDataObjectSetToManyCollectionIT extends RuntimeCase {
 
 	@Inject
 	private ObjectContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/CayenneDataObjectSetToManyListIT.java b/cayenne/src/test/java/org/apache/cayenne/CayenneDataObjectSetToManyListIT.java
index 005f87055..4b74e4d5c 100644
--- a/cayenne/src/test/java/org/apache/cayenne/CayenneDataObjectSetToManyListIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/CayenneDataObjectSetToManyListIT.java
@@ -27,9 +27,9 @@ import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.testdo.testmap.Painting;
 import org.apache.cayenne.testdo.testmap.ROPainting;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -41,7 +41,7 @@ import java.util.List;
 import static org.junit.Assert.*;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class CayenneDataObjectSetToManyListIT extends ServerCase {
+public class CayenneDataObjectSetToManyListIT extends RuntimeCase {
 
 	@Inject
 	private CayenneRuntime runtime;
diff --git a/cayenne/src/test/java/org/apache/cayenne/CayenneDataObjectSetToManyMapIT.java b/cayenne/src/test/java/org/apache/cayenne/CayenneDataObjectSetToManyMapIT.java
index ee3b9187c..821af67d4 100644
--- a/cayenne/src/test/java/org/apache/cayenne/CayenneDataObjectSetToManyMapIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/CayenneDataObjectSetToManyMapIT.java
@@ -23,9 +23,9 @@ import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.map_to_many.MapToMany;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -35,7 +35,7 @@ import java.util.Map;
 import static org.junit.Assert.*;
 
 @UseCayenneRuntime(CayenneProjects.MAP_TO_MANY_PROJECT)
-public class CayenneDataObjectSetToManyMapIT extends ServerCase {
+public class CayenneDataObjectSetToManyMapIT extends RuntimeCase {
 
     @Inject
     protected ObjectContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/CayenneDataObjectSetToManySetIT.java b/cayenne/src/test/java/org/apache/cayenne/CayenneDataObjectSetToManySetIT.java
index a75c9aef1..25467ba45 100644
--- a/cayenne/src/test/java/org/apache/cayenne/CayenneDataObjectSetToManySetIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/CayenneDataObjectSetToManySetIT.java
@@ -24,9 +24,9 @@ import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.map_to_many.MapToMany;
 import org.apache.cayenne.testdo.relationships_set_to_many.SetToMany;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -36,7 +36,7 @@ import java.util.Set;
 import static org.junit.Assert.*;
 
 @UseCayenneRuntime(CayenneProjects.RELATIONSHIPS_SET_TO_MANY_PROJECT)
-public class CayenneDataObjectSetToManySetIT extends ServerCase {
+public class CayenneDataObjectSetToManySetIT extends RuntimeCase {
 
 	@Inject
 	protected ObjectContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/CayenneDataObjectValidationIT.java b/cayenne/src/test/java/org/apache/cayenne/CayenneDataObjectValidationIT.java
index 79214b047..b17ae9f85 100644
--- a/cayenne/src/test/java/org/apache/cayenne/CayenneDataObjectValidationIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/CayenneDataObjectValidationIT.java
@@ -24,9 +24,9 @@ import org.apache.cayenne.map.DbEntity;
 import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.testdo.testmap.Exhibit;
 import org.apache.cayenne.testdo.testmap.Gallery;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.apache.cayenne.validation.BeanValidationFailure;
 import org.apache.cayenne.validation.ValidationFailure;
 import org.apache.cayenne.validation.ValidationResult;
@@ -40,7 +40,7 @@ import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class CayenneDataObjectValidationIT extends ServerCase {
+public class CayenneDataObjectValidationIT extends RuntimeCase {
 
     @Inject
     private ObjectContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/CayenneIT.java b/cayenne/src/test/java/org/apache/cayenne/CayenneIT.java
index a5e17d09d..6ca8be62f 100644
--- a/cayenne/src/test/java/org/apache/cayenne/CayenneIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/CayenneIT.java
@@ -33,9 +33,9 @@ import org.apache.cayenne.query.SQLTemplate;
 import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.testmap.Artist;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -51,7 +51,7 @@ import static org.junit.Assert.assertSame;
 import static org.junit.Assert.assertTrue;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class CayenneIT extends ServerCase {
+public class CayenneIT extends RuntimeCase {
 
     @Inject
     private ObjectContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/CircularDependencyIT.java b/cayenne/src/test/java/org/apache/cayenne/CircularDependencyIT.java
index 2dc67814d..f4ae2c5b8 100644
--- a/cayenne/src/test/java/org/apache/cayenne/CircularDependencyIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/CircularDependencyIT.java
@@ -24,15 +24,15 @@ import org.apache.cayenne.testdo.relationships.E1;
 import org.apache.cayenne.testdo.relationships.E2;
 import org.apache.cayenne.unit.OracleUnitDbAdapter;
 import org.apache.cayenne.unit.UnitDbAdapter;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 import static org.junit.Assert.*;
 
 @UseCayenneRuntime(CayenneProjects.RELATIONSHIPS_PROJECT)
-public class CircularDependencyIT extends ServerCase {
+public class CircularDependencyIT extends RuntimeCase {
 
     @Inject
     private UnitDbAdapter unitDbAdapter;
diff --git a/cayenne/src/test/java/org/apache/cayenne/CompoundPkChangeIT.java b/cayenne/src/test/java/org/apache/cayenne/CompoundPkChangeIT.java
index 4e92a48ae..0c4ffde74 100644
--- a/cayenne/src/test/java/org/apache/cayenne/CompoundPkChangeIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/CompoundPkChangeIT.java
@@ -22,15 +22,15 @@ import org.apache.cayenne.access.DataContext;
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.query.ObjectIdQuery;
 import org.apache.cayenne.testdo.compound.CompoundPkTestEntity;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 import static org.junit.Assert.assertEquals;
 
 @UseCayenneRuntime(CayenneProjects.COMPOUND_PROJECT)
-public class CompoundPkChangeIT extends ServerCase {
+public class CompoundPkChangeIT extends RuntimeCase {
 
     private static final String key1v1 = "-key1-v1-";
     private static final String key2v1 = "-key2-v1-";
diff --git a/cayenne/src/test/java/org/apache/cayenne/DataContextConcurrencyIT.java b/cayenne/src/test/java/org/apache/cayenne/DataContextConcurrencyIT.java
index ef984eb5c..d0a70b43d 100644
--- a/cayenne/src/test/java/org/apache/cayenne/DataContextConcurrencyIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/DataContextConcurrencyIT.java
@@ -27,9 +27,9 @@ import java.util.concurrent.TimeUnit;
 
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.testdo.testmap.Artist;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.apache.cayenne.util.Util;
 import org.junit.Test;
 import org.slf4j.Logger;
@@ -41,7 +41,7 @@ import static org.junit.Assert.assertTrue;
  * @since 4.1
  */
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class DataContextConcurrencyIT extends ServerCase {
+public class DataContextConcurrencyIT extends RuntimeCase {
 
     private static final Logger logger = LoggerFactory.getLogger(DataContextConcurrencyIT.class);
 
diff --git a/cayenne/src/test/java/org/apache/cayenne/DataContextMaxIdQualifierIT.java b/cayenne/src/test/java/org/apache/cayenne/DataContextMaxIdQualifierIT.java
index a2875a002..1130cdedf 100644
--- a/cayenne/src/test/java/org/apache/cayenne/DataContextMaxIdQualifierIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/DataContextMaxIdQualifierIT.java
@@ -27,9 +27,9 @@ import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.testdo.testmap.Painting;
 import org.apache.cayenne.unit.di.DataChannelInterceptor;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -41,7 +41,7 @@ import java.util.List;
 import static org.junit.Assert.assertEquals;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class DataContextMaxIdQualifierIT extends ServerCase {
+public class DataContextMaxIdQualifierIT extends RuntimeCase {
 
     @Inject
     protected DataContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/DataObjectSerializationIT.java b/cayenne/src/test/java/org/apache/cayenne/DataObjectSerializationIT.java
index babdddfdb..9658145e7 100644
--- a/cayenne/src/test/java/org/apache/cayenne/DataObjectSerializationIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/DataObjectSerializationIT.java
@@ -22,9 +22,9 @@ package org.apache.cayenne;
 import org.apache.cayenne.access.ToManyList;
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.testdo.testmap.Artist;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.apache.cayenne.util.Util;
 import org.junit.Test;
 
@@ -37,7 +37,7 @@ import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertTrue;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class DataObjectSerializationIT extends ServerCase {
+public class DataObjectSerializationIT extends RuntimeCase {
 
     @Inject
     private ObjectContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/FlattenedRelationshipsIT.java b/cayenne/src/test/java/org/apache/cayenne/FlattenedRelationshipsIT.java
index a44d3cfa2..602a095bf 100644
--- a/cayenne/src/test/java/org/apache/cayenne/FlattenedRelationshipsIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/FlattenedRelationshipsIT.java
@@ -35,9 +35,9 @@ import org.apache.cayenne.testdo.relationships_flattened.FlattenedTest2;
 import org.apache.cayenne.testdo.relationships_flattened.FlattenedTest3;
 import org.apache.cayenne.testdo.relationships_flattened.FlattenedTest4;
 import org.apache.cayenne.testdo.relationships_flattened.FlattenedTest5;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.apache.cayenne.validation.ValidationResult;
 import org.junit.Before;
 import org.junit.Test;
@@ -48,7 +48,7 @@ import static org.junit.Assert.*;
  * Test case for objects with flattened relationships.
  */
 @UseCayenneRuntime(CayenneProjects.RELATIONSHIPS_FLATTENED_PROJECT)
-public class FlattenedRelationshipsIT extends ServerCase {
+public class FlattenedRelationshipsIT extends RuntimeCase {
 
     @Inject
     private DataContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/GenericMappingIT.java b/cayenne/src/test/java/org/apache/cayenne/GenericMappingIT.java
index a9af1a6fd..fb444776a 100644
--- a/cayenne/src/test/java/org/apache/cayenne/GenericMappingIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/GenericMappingIT.java
@@ -27,9 +27,9 @@ import org.apache.cayenne.exp.Expression;
 import org.apache.cayenne.exp.ExpressionFactory;
 import org.apache.cayenne.query.ObjectSelect;
 import org.apache.cayenne.query.SQLTemplate;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 import static org.junit.Assert.assertEquals;
@@ -37,7 +37,7 @@ import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 
 @UseCayenneRuntime(CayenneProjects.GENERIC_PROJECT)
-public class GenericMappingIT extends ServerCase {
+public class GenericMappingIT extends RuntimeCase {
 
     @Inject
     private DataContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/HybridDataObjectIT.java b/cayenne/src/test/java/org/apache/cayenne/HybridDataObjectIT.java
index 9558a0e10..08ff784d3 100644
--- a/cayenne/src/test/java/org/apache/cayenne/HybridDataObjectIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/HybridDataObjectIT.java
@@ -27,9 +27,9 @@ import org.apache.cayenne.query.ObjectSelect;
 import org.apache.cayenne.runtime.CayenneRuntime;
 import org.apache.cayenne.testdo.hybrid.HybridEntity1;
 import org.apache.cayenne.testdo.hybrid.HybridEntity2;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.apache.cayenne.util.Util;
 import org.junit.Test;
 
@@ -41,7 +41,7 @@ import static org.junit.Assert.assertNull;
  * @since 4.1
  */
 @UseCayenneRuntime(CayenneProjects.HYBRID_DATA_OBJECT_PROJECT)
-public class HybridDataObjectIT extends ServerCase {
+public class HybridDataObjectIT extends RuntimeCase {
 
     @Inject
     private DataContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/LazyAttributesIT.java b/cayenne/src/test/java/org/apache/cayenne/LazyAttributesIT.java
index d8205b228..f563a0828 100644
--- a/cayenne/src/test/java/org/apache/cayenne/LazyAttributesIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/LazyAttributesIT.java
@@ -26,9 +26,9 @@ import org.apache.cayenne.query.ObjectSelect;
 import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.lazy.Lazyblob;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -41,7 +41,7 @@ import static org.junit.Assert.assertEquals;
  * @since 4.2
  */
 @UseCayenneRuntime(CayenneProjects.LAZY_ATTRIBUTES_PROJECT)
-public class LazyAttributesIT extends ServerCase {
+public class LazyAttributesIT extends RuntimeCase {
 
     @Inject
     private ObjectContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/ManyToManyJoinIT.java b/cayenne/src/test/java/org/apache/cayenne/ManyToManyJoinIT.java
index c4765b743..2423a194d 100644
--- a/cayenne/src/test/java/org/apache/cayenne/ManyToManyJoinIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/ManyToManyJoinIT.java
@@ -25,13 +25,13 @@ import org.apache.cayenne.testdo.relationships_many_to_many_join.Author;
 import org.apache.cayenne.testdo.relationships_many_to_many_join.SelfRelationship;
 import org.apache.cayenne.testdo.relationships_many_to_many_join.SelfRelationshipSub;
 import org.apache.cayenne.testdo.relationships_many_to_many_join.Song;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 @UseCayenneRuntime(CayenneProjects.RELATIONSHIPS_MANY_TO_MANY_JOIN_PROJECT)
-public class ManyToManyJoinIT extends ServerCase {
+public class ManyToManyJoinIT extends RuntimeCase {
 
     @Inject
     private ObjectContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/ManyToManyNoJoinIT.java b/cayenne/src/test/java/org/apache/cayenne/ManyToManyNoJoinIT.java
index 6ea632447..cce95bcc4 100644
--- a/cayenne/src/test/java/org/apache/cayenne/ManyToManyNoJoinIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/ManyToManyNoJoinIT.java
@@ -21,15 +21,15 @@ package org.apache.cayenne;
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.testdo.relationships_activity.Activity;
 import org.apache.cayenne.testdo.relationships_activity.ActivityResult;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 import java.sql.Date;
 
 @UseCayenneRuntime(CayenneProjects.RELATIONSHIPS_ACTIVITY_PROJECT)
-public class ManyToManyNoJoinIT extends ServerCase {
+public class ManyToManyNoJoinIT extends RuntimeCase {
 
     @Inject
     private ObjectContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/MeaningfulFKIT.java b/cayenne/src/test/java/org/apache/cayenne/MeaningfulFKIT.java
index 17713ce7d..a7ee4fc0d 100644
--- a/cayenne/src/test/java/org/apache/cayenne/MeaningfulFKIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/MeaningfulFKIT.java
@@ -23,16 +23,16 @@ import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.query.SelectById;
 import org.apache.cayenne.testdo.relationships.MeaningfulFK;
 import org.apache.cayenne.testdo.relationships.RelationshipHelper;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.apache.cayenne.validation.ValidationResult;
 import org.junit.Test;
 
 import static org.junit.Assert.*;
 
 @UseCayenneRuntime(CayenneProjects.RELATIONSHIPS_PROJECT)
-public class MeaningfulFKIT extends ServerCase {
+public class MeaningfulFKIT extends RuntimeCase {
 
     @Inject
     private ObjectContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/OneWayRelationshipsIT.java b/cayenne/src/test/java/org/apache/cayenne/OneWayRelationshipsIT.java
index 8756ba376..d809512e5 100644
--- a/cayenne/src/test/java/org/apache/cayenne/OneWayRelationshipsIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/OneWayRelationshipsIT.java
@@ -30,9 +30,9 @@ import org.apache.cayenne.testdo.oneway.OnewayTable1;
 import org.apache.cayenne.testdo.oneway.OnewayTable2;
 import org.apache.cayenne.testdo.oneway.OnewayTable3;
 import org.apache.cayenne.testdo.oneway.OnewayTable4;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -42,7 +42,7 @@ import static org.junit.Assert.assertSame;
 import static org.junit.Assert.assertTrue;
 
 @UseCayenneRuntime(CayenneProjects.ONEWAY_PROJECT)
-public class OneWayRelationshipsIT extends ServerCase {
+public class OneWayRelationshipsIT extends RuntimeCase {
 
 	@Inject
 	private ObjectContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/PersistenceByReachabilityIT.java b/cayenne/src/test/java/org/apache/cayenne/PersistenceByReachabilityIT.java
index 1ad641262..5abd46633 100644
--- a/cayenne/src/test/java/org/apache/cayenne/PersistenceByReachabilityIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/PersistenceByReachabilityIT.java
@@ -22,16 +22,16 @@ package org.apache.cayenne;
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.testdo.testmap.Painting;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.fail;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class PersistenceByReachabilityIT extends ServerCase {
+public class PersistenceByReachabilityIT extends RuntimeCase {
 
     @Inject
     private ObjectContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/PersistentObjectIT.java b/cayenne/src/test/java/org/apache/cayenne/PersistentObjectIT.java
index b5a2e3d8b..9062d63d4 100644
--- a/cayenne/src/test/java/org/apache/cayenne/PersistentObjectIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/PersistentObjectIT.java
@@ -19,9 +19,9 @@
 
 package org.apache.cayenne;
 
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 import static org.junit.Assert.assertEquals;
@@ -30,7 +30,7 @@ import static org.junit.Assert.assertSame;
 import static org.mockito.Mockito.mock;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class PersistentObjectIT extends ServerCase {
+public class PersistentObjectIT extends RuntimeCase {
 
     @Test
     public void testObjectContext() {
diff --git a/cayenne/src/test/java/org/apache/cayenne/PregeneratedPKIT.java b/cayenne/src/test/java/org/apache/cayenne/PregeneratedPKIT.java
index 174226040..6594ce095 100644
--- a/cayenne/src/test/java/org/apache/cayenne/PregeneratedPKIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/PregeneratedPKIT.java
@@ -24,9 +24,9 @@ import org.apache.cayenne.access.DataNode;
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.map.DbEntity;
 import org.apache.cayenne.testdo.testmap.Artist;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 import static org.junit.Assert.assertEquals;
@@ -40,7 +40,7 @@ import static org.junit.Assert.assertNotNull;
 // DataObjectUtils to pull the PK on demand. A caveat - we need to analyze DataObject in
 // question to see if a PK is numeric and not propagated.
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class PregeneratedPKIT extends ServerCase {
+public class PregeneratedPKIT extends RuntimeCase {
 
     @Inject
     private DataContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/CAY2509IT.java b/cayenne/src/test/java/org/apache/cayenne/access/CAY2509IT.java
index 891d1ef6b..c458eb7fc 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/CAY2509IT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/CAY2509IT.java
@@ -29,9 +29,9 @@ import org.apache.cayenne.runtime.CayenneRuntime;
 import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.testmap.Artist;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -41,7 +41,7 @@ import static org.junit.Assert.assertEquals;
  * @since 4.2
  */
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class CAY2509IT extends ServerCase {
+public class CAY2509IT extends RuntimeCase {
 
     @Inject
     private CayenneRuntime runtime;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/CAY2723IT.java b/cayenne/src/test/java/org/apache/cayenne/access/CAY2723IT.java
index 485555918..a883ed7fe 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/CAY2723IT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/CAY2723IT.java
@@ -22,9 +22,9 @@ import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.testdo.testmap.Painting;
 import org.apache.cayenne.testdo.testmap.PaintingInfo;
 import org.apache.cayenne.unit.di.DataChannelInterceptor;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Ignore;
 import org.junit.Test;
@@ -33,7 +33,7 @@ import static org.junit.Assert.assertEquals;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
 @Ignore("This test fails on GitHub Actions, disabling for now")
-public class CAY2723IT extends ServerCase {
+public class CAY2723IT extends RuntimeCase {
     @Inject
     private DataContext context;
 
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/Cay2032IT.java b/cayenne/src/test/java/org/apache/cayenne/access/Cay2032IT.java
index c14befb4a..350f1158e 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/Cay2032IT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/Cay2032IT.java
@@ -26,9 +26,9 @@ import org.apache.cayenne.query.ObjectSelect;
 import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.cay_2032.Team;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -39,7 +39,7 @@ import static org.junit.Assert.assertNotNull;
  * @since 4.0
  */
 @UseCayenneRuntime(CayenneProjects.CAY_2032)
-public class Cay2032IT extends ServerCase {
+public class Cay2032IT extends RuntimeCase {
 
     @Inject
     private DataContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/Cay2641IT.java b/cayenne/src/test/java/org/apache/cayenne/access/Cay2641IT.java
index 4d436c0c3..af2f565b4 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/Cay2641IT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/Cay2641IT.java
@@ -30,9 +30,9 @@ import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.cay_2641.ArtistLazy;
 import org.apache.cayenne.testdo.cay_2641.DatamapLazy;
 import org.apache.cayenne.testdo.cay_2641.PaintingLazy;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 import org.testcontainers.shaded.org.hamcrest.MatcherAssert;
@@ -47,7 +47,7 @@ import static org.junit.Assert.*;
  * @since 4.2
  */
 @UseCayenneRuntime(CayenneProjects.CAY_2641)
-public class Cay2641IT extends ServerCase {
+public class Cay2641IT extends RuntimeCase {
 
     @Inject
     private ObjectContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/Cay2666IT.java b/cayenne/src/test/java/org/apache/cayenne/access/Cay2666IT.java
index 9821f01f0..88afaefdf 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/Cay2666IT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/Cay2666IT.java
@@ -28,9 +28,9 @@ import org.apache.cayenne.query.ObjectSelect;
 import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.cay_2666.CAY2666;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 import java.io.IOException;
@@ -43,7 +43,7 @@ import static org.junit.Assert.assertNotEquals;
  * @since 4.2
  */
 @UseCayenneRuntime(CayenneProjects.CAY_2666)
-public class Cay2666IT extends ServerCase {
+public class Cay2666IT extends RuntimeCase {
 
     @Inject
     private DataContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/DataContextArrayTypeIT.java b/cayenne/src/test/java/org/apache/cayenne/access/DataContextArrayTypeIT.java
index a580e149d..5730e01eb 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/DataContextArrayTypeIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/DataContextArrayTypeIT.java
@@ -24,9 +24,9 @@ import java.util.List;
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.query.ObjectSelect;
 import org.apache.cayenne.testdo.array_type.ArrayTestEntity;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 import static org.junit.Assert.assertArrayEquals;
@@ -34,7 +34,7 @@ import static org.junit.Assert.assertNotNull;
 
 
 @UseCayenneRuntime(CayenneProjects.ARRAY_TYPE_PROJECT)
-public class DataContextArrayTypeIT extends ServerCase {
+public class DataContextArrayTypeIT extends RuntimeCase {
 
     @Inject
     private DataContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/DataContextBinaryPKIT.java b/cayenne/src/test/java/org/apache/cayenne/access/DataContextBinaryPKIT.java
index 466bea4dc..15490f35e 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/DataContextBinaryPKIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/DataContextBinaryPKIT.java
@@ -25,16 +25,16 @@ import org.apache.cayenne.query.ObjectSelect;
 import org.apache.cayenne.testdo.binary_pk.BinaryPKTest1;
 import org.apache.cayenne.testdo.binary_pk.BinaryPKTest2;
 import org.apache.cayenne.unit.UnitDbAdapter;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 
 @UseCayenneRuntime(CayenneProjects.BINARY_PK_PROJECT)
-public class DataContextBinaryPKIT extends ServerCase {
+public class DataContextBinaryPKIT extends RuntimeCase {
 
     @Inject
     private DataContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/DataContextBlobIT.java b/cayenne/src/test/java/org/apache/cayenne/access/DataContextBlobIT.java
index 557e958be..1b39a703a 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/DataContextBlobIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/DataContextBlobIT.java
@@ -26,16 +26,16 @@ import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.query.ObjectSelect;
 import org.apache.cayenne.testdo.lob.BlobTestEntity;
 import org.apache.cayenne.unit.UnitDbAdapter;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNull;
 
 @UseCayenneRuntime(CayenneProjects.LOB_PROJECT)
-public class DataContextBlobIT extends ServerCase {
+public class DataContextBlobIT extends RuntimeCase {
 
     @Inject
     private DataContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/DataContextCallbacksIT.java b/cayenne/src/test/java/org/apache/cayenne/access/DataContextCallbacksIT.java
index 015d4fce5..d8b49a6a1 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/DataContextCallbacksIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/DataContextCallbacksIT.java
@@ -25,9 +25,9 @@ import org.apache.cayenne.reflect.LifecycleCallbackRegistry;
 import org.apache.cayenne.runtime.CayenneRuntime;
 import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.testdo.testmap.Painting;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.After;
 import org.junit.Test;
 
@@ -38,7 +38,7 @@ import static org.junit.Assert.assertSame;
 import static org.junit.Assert.assertTrue;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class DataContextCallbacksIT extends ServerCase {
+public class DataContextCallbacksIT extends RuntimeCase {
 
     @Inject
     private DataContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/DataContextCharPKIT.java b/cayenne/src/test/java/org/apache/cayenne/access/DataContextCharPKIT.java
index fc476c823..610dadeb9 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/DataContextCharPKIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/DataContextCharPKIT.java
@@ -23,9 +23,9 @@ import org.apache.cayenne.DataRow;
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.query.SQLTemplate;
 import org.apache.cayenne.testdo.compound.CharPkTestEntity;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 import java.util.List;
@@ -34,7 +34,7 @@ import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 
 @UseCayenneRuntime(CayenneProjects.COMPOUND_PROJECT)
-public class DataContextCharPKIT extends ServerCase {
+public class DataContextCharPKIT extends RuntimeCase {
 
     @Inject
     private DataContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/DataContextCharTypeIT.java b/cayenne/src/test/java/org/apache/cayenne/access/DataContextCharTypeIT.java
index 4a9eca65e..b56e34606 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/DataContextCharTypeIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/DataContextCharTypeIT.java
@@ -25,15 +25,15 @@ import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.query.ObjectSelect;
 import org.apache.cayenne.testdo.return_types.ReturnTypesMap1;
 import org.apache.cayenne.unit.UnitDbAdapter;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 import static org.junit.Assert.assertTrue;
 
 @UseCayenneRuntime(CayenneProjects.RETURN_TYPES_PROJECT)
-public class DataContextCharTypeIT extends ServerCase {
+public class DataContextCharTypeIT extends RuntimeCase {
 
     @Inject
     protected ObjectContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/DataContextClobIT.java b/cayenne/src/test/java/org/apache/cayenne/access/DataContextClobIT.java
index 67f432ad9..64e6db185 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/DataContextClobIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/DataContextClobIT.java
@@ -25,16 +25,16 @@ import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.query.ObjectSelect;
 import org.apache.cayenne.testdo.lob.ClobTestEntity;
 import org.apache.cayenne.unit.UnitDbAdapter;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNull;
 
 @UseCayenneRuntime(CayenneProjects.LOB_PROJECT)
-public class DataContextClobIT extends ServerCase {
+public class DataContextClobIT extends RuntimeCase {
 
     @Inject
     private DataContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/DataContextCommitIT.java b/cayenne/src/test/java/org/apache/cayenne/access/DataContextCommitIT.java
index d4453f3d0..504055a9f 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/DataContextCommitIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/DataContextCommitIT.java
@@ -34,13 +34,13 @@ import org.apache.cayenne.graph.GraphDiff;
 import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.testdo.testmap.NullTestEntity;
 import org.apache.cayenne.testdo.testmap.Painting;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class DataContextCommitIT extends ServerCase {
+public class DataContextCommitIT extends RuntimeCase {
 
 	@Inject
 	private DataContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/DataContextCompoundRelIT.java b/cayenne/src/test/java/org/apache/cayenne/access/DataContextCompoundRelIT.java
index f7db5478f..61b9624f5 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/DataContextCompoundRelIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/DataContextCompoundRelIT.java
@@ -26,9 +26,9 @@ import org.apache.cayenne.testdo.compound.CompoundOrder;
 import org.apache.cayenne.testdo.compound.CompoundOrderLine;
 import org.apache.cayenne.testdo.compound.CompoundOrderLineInfo;
 import org.apache.cayenne.testdo.compound.CompoundPkTestEntity;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 import java.util.List;
@@ -39,7 +39,7 @@ import static org.junit.Assert.assertEquals;
  * Testing relationships with compound keys.
  */
 @UseCayenneRuntime(CayenneProjects.COMPOUND_PROJECT)
-public class DataContextCompoundRelIT extends ServerCase {
+public class DataContextCompoundRelIT extends RuntimeCase {
 
     @Inject
     private DataContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/DataContextCrossDBIT.java b/cayenne/src/test/java/org/apache/cayenne/access/DataContextCrossDBIT.java
index 424cb914b..68c455eb8 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/DataContextCrossDBIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/DataContextCrossDBIT.java
@@ -24,13 +24,13 @@ import org.apache.cayenne.testdo.db1.CrossdbM1E1;
 import org.apache.cayenne.testdo.db2.CrossdbM2E1;
 import org.apache.cayenne.testdo.db2.CrossdbM2E2;
 import org.apache.cayenne.unit.UnitDbAdapter;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 @UseCayenneRuntime(CayenneProjects.MULTINODE_PROJECT)
-public class DataContextCrossDBIT extends ServerCase {
+public class DataContextCrossDBIT extends RuntimeCase {
 
     @Inject
     private DataContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/DataContextDataChannelEventsIT.java b/cayenne/src/test/java/org/apache/cayenne/access/DataContextDataChannelEventsIT.java
index 7de5b8ba9..88703dfce 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/DataContextDataChannelEventsIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/DataContextDataChannelEventsIT.java
@@ -22,16 +22,16 @@ package org.apache.cayenne.access;
 import org.apache.cayenne.DataChannel;
 import org.apache.cayenne.DataChannelListener;
 import org.apache.cayenne.ObjectContext;
-import org.apache.cayenne.access.util.ServerCaseSyncModule;
+import org.apache.cayenne.access.util.RuntimeCaseSyncModule;
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.graph.GraphEvent;
 import org.apache.cayenne.runtime.CayenneRuntime;
 import org.apache.cayenne.test.parallel.ParallelTestContainer;
 import org.apache.cayenne.testdo.testmap.Artist;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ExtraModules;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.ExtraModules;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.apache.cayenne.util.EventUtil;
 import org.junit.Test;
 
@@ -42,8 +42,8 @@ import static org.junit.Assert.assertTrue;
  * Tests that DataContext sends DataChannel events.
  */
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-@ExtraModules(ServerCaseSyncModule.class)
-public class DataContextDataChannelEventsIT extends ServerCase {
+@ExtraModules(RuntimeCaseSyncModule.class)
+public class DataContextDataChannelEventsIT extends RuntimeCase {
 
     @Inject
     private DataContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/DataContextDecoratedStackIT.java b/cayenne/src/test/java/org/apache/cayenne/access/DataContextDecoratedStackIT.java
index f3b9dd8ff..0f465cf88 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/DataContextDecoratedStackIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/DataContextDecoratedStackIT.java
@@ -32,9 +32,9 @@ import org.apache.cayenne.query.Query;
 import org.apache.cayenne.query.SQLTemplate;
 import org.apache.cayenne.runtime.CayenneRuntime;
 import org.apache.cayenne.testdo.testmap.Artist;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 import java.util.Map;
@@ -44,7 +44,7 @@ import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertSame;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class DataContextDecoratedStackIT extends ServerCase {
+public class DataContextDecoratedStackIT extends RuntimeCase {
 
     @Inject
     private CayenneRuntime runtime;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/DataContextDelegateIT.java b/cayenne/src/test/java/org/apache/cayenne/access/DataContextDelegateIT.java
index e72eb0ba1..4b3cb319e 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/DataContextDelegateIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/DataContextDelegateIT.java
@@ -28,9 +28,9 @@ import org.apache.cayenne.query.ObjectSelect;
 import org.apache.cayenne.query.Query;
 import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.testdo.testmap.Gallery;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -44,7 +44,7 @@ import static org.junit.Assert.assertTrue;
  * behavior.
  */
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class DataContextDelegateIT extends ServerCase {
+public class DataContextDelegateIT extends RuntimeCase {
 
     @Inject
     private DataContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/DataContextDelegateSharedCacheIT.java b/cayenne/src/test/java/org/apache/cayenne/access/DataContextDelegateSharedCacheIT.java
index ab54fac84..41f920568 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/DataContextDelegateSharedCacheIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/DataContextDelegateSharedCacheIT.java
@@ -24,14 +24,14 @@ import java.util.Date;
 import org.apache.cayenne.DataObject;
 import org.apache.cayenne.DataRow;
 import org.apache.cayenne.PersistenceState;
-import org.apache.cayenne.access.util.ServerCaseSyncModule;
+import org.apache.cayenne.access.util.RuntimeCaseSyncModule;
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.test.parallel.ParallelTestContainer;
 import org.apache.cayenne.testdo.testmap.Artist;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ExtraModules;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.ExtraModules;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -42,8 +42,8 @@ import static org.junit.Assert.assertNotSame;
 import static org.junit.Assert.assertTrue;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-@ExtraModules(ServerCaseSyncModule.class)
-public class DataContextDelegateSharedCacheIT extends ServerCase {
+@ExtraModules(RuntimeCaseSyncModule.class)
+public class DataContextDelegateSharedCacheIT extends RuntimeCase {
 
     @Inject
     private DataContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/DataContextDeleteRulesIT.java b/cayenne/src/test/java/org/apache/cayenne/access/DataContextDeleteRulesIT.java
index e7f38c570..31224d2b6 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/DataContextDeleteRulesIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/DataContextDeleteRulesIT.java
@@ -39,16 +39,16 @@ import org.apache.cayenne.testdo.testmap.Exhibit;
 import org.apache.cayenne.testdo.testmap.Gallery;
 import org.apache.cayenne.testdo.testmap.Painting;
 import org.apache.cayenne.testdo.testmap.PaintingInfo;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 // TODO: redefine all test cases in terms of entities in "relationships" map
 // and merge this test case with DeleteRulesTst that inherits
 // from RelationshipTestCase.
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class DataContextDeleteRulesIT extends ServerCase {
+public class DataContextDeleteRulesIT extends RuntimeCase {
 
 	@Inject
 	private DataContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/DataContextDisjointByIdPrefetchIT.java b/cayenne/src/test/java/org/apache/cayenne/access/DataContextDisjointByIdPrefetchIT.java
index 41caffc17..88b1c6a06 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/DataContextDisjointByIdPrefetchIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/DataContextDisjointByIdPrefetchIT.java
@@ -30,9 +30,9 @@ import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.testdo.testmap.Painting;
 import org.apache.cayenne.testdo.testmap.PaintingInfo;
 import org.apache.cayenne.unit.di.DataChannelInterceptor;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -47,7 +47,7 @@ import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class DataContextDisjointByIdPrefetchIT extends ServerCase {
+public class DataContextDisjointByIdPrefetchIT extends RuntimeCase {
 
     @Inject
     protected DataContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/DataContextDisjointByIdPrefetch_ExtrasIT.java b/cayenne/src/test/java/org/apache/cayenne/access/DataContextDisjointByIdPrefetch_ExtrasIT.java
index c227ae24a..56c304f69 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/DataContextDisjointByIdPrefetch_ExtrasIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/DataContextDisjointByIdPrefetch_ExtrasIT.java
@@ -30,9 +30,9 @@ import org.apache.cayenne.testdo.things.Ball;
 import org.apache.cayenne.testdo.things.Box;
 import org.apache.cayenne.testdo.things.Thing;
 import org.apache.cayenne.unit.di.DataChannelInterceptor;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -45,7 +45,7 @@ import static org.hamcrest.MatcherAssert.assertThat;
 import static org.junit.Assert.*;
 
 @UseCayenneRuntime(CayenneProjects.THINGS_PROJECT)
-public class DataContextDisjointByIdPrefetch_ExtrasIT extends ServerCase {
+public class DataContextDisjointByIdPrefetch_ExtrasIT extends RuntimeCase {
 
     @Inject
     protected DataContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/DataContextEJBQLArrayResultIT.java b/cayenne/src/test/java/org/apache/cayenne/access/DataContextEJBQLArrayResultIT.java
index 39155f755..d90071fc7 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/DataContextEJBQLArrayResultIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/DataContextEJBQLArrayResultIT.java
@@ -24,9 +24,9 @@ import org.apache.cayenne.query.EJBQLQuery;
 import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.testmap.Artist;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -38,7 +38,7 @@ import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class DataContextEJBQLArrayResultIT extends ServerCase {
+public class DataContextEJBQLArrayResultIT extends RuntimeCase {
 
     @Inject
     protected ObjectContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/DataContextEJBQLConditionsIT.java b/cayenne/src/test/java/org/apache/cayenne/access/DataContextEJBQLConditionsIT.java
index 43241342e..a90f750ad 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/DataContextEJBQLConditionsIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/DataContextEJBQLConditionsIT.java
@@ -35,16 +35,16 @@ import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.testdo.testmap.Painting;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
 import static org.junit.Assert.*;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class DataContextEJBQLConditionsIT extends ServerCase {
+public class DataContextEJBQLConditionsIT extends RuntimeCase {
 
     @Inject
     protected ObjectContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/DataContextEJBQLConditionsPeopleIT.java b/cayenne/src/test/java/org/apache/cayenne/access/DataContextEJBQLConditionsPeopleIT.java
index 00240a782..5d1ea08c7 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/DataContextEJBQLConditionsPeopleIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/DataContextEJBQLConditionsPeopleIT.java
@@ -32,7 +32,7 @@ import org.apache.cayenne.query.EJBQLQuery;
 import org.apache.cayenne.testdo.inheritance_people.Address;
 import org.apache.cayenne.testdo.inheritance_people.Department;
 import org.apache.cayenne.testdo.inheritance_people.Manager;
-import org.apache.cayenne.unit.di.server.PeopleProjectCase;
+import org.apache.cayenne.unit.di.runtime.PeopleProjectCase;
 import org.junit.Before;
 import org.junit.Test;
 
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/DataContextEJBQLDateTimeFunctionalExpressionsIT.java b/cayenne/src/test/java/org/apache/cayenne/access/DataContextEJBQLDateTimeFunctionalExpressionsIT.java
index c697a1afe..8d081d670 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/DataContextEJBQLDateTimeFunctionalExpressionsIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/DataContextEJBQLDateTimeFunctionalExpressionsIT.java
@@ -24,9 +24,9 @@ import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.query.EJBQLQuery;
 import org.apache.cayenne.testdo.date_time.DateTestEntity;
 import org.apache.cayenne.unit.UnitDbAdapter;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 import java.util.Calendar;
@@ -36,7 +36,7 @@ import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
 
 @UseCayenneRuntime(CayenneProjects.DATE_TIME_PROJECT)
-public class DataContextEJBQLDateTimeFunctionalExpressionsIT extends ServerCase {
+public class DataContextEJBQLDateTimeFunctionalExpressionsIT extends RuntimeCase {
 
     @Inject
     private ObjectContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/DataContextEJBQLDeleteIT.java b/cayenne/src/test/java/org/apache/cayenne/access/DataContextEJBQLDeleteIT.java
index e327db911..7bfef74fa 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/DataContextEJBQLDeleteIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/DataContextEJBQLDeleteIT.java
@@ -27,9 +27,9 @@ import org.apache.cayenne.runtime.CayenneRuntime;
 import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.testmap.Painting;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -40,7 +40,7 @@ import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertNull;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class DataContextEJBQLDeleteIT extends ServerCase {
+public class DataContextEJBQLDeleteIT extends RuntimeCase {
 
     @Inject
     protected ObjectContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/DataContextEJBQLDeletePKIT.java b/cayenne/src/test/java/org/apache/cayenne/access/DataContextEJBQLDeletePKIT.java
index b49a24cf3..d02ec017f 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/DataContextEJBQLDeletePKIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/DataContextEJBQLDeletePKIT.java
@@ -25,9 +25,9 @@ import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.query.EJBQLQuery;
 import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -37,7 +37,7 @@ import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 
 @UseCayenneRuntime(CayenneProjects.MEANINGFUL_PK_PROJECT)
-public class DataContextEJBQLDeletePKIT extends ServerCase {
+public class DataContextEJBQLDeletePKIT extends RuntimeCase {
 
     @Inject
     protected ObjectContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/DataContextEJBQLFetchJoinIT.java b/cayenne/src/test/java/org/apache/cayenne/access/DataContextEJBQLFetchJoinIT.java
index aedd45643..15ba280ef 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/DataContextEJBQLFetchJoinIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/DataContextEJBQLFetchJoinIT.java
@@ -31,9 +31,9 @@ import org.apache.cayenne.testdo.testmap.Exhibit;
 import org.apache.cayenne.testdo.testmap.Gallery;
 import org.apache.cayenne.testdo.testmap.Painting;
 import org.apache.cayenne.unit.di.DataChannelInterceptor;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -49,7 +49,7 @@ import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class DataContextEJBQLFetchJoinIT extends ServerCase {
+public class DataContextEJBQLFetchJoinIT extends RuntimeCase {
 
     @Inject
     protected ObjectContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/DataContextEJBQLFlattenedRelationshipsIT.java b/cayenne/src/test/java/org/apache/cayenne/access/DataContextEJBQLFlattenedRelationshipsIT.java
index 6d496827f..5bb427ab7 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/DataContextEJBQLFlattenedRelationshipsIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/DataContextEJBQLFlattenedRelationshipsIT.java
@@ -26,9 +26,9 @@ import org.apache.cayenne.query.EJBQLQuery;
 import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.relationships_flattened.FlattenedTest1;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -43,7 +43,7 @@ import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 
 @UseCayenneRuntime(CayenneProjects.RELATIONSHIPS_FLATTENED_PROJECT)
-public class DataContextEJBQLFlattenedRelationshipsIT extends ServerCase {
+public class DataContextEJBQLFlattenedRelationshipsIT extends RuntimeCase {
 
     @Inject
     protected ObjectContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/DataContextEJBQLFunctionalExpressionsIT.java b/cayenne/src/test/java/org/apache/cayenne/access/DataContextEJBQLFunctionalExpressionsIT.java
index cd4d9a38a..0b0b0286f 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/DataContextEJBQLFunctionalExpressionsIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/DataContextEJBQLFunctionalExpressionsIT.java
@@ -27,9 +27,9 @@ import org.apache.cayenne.query.SQLTemplate;
 import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.testdo.testmap.Painting;
 import org.apache.cayenne.unit.UnitDbAdapter;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 import java.util.List;
@@ -39,7 +39,7 @@ import static org.junit.Assert.assertTrue;
 
 // TODO: renamed as it fails on DB's like Derby. See CAY-1480. 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class DataContextEJBQLFunctionalExpressionsIT extends ServerCase {
+public class DataContextEJBQLFunctionalExpressionsIT extends RuntimeCase {
 
     @Inject
     private ObjectContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/DataContextEJBQLGroupByHavingIT.java b/cayenne/src/test/java/org/apache/cayenne/access/DataContextEJBQLGroupByHavingIT.java
index 2344b0f72..045559c12 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/DataContextEJBQLGroupByHavingIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/DataContextEJBQLGroupByHavingIT.java
@@ -25,9 +25,9 @@ import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.testdo.testmap.Gallery;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -44,7 +44,7 @@ import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class DataContextEJBQLGroupByHavingIT extends ServerCase {
+public class DataContextEJBQLGroupByHavingIT extends RuntimeCase {
 
     @Inject
     protected ObjectContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/DataContextEJBQLInheritanceIT.java b/cayenne/src/test/java/org/apache/cayenne/access/DataContextEJBQLInheritanceIT.java
index a6270e3a0..1c1dc0c70 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/DataContextEJBQLInheritanceIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/DataContextEJBQLInheritanceIT.java
@@ -26,12 +26,11 @@ import java.util.List;
 import org.apache.cayenne.ObjectContext;
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.query.EJBQLQuery;
-import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.inheritance_people.CustomerRepresentative;
 import org.apache.cayenne.testdo.inheritance_people.Employee;
 import org.apache.cayenne.testdo.inheritance_people.Manager;
-import org.apache.cayenne.unit.di.server.PeopleProjectCase;
+import org.apache.cayenne.unit.di.runtime.PeopleProjectCase;
 import org.junit.Before;
 import org.junit.Test;
 
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/DataContextEJBQLIsNullIT.java b/cayenne/src/test/java/org/apache/cayenne/access/DataContextEJBQLIsNullIT.java
index 81dda8018..fef8fa71d 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/DataContextEJBQLIsNullIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/DataContextEJBQLIsNullIT.java
@@ -26,9 +26,9 @@ import org.apache.cayenne.query.EJBQLQuery;
 import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.unit.UnitDbAdapter;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -38,7 +38,7 @@ import java.util.List;
 import static org.junit.Assert.assertEquals;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class DataContextEJBQLIsNullIT extends ServerCase {
+public class DataContextEJBQLIsNullIT extends RuntimeCase {
 
     @Inject
     private ObjectContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/DataContextEJBQLJoinsIT.java b/cayenne/src/test/java/org/apache/cayenne/access/DataContextEJBQLJoinsIT.java
index 9ee4ff583..697344a68 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/DataContextEJBQLJoinsIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/DataContextEJBQLJoinsIT.java
@@ -25,9 +25,9 @@ import org.apache.cayenne.query.EJBQLQuery;
 import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.testmap.Artist;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -41,7 +41,7 @@ import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class DataContextEJBQLJoinsIT extends ServerCase {
+public class DataContextEJBQLJoinsIT extends RuntimeCase {
 
 	@Inject
 	private ObjectContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/DataContextEJBQLNumericalFunctionalIT.java b/cayenne/src/test/java/org/apache/cayenne/access/DataContextEJBQLNumericalFunctionalIT.java
index cd7321732..c6ca14fd3 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/DataContextEJBQLNumericalFunctionalIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/DataContextEJBQLNumericalFunctionalIT.java
@@ -33,9 +33,9 @@ import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.numeric_types.BigDecimalEntity;
 import org.apache.cayenne.testdo.numeric_types.BigIntegerEntity;
 import org.apache.cayenne.testdo.numeric_types.BooleanTestEntity;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -44,7 +44,7 @@ import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 
 @UseCayenneRuntime(CayenneProjects.NUMERIC_TYPES_PROJECT)
-public class DataContextEJBQLNumericalFunctionalIT extends ServerCase {
+public class DataContextEJBQLNumericalFunctionalIT extends RuntimeCase {
 
     @Inject
     protected DBHelper dbHelper;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/DataContextEJBQLOrderByIT.java b/cayenne/src/test/java/org/apache/cayenne/access/DataContextEJBQLOrderByIT.java
index 1ebc17120..a186478da 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/DataContextEJBQLOrderByIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/DataContextEJBQLOrderByIT.java
@@ -25,9 +25,9 @@ import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.query.EJBQLQuery;
 import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -37,7 +37,7 @@ import java.util.List;
 import static org.junit.Assert.assertEquals;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class DataContextEJBQLOrderByIT extends ServerCase {
+public class DataContextEJBQLOrderByIT extends RuntimeCase {
 
     @Inject
     private ObjectContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/DataContextEJBQLQueryCompoundIT.java b/cayenne/src/test/java/org/apache/cayenne/access/DataContextEJBQLQueryCompoundIT.java
index 7a373ef68..c556320cc 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/DataContextEJBQLQueryCompoundIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/DataContextEJBQLQueryCompoundIT.java
@@ -28,9 +28,9 @@ import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.compound.CompoundFkTestEntity;
 import org.apache.cayenne.testdo.compound.CompoundPkTestEntity;
 import org.apache.cayenne.unit.UnitDbAdapter;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -41,7 +41,7 @@ import java.util.Map;
 import static org.junit.Assert.assertEquals;
 
 @UseCayenneRuntime(CayenneProjects.COMPOUND_PROJECT)
-public class DataContextEJBQLQueryCompoundIT extends ServerCase {
+public class DataContextEJBQLQueryCompoundIT extends RuntimeCase {
 
 	@Inject
 	private ObjectContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/DataContextEJBQLQueryIT.java b/cayenne/src/test/java/org/apache/cayenne/access/DataContextEJBQLQueryIT.java
index 34f96aad7..dea1547f0 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/DataContextEJBQLQueryIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/DataContextEJBQLQueryIT.java
@@ -30,9 +30,9 @@ import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.testdo.testmap.Painting;
 import org.apache.cayenne.unit.UnitDbAdapter;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -48,7 +48,7 @@ import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class DataContextEJBQLQueryIT extends ServerCase {
+public class DataContextEJBQLQueryIT extends RuntimeCase {
 
     @Inject
     private ObjectContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/DataContextEJBQLSubqueryIT.java b/cayenne/src/test/java/org/apache/cayenne/access/DataContextEJBQLSubqueryIT.java
index 48c871286..b42ced6e2 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/DataContextEJBQLSubqueryIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/DataContextEJBQLSubqueryIT.java
@@ -27,9 +27,9 @@ import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.unit.UnitDbAdapter;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -42,7 +42,7 @@ import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class DataContextEJBQLSubqueryIT extends ServerCase {
+public class DataContextEJBQLSubqueryIT extends RuntimeCase {
 
     @Inject
     private ObjectContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/DataContextEJBQLUpdateCompoundIT.java b/cayenne/src/test/java/org/apache/cayenne/access/DataContextEJBQLUpdateCompoundIT.java
index 343d9cb0d..0bbe93dde 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/DataContextEJBQLUpdateCompoundIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/DataContextEJBQLUpdateCompoundIT.java
@@ -27,9 +27,9 @@ import org.apache.cayenne.query.EJBQLQuery;
 import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.compound.CompoundPkTestEntity;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -41,7 +41,7 @@ import static org.junit.Assert.assertNotNull;
 
 
 @UseCayenneRuntime(CayenneProjects.COMPOUND_PROJECT)
-public class DataContextEJBQLUpdateCompoundIT extends ServerCase {
+public class DataContextEJBQLUpdateCompoundIT extends RuntimeCase {
 
     @Inject
     private ObjectContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/DataContextEJBQLUpdateIT.java b/cayenne/src/test/java/org/apache/cayenne/access/DataContextEJBQLUpdateIT.java
index 89433d25f..1b060e3e3 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/DataContextEJBQLUpdateIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/DataContextEJBQLUpdateIT.java
@@ -26,9 +26,9 @@ import org.apache.cayenne.query.EJBQLQuery;
 import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.testmap.Artist;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -38,7 +38,7 @@ import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class DataContextEJBQLUpdateIT extends ServerCase {
+public class DataContextEJBQLUpdateIT extends RuntimeCase {
 
     @Inject
     private ObjectContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/DataContextEntityWithMeaningfulPKAndCustomDbRowOpSorterIT.java b/cayenne/src/test/java/org/apache/cayenne/access/DataContextEntityWithMeaningfulPKAndCustomDbRowOpSorterIT.java
index 621fc1c49..519144a23 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/DataContextEntityWithMeaningfulPKAndCustomDbRowOpSorterIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/DataContextEntityWithMeaningfulPKAndCustomDbRowOpSorterIT.java
@@ -27,15 +27,15 @@ import org.apache.cayenne.di.Module;
 import org.apache.cayenne.testdo.meaningful_pk.MeaningfulPKDep;
 import org.apache.cayenne.testdo.meaningful_pk.MeaningfulPKTest1;
 import org.apache.cayenne.testdo.meaningful_pk.MeaningfulPk;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ExtraModules;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.ExtraModules;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 @UseCayenneRuntime(CayenneProjects.MEANINGFUL_PK_PROJECT)
 @ExtraModules(DataContextEntityWithMeaningfulPKAndCustomDbRowOpSorterIT.GraphSorterModule.class)
-public class DataContextEntityWithMeaningfulPKAndCustomDbRowOpSorterIT extends ServerCase {
+public class DataContextEntityWithMeaningfulPKAndCustomDbRowOpSorterIT extends RuntimeCase {
 
     @Inject
     private DataContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/DataContextEntityWithMeaningfulPKIT.java b/cayenne/src/test/java/org/apache/cayenne/access/DataContextEntityWithMeaningfulPKIT.java
index dd50e2c33..0bffbbe29 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/DataContextEntityWithMeaningfulPKIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/DataContextEntityWithMeaningfulPKIT.java
@@ -32,9 +32,9 @@ import org.apache.cayenne.testdo.meaningful_pk.MeaningfulPKTest1;
 import org.apache.cayenne.testdo.meaningful_pk.MeaningfulPk;
 import org.apache.cayenne.testdo.meaningful_pk.MeaningfulPkDep2;
 import org.apache.cayenne.testdo.meaningful_pk.MeaningfulPkTest2;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Ignore;
 import org.junit.Test;
 
@@ -44,7 +44,7 @@ import java.util.Map;
 import static org.junit.Assert.*;
 
 @UseCayenneRuntime(CayenneProjects.MEANINGFUL_PK_PROJECT)
-public class DataContextEntityWithMeaningfulPKIT extends ServerCase {
+public class DataContextEntityWithMeaningfulPKIT extends RuntimeCase {
 
     @Inject
     private DataContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/DataContextExtendedTypeOperationsIT.java b/cayenne/src/test/java/org/apache/cayenne/access/DataContextExtendedTypeOperationsIT.java
index 479720a7a..ee89ff464 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/DataContextExtendedTypeOperationsIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/DataContextExtendedTypeOperationsIT.java
@@ -27,15 +27,15 @@ import org.apache.cayenne.query.ObjectSelect;
 import org.apache.cayenne.query.SQLTemplate;
 import org.apache.cayenne.testdo.extended_type.ExtendedTypeEntity;
 import org.apache.cayenne.testdo.extended_type.StringET1;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 import static org.junit.Assert.assertEquals;
 
 @UseCayenneRuntime(CayenneProjects.EXTENDED_TYPE_PROJECT)
-public class DataContextExtendedTypeOperationsIT extends ServerCase {
+public class DataContextExtendedTypeOperationsIT extends RuntimeCase {
 
     @Inject
     protected ObjectContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/DataContextExtrasIT.java b/cayenne/src/test/java/org/apache/cayenne/access/DataContextExtrasIT.java
index 1f058cb6a..c64cc3ad2 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/DataContextExtrasIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/DataContextExtrasIT.java
@@ -39,9 +39,9 @@ import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.testdo.testmap.Painting;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -59,7 +59,7 @@ import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class DataContextExtrasIT extends ServerCase {
+public class DataContextExtrasIT extends RuntimeCase {
 
     @Inject
     protected DataContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/DataContextFlattenedAttributesIT.java b/cayenne/src/test/java/org/apache/cayenne/access/DataContextFlattenedAttributesIT.java
index 798a5965a..7d941dff1 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/DataContextFlattenedAttributesIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/DataContextFlattenedAttributesIT.java
@@ -37,9 +37,9 @@ import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.testdo.testmap.CompoundPainting;
 import org.apache.cayenne.testdo.testmap.CompoundPaintingLongNames;
 import org.apache.cayenne.testdo.testmap.Gallery;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -54,7 +54,7 @@ import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertTrue;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class DataContextFlattenedAttributesIT extends ServerCase {
+public class DataContextFlattenedAttributesIT extends RuntimeCase {
 
     @Inject
     private CayenneRuntime runtime;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/DataContextIT.java b/cayenne/src/test/java/org/apache/cayenne/access/DataContextIT.java
index 193bc057b..1a054b16a 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/DataContextIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/DataContextIT.java
@@ -44,10 +44,10 @@ import org.apache.cayenne.testdo.testmap.Painting;
 import org.apache.cayenne.testdo.testmap.ROArtist;
 import org.apache.cayenne.unit.UnitDbAdapter;
 import org.apache.cayenne.unit.di.DataChannelInterceptor;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.ServerCaseDataSourceFactory;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.RuntimeCaseDataSourceFactory;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -64,7 +64,7 @@ import static org.mockito.ArgumentMatchers.*;
 import static org.mockito.Mockito.*;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class DataContextIT extends ServerCase {
+public class DataContextIT extends RuntimeCase {
 
 	@Inject
 	protected DataContext context;
@@ -79,7 +79,7 @@ public class DataContextIT extends ServerCase {
 	protected DataChannelInterceptor queryInterceptor;
 
 	@Inject
-	protected ServerCaseDataSourceFactory dataSourceFactory;
+	protected RuntimeCaseDataSourceFactory dataSourceFactory;
 
 	protected TableHelper tArtist;
 	protected TableHelper tExhibit;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/DataContextIteratedQueryIT.java b/cayenne/src/test/java/org/apache/cayenne/access/DataContextIteratedQueryIT.java
index dff07bf6b..bcffe75e7 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/DataContextIteratedQueryIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/DataContextIteratedQueryIT.java
@@ -28,9 +28,9 @@ import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.testdo.testmap.Painting;
 import org.apache.cayenne.tx.BaseTransaction;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -41,7 +41,7 @@ import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertNull;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class DataContextIteratedQueryIT extends ServerCase {
+public class DataContextIteratedQueryIT extends RuntimeCase {
 
     @Inject
     protected DBHelper dbHelper;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/DataContextJoinAliasesIT.java b/cayenne/src/test/java/org/apache/cayenne/access/DataContextJoinAliasesIT.java
index 0a973c55a..99af53f67 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/DataContextJoinAliasesIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/DataContextJoinAliasesIT.java
@@ -27,9 +27,9 @@ import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.testdo.testmap.Gallery;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -39,7 +39,7 @@ import java.util.List;
 import static org.junit.Assert.assertEquals;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class DataContextJoinAliasesIT extends ServerCase {
+public class DataContextJoinAliasesIT extends RuntimeCase {
     
     @Inject
     ObjectContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/DataContextLocalObjectIT.java b/cayenne/src/test/java/org/apache/cayenne/access/DataContextLocalObjectIT.java
index 8f52b32a2..da96d733e 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/DataContextLocalObjectIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/DataContextLocalObjectIT.java
@@ -29,9 +29,9 @@ import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.unit.di.DataChannelInterceptor;
 import org.apache.cayenne.unit.di.UnitTestClosure;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -42,7 +42,7 @@ import static org.junit.Assert.assertSame;
 import static org.junit.Assert.fail;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class DataContextLocalObjectIT extends ServerCase {
+public class DataContextLocalObjectIT extends RuntimeCase {
 
     @Inject
     private DataContext context1;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/DataContextNoPkIT.java b/cayenne/src/test/java/org/apache/cayenne/access/DataContextNoPkIT.java
index 01e2be037..73223477e 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/DataContextNoPkIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/DataContextNoPkIT.java
@@ -27,9 +27,9 @@ import org.apache.cayenne.query.ObjectSelect;
 import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.no_pk.NoPkTestEntity;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -40,7 +40,7 @@ import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 
 @UseCayenneRuntime(CayenneProjects.NO_PK_PROJECT)
-public class DataContextNoPkIT extends ServerCase {
+public class DataContextNoPkIT extends RuntimeCase {
 
     @Inject
     protected ObjectContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/DataContextObjectIdQueryIT.java b/cayenne/src/test/java/org/apache/cayenne/access/DataContextObjectIdQueryIT.java
index c8e29aa1d..ea266476b 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/DataContextObjectIdQueryIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/DataContextObjectIdQueryIT.java
@@ -24,9 +24,9 @@ import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.query.ObjectIdQuery;
 import org.apache.cayenne.query.SQLTemplate;
 import org.apache.cayenne.testdo.testmap.Artist;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 import java.util.Collections;
@@ -37,7 +37,7 @@ import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertNull;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class DataContextObjectIdQueryIT extends ServerCase {
+public class DataContextObjectIdQueryIT extends RuntimeCase {
 
     @Inject
     private DataContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/DataContextObjectIdQuery_PolymorphicIT.java b/cayenne/src/test/java/org/apache/cayenne/access/DataContextObjectIdQuery_PolymorphicIT.java
index 769d80abc..90cc8e15f 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/DataContextObjectIdQuery_PolymorphicIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/DataContextObjectIdQuery_PolymorphicIT.java
@@ -29,7 +29,7 @@ import org.apache.cayenne.testdo.inheritance_people.Employee;
 import org.apache.cayenne.testdo.inheritance_people.Manager;
 import org.apache.cayenne.unit.di.DataChannelInterceptor;
 import org.apache.cayenne.unit.di.UnitTestClosure;
-import org.apache.cayenne.unit.di.server.PeopleProjectCase;
+import org.apache.cayenne.unit.di.runtime.PeopleProjectCase;
 import org.junit.Before;
 import org.junit.Test;
 
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/DataContextObjectTrackingIT.java b/cayenne/src/test/java/org/apache/cayenne/access/DataContextObjectTrackingIT.java
index 9bf226c63..32dd8f40d 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/DataContextObjectTrackingIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/DataContextObjectTrackingIT.java
@@ -29,9 +29,9 @@ import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.unit.di.DataChannelInterceptor;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -49,7 +49,7 @@ import static org.junit.Assert.assertSame;
  * such.
  */
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class DataContextObjectTrackingIT extends ServerCase {
+public class DataContextObjectTrackingIT extends RuntimeCase {
 
     @Inject
     protected DataChannelInterceptor queryInterceptor;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/DataContextOrderingIT.java b/cayenne/src/test/java/org/apache/cayenne/access/DataContextOrderingIT.java
index ba1c0bb30..954dfcbdb 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/DataContextOrderingIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/DataContextOrderingIT.java
@@ -26,16 +26,16 @@ import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.query.ObjectSelect;
 import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.testdo.testmap.Painting;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertSame;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class DataContextOrderingIT extends ServerCase {
+public class DataContextOrderingIT extends RuntimeCase {
 
     @Inject
     private DataContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/DataContextOuterJoinsIT.java b/cayenne/src/test/java/org/apache/cayenne/access/DataContextOuterJoinsIT.java
index 7e15af0ea..15ab95c83 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/DataContextOuterJoinsIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/DataContextOuterJoinsIT.java
@@ -26,9 +26,9 @@ import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.testdo.testmap.Painting;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -38,7 +38,7 @@ import java.util.List;
 import static org.junit.Assert.assertEquals;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class DataContextOuterJoinsIT extends ServerCase {
+public class DataContextOuterJoinsIT extends RuntimeCase {
 
 	@Inject
 	protected ObjectContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/DataContextPaginatedQueryIT.java b/cayenne/src/test/java/org/apache/cayenne/access/DataContextPaginatedQueryIT.java
index aaad8cded..7b3842069 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/DataContextPaginatedQueryIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/DataContextPaginatedQueryIT.java
@@ -26,9 +26,9 @@ import org.apache.cayenne.query.QueryCacheStrategy;
 import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.testmap.Artist;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -36,7 +36,7 @@ import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertSame;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class DataContextPaginatedQueryIT extends ServerCase {
+public class DataContextPaginatedQueryIT extends RuntimeCase {
 
     @Inject
     protected DataContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/DataContextPerformQueryAPIIT.java b/cayenne/src/test/java/org/apache/cayenne/access/DataContextPerformQueryAPIIT.java
index fd2d18169..9c240bb6d 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/DataContextPerformQueryAPIIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/DataContextPerformQueryAPIIT.java
@@ -32,9 +32,9 @@ import org.apache.cayenne.tx.ExternalTransaction;
 import org.apache.cayenne.tx.Transaction;
 import org.apache.cayenne.unit.UnitDbAdapter;
 import org.apache.cayenne.unit.di.DataChannelInterceptor;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -49,7 +49,7 @@ import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class DataContextPerformQueryAPIIT extends ServerCase {
+public class DataContextPerformQueryAPIIT extends RuntimeCase {
 
     @Inject
     private DataContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/DataContextPrefetchExtras1IT.java b/cayenne/src/test/java/org/apache/cayenne/access/DataContextPrefetchExtras1IT.java
index 419130d9b..fe561abdc 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/DataContextPrefetchExtras1IT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/DataContextPrefetchExtras1IT.java
@@ -28,9 +28,9 @@ import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.testmap.Painting;
 import org.apache.cayenne.testdo.testmap.PaintingInfo;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 import static org.junit.Assert.assertEquals;
@@ -40,7 +40,7 @@ import static org.junit.Assert.assertFalse;
  * A test case for CAY-788.
  */
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class DataContextPrefetchExtras1IT extends ServerCase {
+public class DataContextPrefetchExtras1IT extends RuntimeCase {
 
     @Inject
     protected ObjectContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/DataContextPrefetchExtrasIT.java b/cayenne/src/test/java/org/apache/cayenne/access/DataContextPrefetchExtrasIT.java
index aec60cde8..9a7720873 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/DataContextPrefetchExtrasIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/DataContextPrefetchExtrasIT.java
@@ -35,9 +35,9 @@ import org.apache.cayenne.testdo.compound.CharFkTestEntity;
 import org.apache.cayenne.testdo.compound.CharPkTestEntity;
 import org.apache.cayenne.testdo.compound.CompoundFkTestEntity;
 import org.apache.cayenne.testdo.compound.CompoundPkTestEntity;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -47,7 +47,7 @@ import static org.junit.Assert.*;
  * Test prefetching of various obscure cases.
  */
 @UseCayenneRuntime(CayenneProjects.COMPOUND_PROJECT)
-public class DataContextPrefetchExtrasIT extends ServerCase {
+public class DataContextPrefetchExtrasIT extends RuntimeCase {
 
     @Inject
     protected ObjectContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/DataContextPrefetchIT.java b/cayenne/src/test/java/org/apache/cayenne/access/DataContextPrefetchIT.java
index 9ce312754..4d50b0740 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/DataContextPrefetchIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/DataContextPrefetchIT.java
@@ -49,16 +49,16 @@ import org.apache.cayenne.testdo.testmap.Gallery;
 import org.apache.cayenne.testdo.testmap.Painting;
 import org.apache.cayenne.testdo.testmap.PaintingInfo;
 import org.apache.cayenne.unit.di.DataChannelInterceptor;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
 import static org.junit.Assert.*;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class DataContextPrefetchIT extends ServerCase {
+public class DataContextPrefetchIT extends RuntimeCase {
 
 	@Inject
 	protected DataContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/DataContextPrefetchMultistepIT.java b/cayenne/src/test/java/org/apache/cayenne/access/DataContextPrefetchMultistepIT.java
index 961fdd2e1..7bc9eab7b 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/DataContextPrefetchMultistepIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/DataContextPrefetchMultistepIT.java
@@ -32,9 +32,9 @@ import org.apache.cayenne.testdo.testmap.ArtistExhibit;
 import org.apache.cayenne.testdo.testmap.Exhibit;
 import org.apache.cayenne.testdo.testmap.Gallery;
 import org.apache.cayenne.testdo.testmap.Painting;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -46,7 +46,7 @@ import java.util.Map;
 import static org.junit.Assert.*;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class DataContextPrefetchMultistepIT extends ServerCase {
+public class DataContextPrefetchMultistepIT extends RuntimeCase {
 
     @Inject
     protected DataContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/DataContextPrefetchQualifierOverlapIT.java b/cayenne/src/test/java/org/apache/cayenne/access/DataContextPrefetchQualifierOverlapIT.java
index e53637978..62d3a3f2b 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/DataContextPrefetchQualifierOverlapIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/DataContextPrefetchQualifierOverlapIT.java
@@ -27,15 +27,15 @@ import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.testdo.testmap.Painting;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 import static org.junit.Assert.assertEquals;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class DataContextPrefetchQualifierOverlapIT extends ServerCase {
+public class DataContextPrefetchQualifierOverlapIT extends RuntimeCase {
 
     @Inject
     private DataContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/DataContextProcedureQueryIT.java b/cayenne/src/test/java/org/apache/cayenne/access/DataContextProcedureQueryIT.java
index 6fcccadb0..e949650db 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/DataContextProcedureQueryIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/DataContextProcedureQueryIT.java
@@ -39,9 +39,9 @@ import org.apache.cayenne.testdo.testmap.Painting;
 import org.apache.cayenne.tx.BaseTransaction;
 import org.apache.cayenne.tx.ExternalTransaction;
 import org.apache.cayenne.unit.UnitDbAdapter;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 import static org.junit.Assert.assertEquals;
@@ -50,7 +50,7 @@ import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class DataContextProcedureQueryIT extends ServerCase {
+public class DataContextProcedureQueryIT extends RuntimeCase {
 
     public static final String UPDATE_STORED_PROCEDURE = "cayenne_tst_upd_proc";
     public static final String UPDATE_STORED_PROCEDURE_NOPARAM = "cayenne_tst_upd_proc2";
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/DataContextQualifiedEntityIT.java b/cayenne/src/test/java/org/apache/cayenne/access/DataContextQualifiedEntityIT.java
index 98ed77119..b69535e9d 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/DataContextQualifiedEntityIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/DataContextQualifiedEntityIT.java
@@ -30,7 +30,7 @@ import org.apache.cayenne.testdo.inheritance_people.AbstractPerson;
 import org.apache.cayenne.testdo.inheritance_people.CustomerRepresentative;
 import org.apache.cayenne.testdo.inheritance_people.Employee;
 import org.apache.cayenne.testdo.inheritance_people.Manager;
-import org.apache.cayenne.unit.di.server.PeopleProjectCase;
+import org.apache.cayenne.unit.di.runtime.PeopleProjectCase;
 import org.junit.Before;
 import org.junit.Test;
 
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/DataContextQueryCachingIT.java b/cayenne/src/test/java/org/apache/cayenne/access/DataContextQueryCachingIT.java
index ad6f38bc1..17b2c1777 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/DataContextQueryCachingIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/DataContextQueryCachingIT.java
@@ -30,9 +30,9 @@ import org.apache.cayenne.query.QueryMetadata;
 import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.testmap.Artist;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -46,7 +46,7 @@ import static org.junit.Assert.assertSame;
 import static org.junit.Assert.assertTrue;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class DataContextQueryCachingIT extends ServerCase {
+public class DataContextQueryCachingIT extends RuntimeCase {
 
     @Inject
     protected DataContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/DataContextQueryChainIT.java b/cayenne/src/test/java/org/apache/cayenne/access/DataContextQueryChainIT.java
index 3adb0cc7b..550a92104 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/DataContextQueryChainIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/DataContextQueryChainIT.java
@@ -26,16 +26,16 @@ import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.query.ObjectSelect;
 import org.apache.cayenne.query.QueryChain;
 import org.apache.cayenne.testdo.testmap.Artist;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class DataContextQueryChainIT extends ServerCase {
+public class DataContextQueryChainIT extends RuntimeCase {
 
     @Inject
     private DataContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/DataContextRefreshQueryIT.java b/cayenne/src/test/java/org/apache/cayenne/access/DataContextRefreshQueryIT.java
index 898d82b89..8be0b203e 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/DataContextRefreshQueryIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/DataContextRefreshQueryIT.java
@@ -32,16 +32,16 @@ import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.testdo.testmap.Painting;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
 import static org.junit.Assert.*;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class DataContextRefreshQueryIT extends ServerCase {
+public class DataContextRefreshQueryIT extends RuntimeCase {
 
     @Inject
     protected DataContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/DataContextRefreshingIT.java b/cayenne/src/test/java/org/apache/cayenne/access/DataContextRefreshingIT.java
index b6ff52261..5e19b5f3c 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/DataContextRefreshingIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/DataContextRefreshingIT.java
@@ -31,9 +31,9 @@ import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.testdo.testmap.Painting;
 import org.apache.cayenne.unit.di.DataChannelInterceptor;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -48,7 +48,7 @@ import static org.junit.Assert.assertNull;
  * prefetching.
  */
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class DataContextRefreshingIT extends ServerCase {
+public class DataContextRefreshingIT extends RuntimeCase {
 
     @Inject
     protected DataContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/DataContextRelationshipQueryIT.java b/cayenne/src/test/java/org/apache/cayenne/access/DataContextRelationshipQueryIT.java
index ce557bd9b..05fb4a565 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/DataContextRelationshipQueryIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/DataContextRelationshipQueryIT.java
@@ -25,9 +25,9 @@ import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.testdo.testmap.Painting;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -37,7 +37,7 @@ import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class DataContextRelationshipQueryIT extends ServerCase {
+public class DataContextRelationshipQueryIT extends RuntimeCase {
 
     @Inject
     private DataContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/DataContextRelationshipQuery_PolymorphicIT.java b/cayenne/src/test/java/org/apache/cayenne/access/DataContextRelationshipQuery_PolymorphicIT.java
index 636dee42d..4ea14f824 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/DataContextRelationshipQuery_PolymorphicIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/DataContextRelationshipQuery_PolymorphicIT.java
@@ -26,7 +26,7 @@ import org.apache.cayenne.testdo.inheritance_people.Employee;
 import org.apache.cayenne.testdo.inheritance_people.PersonNotes;
 import org.apache.cayenne.unit.di.DataChannelInterceptor;
 import org.apache.cayenne.unit.di.UnitTestClosure;
-import org.apache.cayenne.unit.di.server.PeopleProjectCase;
+import org.apache.cayenne.unit.di.runtime.PeopleProjectCase;
 import org.junit.Before;
 import org.junit.Test;
 
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/DataContextRollbackIT.java b/cayenne/src/test/java/org/apache/cayenne/access/DataContextRollbackIT.java
index 13729f2a9..150856336 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/DataContextRollbackIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/DataContextRollbackIT.java
@@ -28,9 +28,9 @@ import org.apache.cayenne.query.ObjectSelect;
 import org.apache.cayenne.runtime.CayenneRuntime;
 import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.testdo.testmap.Painting;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 import static org.junit.Assert.assertEquals;
@@ -38,7 +38,7 @@ import static org.junit.Assert.assertNotSame;
 import static org.junit.Assert.assertTrue;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class DataContextRollbackIT extends ServerCase {
+public class DataContextRollbackIT extends RuntimeCase {
 
     @Inject
     private DataContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/DataContextSQLTemplateCompoundIT.java b/cayenne/src/test/java/org/apache/cayenne/access/DataContextSQLTemplateCompoundIT.java
index ddd843c07..a3b660295 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/DataContextSQLTemplateCompoundIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/DataContextSQLTemplateCompoundIT.java
@@ -27,9 +27,9 @@ import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.compound.CompoundFkTestEntity;
 import org.apache.cayenne.testdo.compound.CompoundPkTestEntity;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -41,7 +41,7 @@ import java.util.Map;
 import static org.junit.Assert.assertEquals;
 
 @UseCayenneRuntime(CayenneProjects.COMPOUND_PROJECT)
-public class DataContextSQLTemplateCompoundIT extends ServerCase {
+public class DataContextSQLTemplateCompoundIT extends RuntimeCase {
 
     @Inject
     protected DataContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/DataContextSQLTemplateIT.java b/cayenne/src/test/java/org/apache/cayenne/access/DataContextSQLTemplateIT.java
index 414256128..d1f1686fc 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/DataContextSQLTemplateIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/DataContextSQLTemplateIT.java
@@ -34,9 +34,9 @@ import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.testdo.testmap.Painting;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.apache.cayenne.unit.util.SQLTemplateCustomizer;
 import org.junit.Before;
 import org.junit.Test;
@@ -50,7 +50,7 @@ import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class DataContextSQLTemplateIT extends ServerCase {
+public class DataContextSQLTemplateIT extends RuntimeCase {
 
 	@Inject
 	private CayenneRuntime runtime;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/DataContextSerializationIT.java b/cayenne/src/test/java/org/apache/cayenne/access/DataContextSerializationIT.java
index 198ba8d10..c343dbb52 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/DataContextSerializationIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/DataContextSerializationIT.java
@@ -30,9 +30,9 @@ import org.apache.cayenne.log.JdbcEventLogger;
 import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.testmap.Artist;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.apache.cayenne.util.Util;
 import org.junit.After;
 import org.junit.Before;
@@ -50,7 +50,7 @@ import static org.junit.Assert.assertSame;
 import static org.junit.Assert.assertTrue;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class DataContextSerializationIT extends ServerCase {
+public class DataContextSerializationIT extends RuntimeCase {
 
     @Inject
     protected DataContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/DataContextSharedCacheEmpiricIT.java b/cayenne/src/test/java/org/apache/cayenne/access/DataContextSharedCacheEmpiricIT.java
index 94b6d3634..b2f4c899b 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/DataContextSharedCacheEmpiricIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/DataContextSharedCacheEmpiricIT.java
@@ -25,7 +25,10 @@ import java.util.List;
 import org.apache.cayenne.DataRow;
 import org.apache.cayenne.configuration.DefaultRuntimeProperties;
 import org.apache.cayenne.configuration.ObjectStoreFactory;
+import org.apache.cayenne.configuration.runtime.CoreModule;
+import org.apache.cayenne.di.Binder;
 import org.apache.cayenne.di.Inject;
+import org.apache.cayenne.di.Module;
 import org.apache.cayenne.event.DefaultEventManager;
 import org.apache.cayenne.query.ObjectSelect;
 import org.apache.cayenne.runtime.CayenneRuntime;
@@ -33,9 +36,10 @@ import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.test.parallel.ParallelTestContainer;
 import org.apache.cayenne.testdo.testmap.Artist;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCaseContextsSync;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.ExtraModules;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -45,7 +49,8 @@ import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertNotSame;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class DataContextSharedCacheEmpiricIT extends ServerCaseContextsSync {
+@ExtraModules(DataContextSharedCacheEmpiricIT.SyncContextsModule.class)
+public class DataContextSharedCacheEmpiricIT extends RuntimeCase {
 
     private static final String NEW_NAME = "versionX";
 
@@ -172,4 +177,11 @@ public class DataContextSharedCacheEmpiricIT extends ServerCaseContextsSync {
         };
         helper.runTest(3000);
     }
+
+    public static class SyncContextsModule implements Module {
+        @Override
+        public void configure(Binder binder) {
+            CoreModule.extend(binder).syncContexts();
+        }
+    }
 }
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/DataContextSharedCacheIT.java b/cayenne/src/test/java/org/apache/cayenne/access/DataContextSharedCacheIT.java
index e7162775e..44fb11ffe 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/DataContextSharedCacheIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/DataContextSharedCacheIT.java
@@ -28,17 +28,17 @@ import java.util.Map;
 import org.apache.cayenne.DataRow;
 import org.apache.cayenne.ObjectId;
 import org.apache.cayenne.PersistenceState;
-import org.apache.cayenne.access.util.ServerCaseSyncModule;
+import org.apache.cayenne.access.util.RuntimeCaseSyncModule;
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.query.ObjectSelect;
 import org.apache.cayenne.query.SQLTemplate;
 import org.apache.cayenne.test.parallel.ParallelTestContainer;
 import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.testdo.testmap.Painting;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ExtraModules;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.ExtraModules;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.apache.cayenne.unit.util.SQLTemplateCustomizer;
 import org.junit.Before;
 import org.junit.Test;
@@ -50,8 +50,8 @@ import static org.junit.Assert.*;
  * DataDomain.
  */
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-@ExtraModules(ServerCaseSyncModule.class)
-public class DataContextSharedCacheIT extends ServerCase {
+@ExtraModules(RuntimeCaseSyncModule.class)
+public class DataContextSharedCacheIT extends RuntimeCase {
 
     @Inject
     private DataContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/DataContextValidationIT.java b/cayenne/src/test/java/org/apache/cayenne/access/DataContextValidationIT.java
index c6d86f831..fc8ee9493 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/DataContextValidationIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/DataContextValidationIT.java
@@ -23,9 +23,9 @@ import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.query.ObjectSelect;
 import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.testdo.testmap.Painting;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.apache.cayenne.unit.util.ValidationDelegate;
 import org.junit.Test;
 
@@ -36,7 +36,7 @@ import static org.junit.Assert.assertTrue;
 /**
  */
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class DataContextValidationIT extends ServerCase {
+public class DataContextValidationIT extends RuntimeCase {
 
     @Inject
     private DataContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/DataDomainCallbacksIT.java b/cayenne/src/test/java/org/apache/cayenne/access/DataDomainCallbacksIT.java
index 1d48043d3..85b893848 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/DataDomainCallbacksIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/DataDomainCallbacksIT.java
@@ -30,15 +30,15 @@ import org.apache.cayenne.query.RefreshQuery;
 import org.apache.cayenne.reflect.LifecycleCallbackRegistry;
 import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.testdo.testmap.Painting;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 import static org.junit.Assert.*;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class DataDomainCallbacksIT extends ServerCase {
+public class DataDomainCallbacksIT extends RuntimeCase {
 
     @Inject
     private EntityResolver resolver;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/DataDomainFiltersIT.java b/cayenne/src/test/java/org/apache/cayenne/access/DataDomainFiltersIT.java
index 6a3fb65a1..9b9b5f7c2 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/DataDomainFiltersIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/DataDomainFiltersIT.java
@@ -34,9 +34,9 @@ import org.apache.cayenne.query.ObjectSelect;
 import org.apache.cayenne.query.Query;
 import org.apache.cayenne.runtime.CayenneRuntime;
 import org.apache.cayenne.testdo.testmap.Artist;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.apache.cayenne.util.ListResponse;
 import org.junit.Test;
 
@@ -45,7 +45,7 @@ import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertSame;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class DataDomainFiltersIT extends ServerCase {
+public class DataDomainFiltersIT extends RuntimeCase {
 
     @Inject
     private ObjectContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/DataDomainIT.java b/cayenne/src/test/java/org/apache/cayenne/access/DataDomainIT.java
index 7dc95ad3f..25b6f4897 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/DataDomainIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/DataDomainIT.java
@@ -35,9 +35,9 @@ import org.apache.cayenne.testdo.testmap.Exhibit;
 import org.apache.cayenne.testdo.testmap.Gallery;
 import org.apache.cayenne.testdo.testmap.Painting;
 import org.apache.cayenne.testdo.testmap.annotations.Tag1;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 import java.util.Collections;
@@ -53,7 +53,7 @@ import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class DataDomainIT extends ServerCase {
+public class DataDomainIT extends RuntimeCase {
 
     @Inject
     private CayenneRuntime runtime;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/DataDomainQueryActionIT.java b/cayenne/src/test/java/org/apache/cayenne/access/DataDomainQueryActionIT.java
index 6072983fe..7dce90bed 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/DataDomainQueryActionIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/DataDomainQueryActionIT.java
@@ -30,16 +30,16 @@ import org.apache.cayenne.query.QueryCacheStrategy;
 import org.apache.cayenne.query.QueryMetadata;
 import org.apache.cayenne.runtime.CayenneRuntime;
 import org.apache.cayenne.testdo.testmap.Painting;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.After;
 import org.junit.Test;
 
 import static org.junit.Assert.assertTrue;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class DataDomainQueryActionIT extends ServerCase {
+public class DataDomainQueryActionIT extends RuntimeCase {
 
     @Inject
     private DataContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/DataNodeIT.java b/cayenne/src/test/java/org/apache/cayenne/access/DataNodeIT.java
index 4fe2764aa..bb85710dd 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/DataNodeIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/DataNodeIT.java
@@ -22,9 +22,9 @@ package org.apache.cayenne.access;
 import org.apache.cayenne.dba.JdbcAdapter;
 import org.apache.cayenne.di.AdhocObjectFactory;
 import org.apache.cayenne.di.Inject;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 import static org.junit.Assert.assertEquals;
@@ -32,7 +32,7 @@ import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertSame;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class DataNodeIT extends ServerCase {
+public class DataNodeIT extends RuntimeCase {
     
     @Inject
     private AdhocObjectFactory objectFactory;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/DataNodeQueriesIT.java b/cayenne/src/test/java/org/apache/cayenne/access/DataNodeQueriesIT.java
index 1e68c95dc..2113b9dc7 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/DataNodeQueriesIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/DataNodeQueriesIT.java
@@ -26,9 +26,9 @@ import org.apache.cayenne.query.Query;
 import org.apache.cayenne.query.SQLTemplate;
 import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.apache.cayenne.unit.util.SQLTemplateCustomizer;
 import org.junit.Before;
 import org.junit.Test;
@@ -43,7 +43,7 @@ import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class DataNodeQueriesIT extends ServerCase {
+public class DataNodeQueriesIT extends RuntimeCase {
 
     @Inject
     protected DataNode node;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/DataRowStoreIT.java b/cayenne/src/test/java/org/apache/cayenne/access/DataRowStoreIT.java
index 3f6e974f2..bfbf0ec43 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/DataRowStoreIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/DataRowStoreIT.java
@@ -24,9 +24,9 @@ import org.apache.cayenne.ObjectId;
 import org.apache.cayenne.configuration.Constants;
 import org.apache.cayenne.configuration.DefaultRuntimeProperties;
 import org.apache.cayenne.testdo.testmap.Artist;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.After;
 import org.junit.Test;
 
@@ -45,7 +45,7 @@ import static org.junit.Assert.assertTrue;
  * and this behaviour is not anyhow tested here nor it affects existing tests.
  */
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class DataRowStoreIT extends ServerCase {
+public class DataRowStoreIT extends RuntimeCase {
 
     private DataRowStore cache;
 
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/DataRowUtilsIT.java b/cayenne/src/test/java/org/apache/cayenne/access/DataRowUtilsIT.java
index 5c2d13bb9..257c74485 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/DataRowUtilsIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/DataRowUtilsIT.java
@@ -31,9 +31,9 @@ import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.testdo.testmap.Gallery;
 import org.apache.cayenne.testdo.testmap.Painting;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -43,7 +43,7 @@ import static org.junit.Assert.assertNotSame;
 import static org.junit.Assert.assertTrue;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class DataRowUtilsIT extends ServerCase {
+public class DataRowUtilsIT extends RuntimeCase {
 
     @Inject
     protected DataContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/DateTimeTypesIT.java b/cayenne/src/test/java/org/apache/cayenne/access/DateTimeTypesIT.java
index d1a24f33f..2ceb716f8 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/DateTimeTypesIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/DateTimeTypesIT.java
@@ -29,9 +29,9 @@ import org.apache.cayenne.query.MappedSelect;
 import org.apache.cayenne.query.ObjectSelect;
 import org.apache.cayenne.testdo.date_time.CalendarEntity;
 import org.apache.cayenne.testdo.date_time.DateTestEntity;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 import static org.junit.Assert.assertEquals;
@@ -42,7 +42,7 @@ import static org.junit.Assert.assertTrue;
  * Tests Date handling in Cayenne.
  */
 @UseCayenneRuntime(CayenneProjects.DATE_TIME_PROJECT)
-public class DateTimeTypesIT extends ServerCase {
+public class DateTimeTypesIT extends RuntimeCase {
 
     @Inject
     private DataContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/DbGeneratorIT.java b/cayenne/src/test/java/org/apache/cayenne/access/DbGeneratorIT.java
index 4ac57a5bb..7c2c37460 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/DbGeneratorIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/DbGeneratorIT.java
@@ -25,9 +25,9 @@ import org.apache.cayenne.log.JdbcEventLogger;
 import org.apache.cayenne.map.DataMap;
 import org.apache.cayenne.map.DbEntity;
 import org.apache.cayenne.runtime.CayenneRuntime;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -37,7 +37,7 @@ import static org.junit.Assert.assertSame;
 import static org.junit.Assert.assertTrue;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class DbGeneratorIT extends ServerCase {
+public class DbGeneratorIT extends RuntimeCase {
 
     @Inject
     private DbAdapter adapter;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/DefaultDataRowStoreFactoryIT.java b/cayenne/src/test/java/org/apache/cayenne/access/DefaultDataRowStoreFactoryIT.java
index 3aab3e941..1613ea6d0 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/DefaultDataRowStoreFactoryIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/DefaultDataRowStoreFactoryIT.java
@@ -48,9 +48,9 @@ import org.apache.cayenne.tx.DefaultTransactionFactory;
 import org.apache.cayenne.tx.DefaultTransactionManager;
 import org.apache.cayenne.tx.TransactionFactory;
 import org.apache.cayenne.tx.TransactionManager;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 import static org.junit.Assert.assertEquals;
@@ -58,7 +58,7 @@ import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertNull;
 
 @UseCayenneRuntime(CayenneProjects.MULTI_TIER_PROJECT)
-public class DefaultDataRowStoreFactoryIT extends ServerCase {
+public class DefaultDataRowStoreFactoryIT extends RuntimeCase {
 
     @Test
     public void testGetDataRowStore() {
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/DeleteObjectIT.java b/cayenne/src/test/java/org/apache/cayenne/access/DeleteObjectIT.java
index 6267c10e8..4da72bb09 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/DeleteObjectIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/DeleteObjectIT.java
@@ -33,9 +33,9 @@ import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.testdo.testmap.Painting;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -43,7 +43,7 @@ import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNull;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class DeleteObjectIT extends ServerCase {
+public class DeleteObjectIT extends RuntimeCase {
 
     @Inject
     protected DataContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/DeleteRulesIT.java b/cayenne/src/test/java/org/apache/cayenne/access/DeleteRulesIT.java
index 490c37024..a22f0f958 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/DeleteRulesIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/DeleteRulesIT.java
@@ -32,9 +32,9 @@ import org.apache.cayenne.testdo.relationships_delete_rules.DeleteRuleFlatB;
 import org.apache.cayenne.testdo.relationships_delete_rules.DeleteRuleTest1;
 import org.apache.cayenne.testdo.relationships_delete_rules.DeleteRuleTest2;
 import org.apache.cayenne.testdo.relationships_delete_rules.DeleteRuleTest3;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 import java.util.ArrayList;
@@ -47,7 +47,7 @@ import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
 @UseCayenneRuntime(CayenneProjects.RELATIONSHIPS_DELETE_RULES_PROJECT)
-public class DeleteRulesIT extends ServerCase {
+public class DeleteRulesIT extends RuntimeCase {
 
     @Inject
     private DataContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/EmbeddingIT.java b/cayenne/src/test/java/org/apache/cayenne/access/EmbeddingIT.java
index 442e1f432..42b325355 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/EmbeddingIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/EmbeddingIT.java
@@ -31,9 +31,9 @@ import org.apache.cayenne.testdo.embeddable.EmbedEntity1;
 import org.apache.cayenne.testdo.embeddable.EmbedEntity2;
 import org.apache.cayenne.testdo.embeddable.EmbedRoot;
 import org.apache.cayenne.testdo.embeddable.Embeddable1;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -44,7 +44,7 @@ import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 
 @UseCayenneRuntime(CayenneProjects.EMBEDDABLE_PROJECT)
-public class EmbeddingIT extends ServerCase {
+public class EmbeddingIT extends RuntimeCase {
     
     @Inject
     protected ObjectContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/EmbeddingSerializeIT.java b/cayenne/src/test/java/org/apache/cayenne/access/EmbeddingSerializeIT.java
index 6abfbb5cf..dc9f4252f 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/EmbeddingSerializeIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/EmbeddingSerializeIT.java
@@ -29,9 +29,9 @@ import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.embeddable.EmbedEntity1;
 import org.apache.cayenne.testdo.embeddable.Embeddable1;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.apache.cayenne.util.Util;
 import org.junit.Before;
 import org.junit.Test;
@@ -41,7 +41,7 @@ import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 
 @UseCayenneRuntime(CayenneProjects.EMBEDDABLE_PROJECT)
-public class EmbeddingSerializeIT extends ServerCase {
+public class EmbeddingSerializeIT extends RuntimeCase {
 
     @Inject
     protected ObjectContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/EntityInheritanceIT.java b/cayenne/src/test/java/org/apache/cayenne/access/EntityInheritanceIT.java
index 817c0dd79..e21d181f0 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/EntityInheritanceIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/EntityInheritanceIT.java
@@ -23,15 +23,15 @@ import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.testdo.inheritance.BaseEntity;
 import org.apache.cayenne.testdo.inheritance.RelatedEntity;
 import org.apache.cayenne.testdo.inheritance.SubEntity;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 import static org.junit.Assert.assertEquals;
 
 @UseCayenneRuntime(CayenneProjects.INHERITANCE_PROJECT)
-public class EntityInheritanceIT extends ServerCase {
+public class EntityInheritanceIT extends RuntimeCase {
 
     @Inject
     private DataContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/EnumIT.java b/cayenne/src/test/java/org/apache/cayenne/access/EnumIT.java
index 668dfb188..2330e2ff4 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/EnumIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/EnumIT.java
@@ -32,9 +32,9 @@ import org.apache.cayenne.testdo.enum_test.Enum1;
 import org.apache.cayenne.testdo.enum_test.EnumEntity;
 import org.apache.cayenne.testdo.enum_test.EnumEntity2;
 import org.apache.cayenne.testdo.enum_test.EnumEntity3;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 import static org.junit.Assert.assertEquals;
@@ -42,7 +42,7 @@ import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertSame;
 
 @UseCayenneRuntime(CayenneProjects.ENUM_PROJECT)
-public class EnumIT extends ServerCase {
+public class EnumIT extends RuntimeCase {
 
     @Inject
     private ObjectContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/FlattenedPrefetchIT.java b/cayenne/src/test/java/org/apache/cayenne/access/FlattenedPrefetchIT.java
index 844cf6d8c..9f9e43e56 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/FlattenedPrefetchIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/FlattenedPrefetchIT.java
@@ -34,9 +34,9 @@ import org.apache.cayenne.testdo.testmap.ArtGroup;
 import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.testdo.testmap.Painting;
 import org.apache.cayenne.unit.di.DataChannelInterceptor;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -46,7 +46,7 @@ import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class FlattenedPrefetchIT extends ServerCase {
+public class FlattenedPrefetchIT extends RuntimeCase {
 
     @Inject
     protected DataChannelInterceptor queryInterceptor;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/FlattenedRelationshipInContextIT.java b/cayenne/src/test/java/org/apache/cayenne/access/FlattenedRelationshipInContextIT.java
index fe8aeb0c5..74491e858 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/FlattenedRelationshipInContextIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/FlattenedRelationshipInContextIT.java
@@ -30,9 +30,9 @@ import org.apache.cayenne.reflect.ClassDescriptor;
 import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.relationships_flattened.FlattenedTest3;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -41,7 +41,7 @@ import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 
 @UseCayenneRuntime(CayenneProjects.RELATIONSHIPS_FLATTENED_PROJECT)
-public class FlattenedRelationshipInContextIT extends ServerCase {
+public class FlattenedRelationshipInContextIT extends RuntimeCase {
 
     @Inject
     protected DataContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/IdentityColumnsIT.java b/cayenne/src/test/java/org/apache/cayenne/access/IdentityColumnsIT.java
index b89317dbf..d4c1b595e 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/IdentityColumnsIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/IdentityColumnsIT.java
@@ -40,9 +40,9 @@ import org.apache.cayenne.testdo.generated.GeneratedColumnTestEntity;
 import org.apache.cayenne.testdo.generated.GeneratedF1;
 import org.apache.cayenne.testdo.generated.GeneratedF2;
 import org.apache.cayenne.testdo.generated.GeneratedReflexive;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -52,7 +52,7 @@ import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 
 @UseCayenneRuntime(CayenneProjects.GENERATED_PROJECT)
-public class IdentityColumnsIT extends ServerCase {
+public class IdentityColumnsIT extends RuntimeCase {
 
     @Inject
     protected ObjectContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/IncrementalFaultListIT.java b/cayenne/src/test/java/org/apache/cayenne/access/IncrementalFaultListIT.java
index 332bea053..9757eaba0 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/IncrementalFaultListIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/IncrementalFaultListIT.java
@@ -21,9 +21,9 @@ package org.apache.cayenne.access;
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.query.ObjectSelect;
 import org.apache.cayenne.testdo.testmap.Artist;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.apache.cayenne.util.Util;
 import org.junit.Test;
 
@@ -33,7 +33,7 @@ import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class IncrementalFaultListIT extends ServerCase {
+public class IncrementalFaultListIT extends RuntimeCase {
 
 	@Inject
 	protected DataContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/JointPrefetchIT.java b/cayenne/src/test/java/org/apache/cayenne/access/JointPrefetchIT.java
index 68eae3f84..f9c64a5e9 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/JointPrefetchIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/JointPrefetchIT.java
@@ -38,9 +38,9 @@ import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.testdo.testmap.Gallery;
 import org.apache.cayenne.testdo.testmap.Painting;
 import org.apache.cayenne.unit.di.DataChannelInterceptor;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -57,7 +57,7 @@ import static org.junit.Assert.*;
  * Tests joint prefetch handling by Cayenne access stack.
  */
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class JointPrefetchIT extends ServerCase {
+public class JointPrefetchIT extends RuntimeCase {
 
     @Inject
     protected DataContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/MiscTypesIT.java b/cayenne/src/test/java/org/apache/cayenne/access/MiscTypesIT.java
index 5ce015a35..f886629e5 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/MiscTypesIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/MiscTypesIT.java
@@ -28,9 +28,9 @@ import org.apache.cayenne.testdo.misc_types.ArraysEntity;
 import org.apache.cayenne.testdo.misc_types.CharacterEntity;
 import org.apache.cayenne.testdo.misc_types.SerializableEntity;
 import org.apache.cayenne.unit.UnitDbAdapter;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 import static org.junit.Assert.assertEquals;
@@ -38,7 +38,7 @@ import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.fail;
 
 @UseCayenneRuntime(CayenneProjects.MISC_TYPES_PROJECT)
-public class MiscTypesIT extends ServerCase {
+public class MiscTypesIT extends RuntimeCase {
 
     @Inject
     private ObjectContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/NestedDataContextLocalCacheIT.java b/cayenne/src/test/java/org/apache/cayenne/access/NestedDataContextLocalCacheIT.java
index 965127ae7..67801b692 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/NestedDataContextLocalCacheIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/NestedDataContextLocalCacheIT.java
@@ -27,16 +27,16 @@ import org.apache.cayenne.query.ObjectSelect;
 import org.apache.cayenne.query.QueryCacheStrategy;
 import org.apache.cayenne.runtime.CayenneRuntime;
 import org.apache.cayenne.testdo.testmap.Artist;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertSame;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class NestedDataContextLocalCacheIT extends ServerCase {
+public class NestedDataContextLocalCacheIT extends RuntimeCase {
 
     @Inject
     protected CayenneRuntime runtime;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/NestedDataContextParentEventsIT.java b/cayenne/src/test/java/org/apache/cayenne/access/NestedDataContextParentEventsIT.java
index a2309fc3a..6ff35fc47 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/NestedDataContextParentEventsIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/NestedDataContextParentEventsIT.java
@@ -20,15 +20,15 @@
 package org.apache.cayenne.access;
 
 import org.apache.cayenne.ObjectContext;
-import org.apache.cayenne.access.util.ServerCaseSyncModule;
+import org.apache.cayenne.access.util.RuntimeCaseSyncModule;
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.runtime.CayenneRuntime;
 import org.apache.cayenne.test.parallel.ParallelTestContainer;
 import org.apache.cayenne.testdo.testmap.Artist;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ExtraModules;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.ExtraModules;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 import static org.junit.Assert.assertEquals;
@@ -37,8 +37,8 @@ import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-@ExtraModules(ServerCaseSyncModule.class)
-public class NestedDataContextParentEventsIT extends ServerCase {
+@ExtraModules(RuntimeCaseSyncModule.class)
+public class NestedDataContextParentEventsIT extends RuntimeCase {
 
     @Inject
     protected CayenneRuntime runtime;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/NestedDataContextParentPeerEventsIT.java b/cayenne/src/test/java/org/apache/cayenne/access/NestedDataContextParentPeerEventsIT.java
index 709b2b774..bc58c93ad 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/NestedDataContextParentPeerEventsIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/NestedDataContextParentPeerEventsIT.java
@@ -20,16 +20,16 @@
 package org.apache.cayenne.access;
 
 import org.apache.cayenne.ObjectContext;
-import org.apache.cayenne.access.util.ServerCaseSyncModule;
+import org.apache.cayenne.access.util.RuntimeCaseSyncModule;
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.runtime.CayenneRuntime;
 import org.apache.cayenne.test.parallel.ParallelTestContainer;
 import org.apache.cayenne.testdo.relationships_child_master.Child;
 import org.apache.cayenne.testdo.relationships_child_master.Master;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ExtraModules;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.ExtraModules;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 import static org.junit.Assert.assertEquals;
@@ -39,8 +39,8 @@ import static org.junit.Assert.assertSame;
 import static org.junit.Assert.assertTrue;
 
 @UseCayenneRuntime(CayenneProjects.RELATIONSHIPS_CHILD_MASTER_PROJECT)
-@ExtraModules(ServerCaseSyncModule.class)
-public class NestedDataContextParentPeerEventsIT extends ServerCase {
+@ExtraModules(RuntimeCaseSyncModule.class)
+public class NestedDataContextParentPeerEventsIT extends RuntimeCase {
 
     @Inject
     private CayenneRuntime runtime;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/NestedDataContextPeerEventsIT.java b/cayenne/src/test/java/org/apache/cayenne/access/NestedDataContextPeerEventsIT.java
index a60149c1b..be610ad43 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/NestedDataContextPeerEventsIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/NestedDataContextPeerEventsIT.java
@@ -21,16 +21,16 @@ package org.apache.cayenne.access;
 
 import org.apache.cayenne.ObjectContext;
 import org.apache.cayenne.ObjectId;
-import org.apache.cayenne.access.util.ServerCaseSyncModule;
+import org.apache.cayenne.access.util.RuntimeCaseSyncModule;
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.runtime.CayenneRuntime;
 import org.apache.cayenne.test.parallel.ParallelTestContainer;
 import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.testdo.testmap.Painting;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ExtraModules;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.ExtraModules;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 import static org.junit.Assert.assertEquals;
@@ -39,8 +39,8 @@ import static org.junit.Assert.assertSame;
 import static org.junit.Assert.assertTrue;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-@ExtraModules(ServerCaseSyncModule.class)
-public class NestedDataContextPeerEventsIT extends ServerCase {
+@ExtraModules(RuntimeCaseSyncModule.class)
+public class NestedDataContextPeerEventsIT extends RuntimeCase {
 
 	@Inject
 	private DataContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/NestedDataContextReadIT.java b/cayenne/src/test/java/org/apache/cayenne/access/NestedDataContextReadIT.java
index 6336ffadc..32913426e 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/NestedDataContextReadIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/NestedDataContextReadIT.java
@@ -34,9 +34,9 @@ import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.testdo.testmap.Painting;
 import org.apache.cayenne.unit.di.DataChannelInterceptor;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -47,7 +47,7 @@ import java.util.List;
 import static org.junit.Assert.*;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class NestedDataContextReadIT extends ServerCase {
+public class NestedDataContextReadIT extends RuntimeCase {
 
     @Inject
     private CayenneRuntime runtime;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/NestedDataContextRollbackIT.java b/cayenne/src/test/java/org/apache/cayenne/access/NestedDataContextRollbackIT.java
index f39094d09..7fa675453 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/NestedDataContextRollbackIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/NestedDataContextRollbackIT.java
@@ -22,16 +22,16 @@ import org.apache.cayenne.ObjectContext;
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.runtime.CayenneRuntime;
 import org.apache.cayenne.testdo.testmap.Artist;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class NestedDataContextRollbackIT extends ServerCase {
+public class NestedDataContextRollbackIT extends RuntimeCase {
 
     @Inject
     protected CayenneRuntime runtime;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/NestedDataContextValidationIT.java b/cayenne/src/test/java/org/apache/cayenne/access/NestedDataContextValidationIT.java
index 8dc43aba9..14fbc682b 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/NestedDataContextValidationIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/NestedDataContextValidationIT.java
@@ -23,9 +23,9 @@ import org.apache.cayenne.ObjectContext;
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.runtime.CayenneRuntime;
 import org.apache.cayenne.testdo.testmap.Artist;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.apache.cayenne.validation.ValidationException;
 import org.junit.Test;
 
@@ -34,7 +34,7 @@ import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class NestedDataContextValidationIT extends ServerCase {
+public class NestedDataContextValidationIT extends RuntimeCase {
 
     @Inject
     protected CayenneRuntime runtime;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/NestedDataContextWriteIT.java b/cayenne/src/test/java/org/apache/cayenne/access/NestedDataContextWriteIT.java
index e0b4d289a..2dd3aaede 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/NestedDataContextWriteIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/NestedDataContextWriteIT.java
@@ -39,9 +39,9 @@ import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.testdo.testmap.Painting;
 import org.apache.cayenne.testdo.testmap.PaintingInfo;
 import org.apache.cayenne.unit.di.DataChannelInterceptor;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Ignore;
 import org.junit.Test;
@@ -49,7 +49,7 @@ import org.junit.Test;
 import static org.junit.Assert.*;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class NestedDataContextWriteIT extends ServerCase {
+public class NestedDataContextWriteIT extends RuntimeCase {
 
     @Inject
     private CayenneRuntime runtime;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/NestedDataContext_DeadlockIT.java b/cayenne/src/test/java/org/apache/cayenne/access/NestedDataContext_DeadlockIT.java
index 12b664bcd..3af559a64 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/NestedDataContext_DeadlockIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/NestedDataContext_DeadlockIT.java
@@ -29,16 +29,16 @@ import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.test.parallel.ParallelTestContainer;
 import org.apache.cayenne.testdo.testmap.Artist;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
 import static org.junit.Assert.assertFalse;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class NestedDataContext_DeadlockIT extends ServerCase {
+public class NestedDataContext_DeadlockIT extends RuntimeCase {
 
 	@Inject
 	private DataContext parent;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/NumericTypesIT.java b/cayenne/src/test/java/org/apache/cayenne/access/NumericTypesIT.java
index 0cd41cadb..af57c3772 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/NumericTypesIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/NumericTypesIT.java
@@ -42,9 +42,9 @@ import org.apache.cayenne.testdo.numeric_types.LongEntity;
 import org.apache.cayenne.testdo.numeric_types.SmallintTestEntity;
 import org.apache.cayenne.testdo.numeric_types.TinyintTestEntity;
 import org.apache.cayenne.unit.di.CommitStats;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -55,7 +55,7 @@ import static org.junit.Assert.*;
  *
  */
 @UseCayenneRuntime(CayenneProjects.NUMERIC_TYPES_PROJECT)
-public class NumericTypesIT extends ServerCase {
+public class NumericTypesIT extends RuntimeCase {
 
     @Inject
     protected DataContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/ObjectStoreDiffRetainingIT.java b/cayenne/src/test/java/org/apache/cayenne/access/ObjectStoreDiffRetainingIT.java
index 786456f6a..bbe0b0646 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/ObjectStoreDiffRetainingIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/ObjectStoreDiffRetainingIT.java
@@ -25,9 +25,9 @@ import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.testdo.testmap.Painting;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -37,7 +37,7 @@ import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertNull;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class ObjectStoreDiffRetainingIT extends ServerCase {
+public class ObjectStoreDiffRetainingIT extends RuntimeCase {
 
     @Inject
     protected DataContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/ObjectStoreGCIT.java b/cayenne/src/test/java/org/apache/cayenne/access/ObjectStoreGCIT.java
index ee11755d5..67d8019a9 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/ObjectStoreGCIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/ObjectStoreGCIT.java
@@ -24,15 +24,15 @@ import org.apache.cayenne.query.ObjectSelect;
 import org.apache.cayenne.query.SQLTemplate;
 import org.apache.cayenne.test.parallel.ParallelTestContainer;
 import org.apache.cayenne.testdo.testmap.Artist;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
-import org.apache.cayenne.unit.di.server.WeakReferenceStrategyServerCase;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.WeakReferenceStrategyRuntimeCase;
 import org.junit.Test;
 
 import static org.junit.Assert.assertEquals;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class ObjectStoreGCIT extends WeakReferenceStrategyServerCase {
+public class ObjectStoreGCIT extends WeakReferenceStrategyRuntimeCase {
 
     @Inject
     private DataContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/ObjectStoreIT.java b/cayenne/src/test/java/org/apache/cayenne/access/ObjectStoreIT.java
index 7a0561ac8..de747e8b4 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/ObjectStoreIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/ObjectStoreIT.java
@@ -28,9 +28,9 @@ import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.testdo.testmap.Gallery;
 import org.apache.cayenne.testdo.testmap.Painting;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 import java.util.Collections;
@@ -42,7 +42,7 @@ import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertSame;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class ObjectStoreIT extends ServerCase {
+public class ObjectStoreIT extends RuntimeCase {
 
     @Inject
     private DataContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/OptimisticLockingIT.java b/cayenne/src/test/java/org/apache/cayenne/access/OptimisticLockingIT.java
index 94016d099..ac4cfad40 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/OptimisticLockingIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/OptimisticLockingIT.java
@@ -31,9 +31,9 @@ import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.locking.RelLockingTestEntity;
 import org.apache.cayenne.testdo.locking.SimpleLockingTestEntity;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -43,7 +43,7 @@ import static org.junit.Assert.assertNull;
 import static org.junit.Assert.fail;
 
 @UseCayenneRuntime(CayenneProjects.LOCKING_PROJECT)
-public class OptimisticLockingIT extends ServerCase {
+public class OptimisticLockingIT extends RuntimeCase {
 
     @Inject
     protected DataContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/PrefetchProcessorTreeBuilderIT.java b/cayenne/src/test/java/org/apache/cayenne/access/PrefetchProcessorTreeBuilderIT.java
index 578e1e1b7..dd897a9dc 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/PrefetchProcessorTreeBuilderIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/PrefetchProcessorTreeBuilderIT.java
@@ -32,9 +32,9 @@ import org.apache.cayenne.reflect.ClassDescriptor;
 import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.testdo.testmap.Gallery;
 import org.apache.cayenne.testdo.testmap.Painting;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 import java.util.ArrayList;
@@ -49,7 +49,7 @@ import static org.junit.Assert.assertSame;
 import static org.junit.Assert.assertTrue;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class PrefetchProcessorTreeBuilderIT extends ServerCase {
+public class PrefetchProcessorTreeBuilderIT extends RuntimeCase {
 
     @Inject
     private DataContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/PrimitiveAttributesIT.java b/cayenne/src/test/java/org/apache/cayenne/access/PrimitiveAttributesIT.java
index 0e29d34de..b618d5a68 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/PrimitiveAttributesIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/PrimitiveAttributesIT.java
@@ -26,9 +26,9 @@ import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.primitive.PrimitivesTestEntity;
 import org.apache.cayenne.unit.UnitDbAdapter;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 import static org.junit.Assert.assertEquals;
@@ -36,7 +36,7 @@ import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 
 @UseCayenneRuntime(CayenneProjects.PRIMITIVE_PROJECT)
-public class PrimitiveAttributesIT extends ServerCase {
+public class PrimitiveAttributesIT extends RuntimeCase {
 
     @Inject
     private DataContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/QuotedIdentifiersIT.java b/cayenne/src/test/java/org/apache/cayenne/access/QuotedIdentifiersIT.java
index f6c64a592..6e040681e 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/QuotedIdentifiersIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/QuotedIdentifiersIT.java
@@ -31,9 +31,9 @@ import org.apache.cayenne.query.UpdateBatchQuery;
 import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.testdo.quotemap.QuoteAdress;
 import org.apache.cayenne.testdo.quotemap.Quote_Person;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -44,7 +44,7 @@ import java.util.List;
 import static org.junit.Assert.assertEquals;
 
 @UseCayenneRuntime(CayenneProjects.QUOTED_IDENTIFIERS_PROJECT)
-public class QuotedIdentifiersIT extends ServerCase {
+public class QuotedIdentifiersIT extends RuntimeCase {
 
     @Inject
     private ObjectContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/ReturnTypesMappingIT.java b/cayenne/src/test/java/org/apache/cayenne/access/ReturnTypesMappingIT.java
index bb33fab16..5abea822d 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/ReturnTypesMappingIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/ReturnTypesMappingIT.java
@@ -33,9 +33,9 @@ import org.apache.cayenne.testdo.return_types.ReturnTypesMap2;
 import org.apache.cayenne.testdo.return_types.ReturnTypesMapLobs1;
 import org.apache.cayenne.unit.PostgresUnitDbAdapter;
 import org.apache.cayenne.unit.UnitDbAdapter;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 import static org.junit.Assert.assertArrayEquals;
@@ -48,7 +48,7 @@ import static org.junit.Assume.assumeTrue;
  * Test Types mapping for selected columns
  */
 @UseCayenneRuntime(CayenneProjects.RETURN_TYPES_PROJECT)
-public class ReturnTypesMappingIT extends ServerCase {
+public class ReturnTypesMappingIT extends RuntimeCase {
 
     @Inject
     private DataContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/SimpleIdIncrementalFaultListDataRowsIT.java b/cayenne/src/test/java/org/apache/cayenne/access/SimpleIdIncrementalFaultListDataRowsIT.java
index 6c061cb36..99ab91340 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/SimpleIdIncrementalFaultListDataRowsIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/SimpleIdIncrementalFaultListDataRowsIT.java
@@ -25,9 +25,9 @@ import org.apache.cayenne.query.ObjectSelect;
 import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.testmap.Artist;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -42,7 +42,7 @@ import static org.junit.Assert.assertTrue;
  * Tests IncrementalFaultList behavior when fetching data rows.
  */
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class SimpleIdIncrementalFaultListDataRowsIT extends ServerCase {
+public class SimpleIdIncrementalFaultListDataRowsIT extends RuntimeCase {
 
     @Inject
     private DataContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/SimpleIdIncrementalFaultListIT.java b/cayenne/src/test/java/org/apache/cayenne/access/SimpleIdIncrementalFaultListIT.java
index 47d8f6fd1..d29600914 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/SimpleIdIncrementalFaultListIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/SimpleIdIncrementalFaultListIT.java
@@ -29,16 +29,16 @@ import org.apache.cayenne.query.ObjectSelect;
 import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.testmap.Artist;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
 import static org.junit.Assert.*;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class SimpleIdIncrementalFaultListIT extends ServerCase {
+public class SimpleIdIncrementalFaultListIT extends RuntimeCase {
 
     @Inject
     private DataContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/SimpleIdIncrementalFaultListPrefetchIT.java b/cayenne/src/test/java/org/apache/cayenne/access/SimpleIdIncrementalFaultListPrefetchIT.java
index 924ebb68e..ece9cf9ad 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/SimpleIdIncrementalFaultListPrefetchIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/SimpleIdIncrementalFaultListPrefetchIT.java
@@ -33,9 +33,9 @@ import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.testdo.testmap.Painting;
 import org.apache.cayenne.unit.di.DataChannelInterceptor;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -45,7 +45,7 @@ import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class SimpleIdIncrementalFaultListPrefetchIT extends ServerCase {
+public class SimpleIdIncrementalFaultListPrefetchIT extends RuntimeCase {
 
     @Inject
     protected ObjectContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/SingleTableInheritance1IT.java b/cayenne/src/test/java/org/apache/cayenne/access/SingleTableInheritance1IT.java
index 077a6cbcd..ddd9eb727 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/SingleTableInheritance1IT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/SingleTableInheritance1IT.java
@@ -24,9 +24,9 @@ import org.apache.cayenne.query.ObjectSelect;
 import org.apache.cayenne.testdo.inheritance_flat.Group;
 import org.apache.cayenne.testdo.inheritance_flat.Role;
 import org.apache.cayenne.testdo.inheritance_flat.User;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 import static org.junit.Assert.assertTrue;
@@ -35,7 +35,7 @@ import static org.junit.Assert.assertTrue;
  * Special test cases per CAY-1378, CAY-1379.
  */
 @UseCayenneRuntime(CayenneProjects.INHERITANCE_SINGLE_TABLE1_PROJECT)
-public class SingleTableInheritance1IT extends ServerCase {
+public class SingleTableInheritance1IT extends RuntimeCase {
 
     @Inject
     private ObjectContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/SingleTableInheritanceIT.java b/cayenne/src/test/java/org/apache/cayenne/access/SingleTableInheritanceIT.java
index fad3f2453..d96730c87 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/SingleTableInheritanceIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/SingleTableInheritanceIT.java
@@ -38,7 +38,7 @@ import org.apache.cayenne.testdo.inheritance_people.Employee;
 import org.apache.cayenne.testdo.inheritance_people.Manager;
 import org.apache.cayenne.testdo.inheritance_people.PersonNotes;
 import org.apache.cayenne.unit.di.DataChannelInterceptor;
-import org.apache.cayenne.unit.di.server.PeopleProjectCase;
+import org.apache.cayenne.unit.di.runtime.PeopleProjectCase;
 import org.junit.Before;
 import org.junit.Test;
 
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/ToManyListIT.java b/cayenne/src/test/java/org/apache/cayenne/access/ToManyListIT.java
index 1a54b9c3a..7d04a9627 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/ToManyListIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/ToManyListIT.java
@@ -23,9 +23,9 @@ import org.apache.cayenne.PersistenceState;
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.testdo.testmap.Painting;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.apache.cayenne.util.PersistentObjectList;
 import org.junit.Test;
 
@@ -38,7 +38,7 @@ import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class ToManyListIT extends ServerCase {
+public class ToManyListIT extends RuntimeCase {
 
     @Inject
     private DataContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/UUIDIT.java b/cayenne/src/test/java/org/apache/cayenne/access/UUIDIT.java
index 0b0c09e18..987134875 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/UUIDIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/UUIDIT.java
@@ -30,9 +30,9 @@ import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.uuid.UuidPkEntity;
 import org.apache.cayenne.testdo.uuid.UuidTestEntity;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -40,7 +40,7 @@ import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 
 @UseCayenneRuntime(CayenneProjects.UUID_PROJECT)
-public class UUIDIT extends ServerCase {
+public class UUIDIT extends RuntimeCase {
 
     @Inject
     private ObjectContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/VerticalInheritanceIT.java b/cayenne/src/test/java/org/apache/cayenne/access/VerticalInheritanceIT.java
index de9b27390..4cfb69a00 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/VerticalInheritanceIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/VerticalInheritanceIT.java
@@ -29,9 +29,9 @@ import org.apache.cayenne.runtime.CayenneRuntime;
 import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.inheritance_vertical.*;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 import java.sql.SQLException;
@@ -44,7 +44,7 @@ import java.util.Map;
 import static org.junit.Assert.*;
 
 @UseCayenneRuntime(CayenneProjects.INHERITANCE_VERTICAL_PROJECT)
-public class VerticalInheritanceIT extends ServerCase {
+public class VerticalInheritanceIT extends RuntimeCase {
 
 	@Inject
 	protected ObjectContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/VerticalInheritanceMultipleAttributesIT.java b/cayenne/src/test/java/org/apache/cayenne/access/VerticalInheritanceMultipleAttributesIT.java
index 93457bf91..4f05cd34f 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/VerticalInheritanceMultipleAttributesIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/VerticalInheritanceMultipleAttributesIT.java
@@ -31,9 +31,9 @@ import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.inheritance_vertical.IvImpl;
 import org.apache.cayenne.testdo.inheritance_vertical.IvOther;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -45,7 +45,7 @@ import static org.junit.Assert.assertTrue;
  * @since 4.1
  */
 @UseCayenneRuntime(CayenneProjects.INHERITANCE_VERTICAL_PROJECT)
-public class VerticalInheritanceMultipleAttributesIT extends ServerCase {
+public class VerticalInheritanceMultipleAttributesIT extends RuntimeCase {
 
     @Inject
     protected ObjectContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/dbsync/SchemaUpdateStrategyBase.java b/cayenne/src/test/java/org/apache/cayenne/access/dbsync/SchemaUpdateStrategyBase.java
index 5e802db98..9c86be774 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/dbsync/SchemaUpdateStrategyBase.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/dbsync/SchemaUpdateStrategyBase.java
@@ -25,7 +25,7 @@ import org.apache.cayenne.dba.DbAdapter;
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.map.DataMap;
 import org.apache.cayenne.query.SQLTemplate;
-import org.apache.cayenne.unit.di.server.ServerCase;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
 
 import java.sql.Connection;
 import java.sql.ResultSet;
@@ -36,7 +36,7 @@ import java.util.HashMap;
 import java.util.Map;
 import java.util.Map.Entry;
 
-public class SchemaUpdateStrategyBase extends ServerCase {
+public class SchemaUpdateStrategyBase extends RuntimeCase {
 
 	@Inject
 	protected ObjectContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/dbsync/SchemaUpdateStrategyIT.java b/cayenne/src/test/java/org/apache/cayenne/access/dbsync/SchemaUpdateStrategyIT.java
index dfac423d2..d5a6f7e83 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/dbsync/SchemaUpdateStrategyIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/dbsync/SchemaUpdateStrategyIT.java
@@ -22,8 +22,8 @@ import org.apache.cayenne.access.MockOperationObserver;
 import org.apache.cayenne.access.OperationObserver;
 import org.apache.cayenne.query.Query;
 import org.apache.cayenne.query.SQLTemplate;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 import java.util.Collections;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/dbsync/ThrowOnPartialOrCreateSchemaStrategyIT.java b/cayenne/src/test/java/org/apache/cayenne/access/dbsync/ThrowOnPartialOrCreateSchemaStrategyIT.java
index 8723f8ce8..e07f7ef26 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/dbsync/ThrowOnPartialOrCreateSchemaStrategyIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/dbsync/ThrowOnPartialOrCreateSchemaStrategyIT.java
@@ -21,8 +21,8 @@ package org.apache.cayenne.access.dbsync;
 import org.apache.cayenne.CayenneRuntimeException;
 import org.apache.cayenne.access.OperationObserver;
 import org.apache.cayenne.query.SQLTemplate;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 import java.util.Collections;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/dbsync/ThrowOnPartialSchemaStrategyIT.java b/cayenne/src/test/java/org/apache/cayenne/access/dbsync/ThrowOnPartialSchemaStrategyIT.java
index df9dc81a9..89848ef99 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/dbsync/ThrowOnPartialSchemaStrategyIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/dbsync/ThrowOnPartialSchemaStrategyIT.java
@@ -22,8 +22,8 @@ import org.apache.cayenne.CayenneRuntimeException;
 import org.apache.cayenne.access.MockOperationObserver;
 import org.apache.cayenne.query.Query;
 import org.apache.cayenne.query.SQLTemplate;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 import java.util.Collections;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/jdbc/BatchActionGeneratedIT.java b/cayenne/src/test/java/org/apache/cayenne/access/jdbc/BatchActionGeneratedIT.java
index d73c41934..637d071ac 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/jdbc/BatchActionGeneratedIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/jdbc/BatchActionGeneratedIT.java
@@ -28,9 +28,9 @@ import org.apache.cayenne.map.EntityResolver;
 import org.apache.cayenne.query.InsertBatchQuery;
 import org.apache.cayenne.runtime.CayenneRuntime;
 import org.apache.cayenne.testdo.generated.GeneratedColumnTestEntity;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 import static org.junit.Assert.assertFalse;
@@ -38,7 +38,7 @@ import static org.junit.Assert.assertTrue;
 import static org.mockito.Mockito.mock;
 
 @UseCayenneRuntime(CayenneProjects.GENERATED_PROJECT)
-public class BatchActionGeneratedIT extends ServerCase {
+public class BatchActionGeneratedIT extends RuntimeCase {
 
     @Inject
     private CayenneRuntime runtime;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/jdbc/BatchActionIT.java b/cayenne/src/test/java/org/apache/cayenne/access/jdbc/BatchActionIT.java
index 3aa90e2b0..c9d00e624 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/jdbc/BatchActionIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/jdbc/BatchActionIT.java
@@ -28,16 +28,16 @@ import org.apache.cayenne.map.EntityResolver;
 import org.apache.cayenne.query.InsertBatchQuery;
 import org.apache.cayenne.runtime.CayenneRuntime;
 import org.apache.cayenne.testdo.testmap.Artist;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 import static org.junit.Assert.assertFalse;
 import static org.mockito.Mockito.mock;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class BatchActionIT extends ServerCase {
+public class BatchActionIT extends RuntimeCase {
 
     @Inject
     private CayenneRuntime runtime;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/jdbc/BatchActionLockingIT.java b/cayenne/src/test/java/org/apache/cayenne/access/jdbc/BatchActionLockingIT.java
index ada214533..010779926 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/jdbc/BatchActionLockingIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/jdbc/BatchActionLockingIT.java
@@ -36,9 +36,9 @@ import org.apache.cayenne.map.EntityResolver;
 import org.apache.cayenne.query.DeleteBatchQuery;
 import org.apache.cayenne.runtime.CayenneRuntime;
 import org.apache.cayenne.testdo.locking.SimpleLockingTestEntity;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 import java.util.Arrays;
@@ -53,7 +53,7 @@ import static org.junit.Assert.fail;
 import static org.mockito.Mockito.mock;
 
 @UseCayenneRuntime(CayenneProjects.LOCKING_PROJECT)
-public class BatchActionLockingIT extends ServerCase {
+public class BatchActionLockingIT extends RuntimeCase {
 
 	@Inject
 	protected CayenneRuntime runtime;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/jdbc/SQLTemplateActionIT.java b/cayenne/src/test/java/org/apache/cayenne/access/jdbc/SQLTemplateActionIT.java
index 3cb607700..1dc3b91f4 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/jdbc/SQLTemplateActionIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/jdbc/SQLTemplateActionIT.java
@@ -46,20 +46,20 @@ import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.unit.UnitDbAdapter;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.ServerCaseDataSourceFactory;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.RuntimeCaseDataSourceFactory;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.apache.cayenne.unit.util.SQLTemplateCustomizer;
 import org.junit.Before;
 import org.junit.Test;
 
 @SuppressWarnings("deprecation")
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class SQLTemplateActionIT extends ServerCase {
+public class SQLTemplateActionIT extends RuntimeCase {
 
 	@Inject
-	protected ServerCaseDataSourceFactory dataSourceFactory;
+	protected RuntimeCaseDataSourceFactory dataSourceFactory;
 
 	@Inject
 	protected DataNode node;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/jdbc/SelectActionIT.java b/cayenne/src/test/java/org/apache/cayenne/access/jdbc/SelectActionIT.java
index b4824d646..6aaa5b56e 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/jdbc/SelectActionIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/jdbc/SelectActionIT.java
@@ -21,21 +21,24 @@ package org.apache.cayenne.access.jdbc;
 import java.util.List;
 
 import org.apache.cayenne.access.DataContext;
+import org.apache.cayenne.access.DataContextSharedCacheEmpiricIT;
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.query.ObjectSelect;
 import org.apache.cayenne.testdo.lob.ClobTestEntity;
 import org.apache.cayenne.testdo.lob.ClobTestRelation;
 import org.apache.cayenne.unit.UnitDbAdapter;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCaseContextsSync;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.ExtraModules;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 
 @UseCayenneRuntime(CayenneProjects.LOB_PROJECT)
-public class SelectActionIT extends ServerCaseContextsSync {
+@ExtraModules(DataContextSharedCacheEmpiricIT.SyncContextsModule.class)
+public class SelectActionIT extends RuntimeCase {
 
     @Inject
     private DataContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/jdbc/SelectActionWithUnsupportedDistinctTypesIT.java b/cayenne/src/test/java/org/apache/cayenne/access/jdbc/SelectActionWithUnsupportedDistinctTypesIT.java
index efedf0ea8..1a2395857 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/jdbc/SelectActionWithUnsupportedDistinctTypesIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/jdbc/SelectActionWithUnsupportedDistinctTypesIT.java
@@ -26,9 +26,9 @@ import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.unsupported_distinct_types.Customer;
 import org.apache.cayenne.testdo.unsupported_distinct_types.Product;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -42,7 +42,7 @@ import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 
 @UseCayenneRuntime(CayenneProjects.UNSUPPORTED_DISTINCT_TYPES_PROJECT)
-public class SelectActionWithUnsupportedDistinctTypesIT extends ServerCase {
+public class SelectActionWithUnsupportedDistinctTypesIT extends RuntimeCase {
 
     @Inject
     protected DataContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/translator/batch/DeleteBatchTranslatorIT.java b/cayenne/src/test/java/org/apache/cayenne/access/translator/batch/DeleteBatchTranslatorIT.java
index 9738355b9..33229409c 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/translator/batch/DeleteBatchTranslatorIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/translator/batch/DeleteBatchTranslatorIT.java
@@ -34,9 +34,9 @@ import org.apache.cayenne.query.DeleteBatchQuery;
 import org.apache.cayenne.runtime.CayenneRuntime;
 import org.apache.cayenne.testdo.locking.SimpleLockingTestEntity;
 import org.apache.cayenne.unit.UnitDbAdapter;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 import static org.junit.Assert.assertEquals;
@@ -45,7 +45,7 @@ import static org.junit.Assert.assertSame;
 import static org.mockito.Mockito.mock;
 
 @UseCayenneRuntime(CayenneProjects.LOCKING_PROJECT)
-public class DeleteBatchTranslatorIT extends ServerCase {
+public class DeleteBatchTranslatorIT extends RuntimeCase {
 
     @Inject
     private CayenneRuntime runtime;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/translator/batch/InsertBatchTranslatorIT.java b/cayenne/src/test/java/org/apache/cayenne/access/translator/batch/InsertBatchTranslatorIT.java
index 0ce5c59d6..b5a615918 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/translator/batch/InsertBatchTranslatorIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/translator/batch/InsertBatchTranslatorIT.java
@@ -27,9 +27,9 @@ import org.apache.cayenne.query.InsertBatchQuery;
 import org.apache.cayenne.runtime.CayenneRuntime;
 import org.apache.cayenne.testdo.locking.SimpleLockingTestEntity;
 import org.apache.cayenne.unit.UnitDbAdapter;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 import static org.junit.Assert.assertEquals;
@@ -38,7 +38,7 @@ import static org.junit.Assert.assertSame;
 import static org.mockito.Mockito.mock;
 
 @UseCayenneRuntime(CayenneProjects.LOCKING_PROJECT)
-public class InsertBatchTranslatorIT extends ServerCase {
+public class InsertBatchTranslatorIT extends RuntimeCase {
 
     @Inject
     private CayenneRuntime runtime;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/translator/batch/SoftDeleteBatchTranslatorIT.java b/cayenne/src/test/java/org/apache/cayenne/access/translator/batch/SoftDeleteBatchTranslatorIT.java
index d1d7084fd..26fb64d8d 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/translator/batch/SoftDeleteBatchTranslatorIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/translator/batch/SoftDeleteBatchTranslatorIT.java
@@ -40,16 +40,16 @@ import org.apache.cayenne.query.SQLTemplate;
 import org.apache.cayenne.test.parallel.ParallelTestContainer;
 import org.apache.cayenne.testdo.soft_delete.SoftDelete;
 import org.apache.cayenne.unit.UnitDbAdapter;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 
 @UseCayenneRuntime(CayenneProjects.SOFT_DELETE_PROJECT)
-public class SoftDeleteBatchTranslatorIT extends ServerCase {
+public class SoftDeleteBatchTranslatorIT extends RuntimeCase {
 
     @Inject
     private ObjectContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/translator/batch/UpdateBatchTranslatorIT.java b/cayenne/src/test/java/org/apache/cayenne/access/translator/batch/UpdateBatchTranslatorIT.java
index 54661d8fc..5858793a7 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/translator/batch/UpdateBatchTranslatorIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/translator/batch/UpdateBatchTranslatorIT.java
@@ -34,9 +34,9 @@ import org.apache.cayenne.query.UpdateBatchQuery;
 import org.apache.cayenne.runtime.CayenneRuntime;
 import org.apache.cayenne.testdo.locking.SimpleLockingTestEntity;
 import org.apache.cayenne.unit.UnitDbAdapter;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 import static org.junit.Assert.assertEquals;
@@ -45,7 +45,7 @@ import static org.junit.Assert.assertSame;
 import static org.mockito.Mockito.mock;
 
 @UseCayenneRuntime(CayenneProjects.LOCKING_PROJECT)
-public class UpdateBatchTranslatorIT extends ServerCase {
+public class UpdateBatchTranslatorIT extends RuntimeCase {
 
     @Inject
     private CayenneRuntime runtime;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/translator/batch/legacy/DefaultBatchTranslatorIT.java b/cayenne/src/test/java/org/apache/cayenne/access/translator/batch/legacy/DefaultBatchTranslatorIT.java
index 6b55d0985..868912bef 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/translator/batch/legacy/DefaultBatchTranslatorIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/translator/batch/legacy/DefaultBatchTranslatorIT.java
@@ -28,9 +28,9 @@ import org.apache.cayenne.map.DbAttribute;
 import org.apache.cayenne.map.DbEntity;
 import org.apache.cayenne.query.BatchQuery;
 import org.apache.cayenne.query.BatchQueryRow;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 import java.sql.Types;
@@ -41,7 +41,7 @@ import static org.mockito.Mockito.mock;
 
 @Deprecated
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class DefaultBatchTranslatorIT extends ServerCase {
+public class DefaultBatchTranslatorIT extends RuntimeCase {
 
     @Inject
     private AdhocObjectFactory objectFactory;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/translator/ejbql/EJBQLSelectTranslatorIT.java b/cayenne/src/test/java/org/apache/cayenne/access/translator/ejbql/EJBQLSelectTranslatorIT.java
index e117c1aa3..9412e6ae0 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/translator/ejbql/EJBQLSelectTranslatorIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/translator/ejbql/EJBQLSelectTranslatorIT.java
@@ -26,9 +26,9 @@ import org.apache.cayenne.ejbql.EJBQLParserFactory;
 import org.apache.cayenne.query.EJBQLQuery;
 import org.apache.cayenne.query.SQLTemplate;
 import org.apache.cayenne.runtime.CayenneRuntime;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 import java.util.Collections;
@@ -39,7 +39,7 @@ import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class EJBQLSelectTranslatorIT extends ServerCase {
+public class EJBQLSelectTranslatorIT extends RuntimeCase {
 
     @Inject
     private CayenneRuntime runtime;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/translator/select/DefaultObjectSelectTranslatorIT.java b/cayenne/src/test/java/org/apache/cayenne/access/translator/select/DefaultObjectSelectTranslatorIT.java
index d590e599c..72d1c5368 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/translator/select/DefaultObjectSelectTranslatorIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/translator/select/DefaultObjectSelectTranslatorIT.java
@@ -25,9 +25,9 @@ import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.query.ObjectSelect;
 import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.testdo.testmap.Painting;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 import static org.junit.Assert.*;
@@ -36,7 +36,7 @@ import static org.junit.Assert.*;
  * @since 4.2
  */
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class DefaultObjectSelectTranslatorIT extends ServerCase {
+public class DefaultObjectSelectTranslatorIT extends RuntimeCase {
 
     @Inject
     DataContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/translator/select/DefaultSelectTranslatorIT.java b/cayenne/src/test/java/org/apache/cayenne/access/translator/select/DefaultSelectTranslatorIT.java
index edbac1a13..5c11dc80d 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/translator/select/DefaultSelectTranslatorIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/translator/select/DefaultSelectTranslatorIT.java
@@ -40,9 +40,9 @@ import org.apache.cayenne.testdo.testmap.Exhibit;
 import org.apache.cayenne.testdo.testmap.Gallery;
 import org.apache.cayenne.testdo.testmap.Painting;
 import org.apache.cayenne.unit.UnitDbAdapter;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 import java.util.ArrayList;
@@ -54,7 +54,7 @@ import java.util.List;
 import static org.junit.Assert.*;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class DefaultSelectTranslatorIT extends ServerCase {
+public class DefaultSelectTranslatorIT extends RuntimeCase {
 
 	@Inject
 	private DataContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/translator/select/DescriptorColumnExtractorIT.java b/cayenne/src/test/java/org/apache/cayenne/access/translator/select/DescriptorColumnExtractorIT.java
index be1242431..c5c6d213c 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/translator/select/DescriptorColumnExtractorIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/translator/select/DescriptorColumnExtractorIT.java
@@ -25,9 +25,9 @@ import org.apache.cayenne.map.EntityResolver;
 import org.apache.cayenne.query.ObjectSelect;
 import org.apache.cayenne.reflect.ClassDescriptor;
 import org.apache.cayenne.testdo.testmap.CompoundPaintingLongNames;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 import org.mockito.Mockito;
 
@@ -37,7 +37,7 @@ import java.util.stream.Collectors;
 import static org.junit.Assert.assertEquals;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class DescriptorColumnExtractorIT extends ServerCase {
+public class DescriptorColumnExtractorIT extends RuntimeCase {
     @Inject
     private ObjectContext context;
 
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/translator/select/ObjPathProcessorIT.java b/cayenne/src/test/java/org/apache/cayenne/access/translator/select/ObjPathProcessorIT.java
index d584964db..d5b1363e8 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/translator/select/ObjPathProcessorIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/translator/select/ObjPathProcessorIT.java
@@ -24,9 +24,9 @@ import org.apache.cayenne.dba.DbAdapter;
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.map.ObjEntity;
 import org.apache.cayenne.query.ObjectSelect;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 import org.mockito.Mockito;
@@ -37,7 +37,7 @@ import static org.junit.Assert.*;
  * @since 4.2
  */
 @UseCayenneRuntime(CayenneProjects.INHERITANCE_VERTICAL_PROJECT)
-public class ObjPathProcessorIT extends ServerCase {
+public class ObjPathProcessorIT extends RuntimeCase {
 
     @Inject
     protected ObjectContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/translator/select/ObjPathProcessorIT2.java b/cayenne/src/test/java/org/apache/cayenne/access/translator/select/ObjPathProcessorIT2.java
index 9d2f2e959..d4171ad57 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/translator/select/ObjPathProcessorIT2.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/translator/select/ObjPathProcessorIT2.java
@@ -24,9 +24,9 @@ import org.apache.cayenne.dba.DbAdapter;
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.map.ObjEntity;
 import org.apache.cayenne.query.ObjectSelect;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 import org.mockito.Mockito;
@@ -37,7 +37,7 @@ import static org.junit.Assert.assertEquals;
  * @since 4.2
  */
 @UseCayenneRuntime(CayenneProjects.COMPOUND_PROJECT)
-public class ObjPathProcessorIT2 extends ServerCase {
+public class ObjPathProcessorIT2 extends RuntimeCase {
 
     @Inject
     protected ObjectContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/translator/select/ObjPathProcessorIT3.java b/cayenne/src/test/java/org/apache/cayenne/access/translator/select/ObjPathProcessorIT3.java
index 2d84df4f2..22e664ff3 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/translator/select/ObjPathProcessorIT3.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/translator/select/ObjPathProcessorIT3.java
@@ -24,9 +24,9 @@ import org.apache.cayenne.dba.DbAdapter;
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.map.ObjEntity;
 import org.apache.cayenne.query.ObjectSelect;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 import org.mockito.Mockito;
@@ -37,7 +37,7 @@ import static org.junit.Assert.assertEquals;
  * @since 4.2
  */
 @UseCayenneRuntime(CayenneProjects.RELATIONSHIPS_FLATTENED_PROJECT)
-public class ObjPathProcessorIT3 extends ServerCase {
+public class ObjPathProcessorIT3 extends RuntimeCase {
 
     @Inject
     protected ObjectContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/translator/select/ObjPathProcessorIT4.java b/cayenne/src/test/java/org/apache/cayenne/access/translator/select/ObjPathProcessorIT4.java
index 0eb45fb4e..d35c053ed 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/translator/select/ObjPathProcessorIT4.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/translator/select/ObjPathProcessorIT4.java
@@ -24,9 +24,9 @@ import org.apache.cayenne.dba.DbAdapter;
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.map.ObjEntity;
 import org.apache.cayenne.query.ObjectSelect;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 import org.mockito.Mockito;
@@ -37,7 +37,7 @@ import static org.junit.Assert.assertEquals;
  * @since 4.2
  */
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class ObjPathProcessorIT4 extends ServerCase {
+public class ObjPathProcessorIT4 extends RuntimeCase {
 
     @Inject
     protected ObjectContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/translator/select/QualifierTranslatorIT.java b/cayenne/src/test/java/org/apache/cayenne/access/translator/select/QualifierTranslatorIT.java
index a7b86d7a3..8c10a4aca 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/translator/select/QualifierTranslatorIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/translator/select/QualifierTranslatorIT.java
@@ -30,9 +30,9 @@ import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.compound.CompoundFkTestEntity;
 import org.apache.cayenne.testdo.compound.CompoundPkTestEntity;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -40,7 +40,7 @@ import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 
 @UseCayenneRuntime(CayenneProjects.COMPOUND_PROJECT)
-public class QualifierTranslatorIT extends ServerCase {
+public class QualifierTranslatorIT extends RuntimeCase {
 
     @Inject
     private CayenneRuntime runtime;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/types/Java8TimeIT.java b/cayenne/src/test/java/org/apache/cayenne/access/types/Java8TimeIT.java
index 207a73612..bfa7e735f 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/types/Java8TimeIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/types/Java8TimeIT.java
@@ -36,9 +36,9 @@ import org.apache.cayenne.testdo.java8.LocalDateTestEntity;
 import org.apache.cayenne.testdo.java8.LocalDateTimeTestEntity;
 import org.apache.cayenne.testdo.java8.LocalTimeTestEntity;
 import org.apache.cayenne.testdo.java8.PeriodTestEntity;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -47,7 +47,7 @@ import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertNull;
 
 @UseCayenneRuntime(CayenneProjects.JAVA8)
-public class Java8TimeIT extends ServerCase {
+public class Java8TimeIT extends RuntimeCase {
 
 	@Inject
 	private DataContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/util/DefaultOperationObserverIT.java b/cayenne/src/test/java/org/apache/cayenne/access/util/DefaultOperationObserverIT.java
index ae9829f29..345f172c6 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/util/DefaultOperationObserverIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/util/DefaultOperationObserverIT.java
@@ -21,16 +21,16 @@ package org.apache.cayenne.access.util;
 
 import org.apache.cayenne.query.ObjectSelect;
 import org.apache.cayenne.testdo.testmap.Artist;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class DefaultOperationObserverIT extends ServerCase {
+public class DefaultOperationObserverIT extends RuntimeCase {
 
     @Test
     public void testHasExceptions1() {
diff --git a/cayenne/src/test/java/org/apache/cayenne/access/util/ServerCaseSyncModule.java b/cayenne/src/test/java/org/apache/cayenne/access/util/RuntimeCaseSyncModule.java
similarity index 95%
rename from cayenne/src/test/java/org/apache/cayenne/access/util/ServerCaseSyncModule.java
rename to cayenne/src/test/java/org/apache/cayenne/access/util/RuntimeCaseSyncModule.java
index 2f455e8e7..a2871bf72 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/util/ServerCaseSyncModule.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/util/RuntimeCaseSyncModule.java
@@ -22,7 +22,7 @@ import org.apache.cayenne.configuration.runtime.CoreModule;
 import org.apache.cayenne.di.Binder;
 import org.apache.cayenne.di.Module;
 
-public class ServerCaseSyncModule implements Module {
+public class RuntimeCaseSyncModule implements Module {
     @Override
     public void configure(Binder binder) {
         CoreModule.extend(binder).syncContexts();
diff --git a/cayenne/src/test/java/org/apache/cayenne/ashwood/AshwoodEntitySorterIT.java b/cayenne/src/test/java/org/apache/cayenne/ashwood/AshwoodEntitySorterIT.java
index 2a5e06b04..064f0c621 100644
--- a/cayenne/src/test/java/org/apache/cayenne/ashwood/AshwoodEntitySorterIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/ashwood/AshwoodEntitySorterIT.java
@@ -28,14 +28,14 @@ import org.apache.cayenne.ObjectContext;
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.map.DbEntity;
 import org.apache.cayenne.map.EntityResolver;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class AshwoodEntitySorterIT extends ServerCase {
+public class AshwoodEntitySorterIT extends RuntimeCase {
 
 	@Inject
 	protected ObjectContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/ashwood/AshwoodEntitySorter_InheritanceIT.java b/cayenne/src/test/java/org/apache/cayenne/ashwood/AshwoodEntitySorter_InheritanceIT.java
index a475db3cd..e320adf53 100644
--- a/cayenne/src/test/java/org/apache/cayenne/ashwood/AshwoodEntitySorter_InheritanceIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/ashwood/AshwoodEntitySorter_InheritanceIT.java
@@ -22,9 +22,9 @@ import org.apache.cayenne.ObjectContext;
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.map.DbEntity;
 import org.apache.cayenne.map.EntityResolver;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.PeopleProjectCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.PeopleProjectCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
diff --git a/cayenne/src/test/java/org/apache/cayenne/ashwood/AshwoodEntitySorter_RelationshipsIT.java b/cayenne/src/test/java/org/apache/cayenne/ashwood/AshwoodEntitySorter_RelationshipsIT.java
index 5dd72ebc5..05c980e6a 100644
--- a/cayenne/src/test/java/org/apache/cayenne/ashwood/AshwoodEntitySorter_RelationshipsIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/ashwood/AshwoodEntitySorter_RelationshipsIT.java
@@ -32,14 +32,14 @@ import org.apache.cayenne.query.ObjectSelect;
 import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.relationships.ReflexiveAndToOne;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
 @UseCayenneRuntime(CayenneProjects.RELATIONSHIPS_PROJECT)
-public class AshwoodEntitySorter_RelationshipsIT extends ServerCase {
+public class AshwoodEntitySorter_RelationshipsIT extends RuntimeCase {
 
 	@Inject
 	protected DBHelper dbHelper;
diff --git a/cayenne/src/test/java/org/apache/cayenne/ashwood/WeightedAshwoodEntitySorterIT.java b/cayenne/src/test/java/org/apache/cayenne/ashwood/WeightedAshwoodEntitySorterIT.java
index 3b0aca0ca..292848301 100644
--- a/cayenne/src/test/java/org/apache/cayenne/ashwood/WeightedAshwoodEntitySorterIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/ashwood/WeightedAshwoodEntitySorterIT.java
@@ -25,16 +25,16 @@ import org.apache.cayenne.ObjectContext;
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.map.DbEntity;
 import org.apache.cayenne.map.EntityResolver;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
 import static org.junit.Assert.assertEquals;
 
 @UseCayenneRuntime(CayenneProjects.WEIGHTED_SORT_PROJECT)
-public class WeightedAshwoodEntitySorterIT extends ServerCase {
+public class WeightedAshwoodEntitySorterIT extends RuntimeCase {
 
     @Inject
     protected ObjectContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/cache/QueryCacheIT.java b/cayenne/src/test/java/org/apache/cayenne/cache/QueryCacheIT.java
index 00c12985c..fadaf4386 100644
--- a/cayenne/src/test/java/org/apache/cayenne/cache/QueryCacheIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/cache/QueryCacheIT.java
@@ -22,9 +22,9 @@ import org.apache.cayenne.ObjectContext;
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.query.ObjectSelect;
 import org.apache.cayenne.testdo.testmap.Artist;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 import java.util.List;
@@ -33,7 +33,7 @@ import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotSame;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class QueryCacheIT extends ServerCase {
+public class QueryCacheIT extends RuntimeCase {
 
     @Inject
     private ObjectContext context1;
diff --git a/cayenne/src/test/java/org/apache/cayenne/configuration/runtime/JNDIDataSourceFactoryIT.java b/cayenne/src/test/java/org/apache/cayenne/configuration/runtime/JNDIDataSourceFactoryIT.java
index b094d651f..d99c34ad3 100644
--- a/cayenne/src/test/java/org/apache/cayenne/configuration/runtime/JNDIDataSourceFactoryIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/configuration/runtime/JNDIDataSourceFactoryIT.java
@@ -23,9 +23,9 @@ import org.apache.cayenne.configuration.DataNodeDescriptor;
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.di.Injector;
 import org.apache.cayenne.unit.JNDISetup;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 import javax.naming.InitialContext;
@@ -36,7 +36,7 @@ import static org.junit.Assert.fail;
 
 @Deprecated
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class JNDIDataSourceFactoryIT extends ServerCase {
+public class JNDIDataSourceFactoryIT extends RuntimeCase {
     
     @Inject
     private Injector injector;
diff --git a/cayenne/src/test/java/org/apache/cayenne/datasource/BasePoolingDataSourceIT.java b/cayenne/src/test/java/org/apache/cayenne/datasource/BasePoolingDataSourceIT.java
index d4e8c9261..a5422741f 100644
--- a/cayenne/src/test/java/org/apache/cayenne/datasource/BasePoolingDataSourceIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/datasource/BasePoolingDataSourceIT.java
@@ -24,14 +24,14 @@ import java.sql.SQLException;
 import org.apache.cayenne.configuration.DataSourceDescriptor;
 import org.apache.cayenne.di.AdhocObjectFactory;
 import org.apache.cayenne.di.Inject;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.After;
 import org.junit.Before;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class BasePoolingDataSourceIT extends ServerCase {
+public class BasePoolingDataSourceIT extends RuntimeCase {
 
 	protected static final long QUEUE_WAIT_TIME = 1000L;
 
diff --git a/cayenne/src/test/java/org/apache/cayenne/datasource/ManagedPoolingDataSourceIT.java b/cayenne/src/test/java/org/apache/cayenne/datasource/ManagedPoolingDataSourceIT.java
index 24b25fa97..30f01f3e1 100644
--- a/cayenne/src/test/java/org/apache/cayenne/datasource/ManagedPoolingDataSourceIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/datasource/ManagedPoolingDataSourceIT.java
@@ -36,8 +36,8 @@ import java.util.concurrent.TimeUnit;
 
 import javax.sql.DataSource;
 
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.slf4j.Logger;
 import org.junit.After;
 import org.junit.Before;
diff --git a/cayenne/src/test/java/org/apache/cayenne/datasource/PoolingDataSourceIT.java b/cayenne/src/test/java/org/apache/cayenne/datasource/PoolingDataSourceIT.java
index 769d4e84a..1fcaf40ad 100644
--- a/cayenne/src/test/java/org/apache/cayenne/datasource/PoolingDataSourceIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/datasource/PoolingDataSourceIT.java
@@ -19,8 +19,8 @@
 
 package org.apache.cayenne.datasource;
 
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 import java.sql.Connection;
diff --git a/cayenne/src/test/java/org/apache/cayenne/datasource/PoolingDataSource_FailingValidationQueryIT.java b/cayenne/src/test/java/org/apache/cayenne/datasource/PoolingDataSource_FailingValidationQueryIT.java
index ed55d050e..38e3259a1 100644
--- a/cayenne/src/test/java/org/apache/cayenne/datasource/PoolingDataSource_FailingValidationQueryIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/datasource/PoolingDataSource_FailingValidationQueryIT.java
@@ -24,13 +24,13 @@ import org.apache.cayenne.CayenneRuntimeException;
 import org.apache.cayenne.configuration.DataSourceDescriptor;
 import org.apache.cayenne.di.AdhocObjectFactory;
 import org.apache.cayenne.di.Inject;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class PoolingDataSource_FailingValidationQueryIT extends ServerCase {
+public class PoolingDataSource_FailingValidationQueryIT extends RuntimeCase {
 
 	@Inject
 	private DataSourceDescriptor dataSourceInfo;
diff --git a/cayenne/src/test/java/org/apache/cayenne/datasource/PoolingDataSource_ValidationQueryIT.java b/cayenne/src/test/java/org/apache/cayenne/datasource/PoolingDataSource_ValidationQueryIT.java
index 0dd808685..a04418442 100644
--- a/cayenne/src/test/java/org/apache/cayenne/datasource/PoolingDataSource_ValidationQueryIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/datasource/PoolingDataSource_ValidationQueryIT.java
@@ -22,8 +22,8 @@ import static org.junit.Assert.assertEquals;
 
 import java.sql.Connection;
 
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
diff --git a/cayenne/src/test/java/org/apache/cayenne/dba/AutoAdapterIT.java b/cayenne/src/test/java/org/apache/cayenne/dba/AutoAdapterIT.java
index 9c4a7e506..24ef8f3a7 100644
--- a/cayenne/src/test/java/org/apache/cayenne/dba/AutoAdapterIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/dba/AutoAdapterIT.java
@@ -26,9 +26,9 @@ import org.apache.cayenne.log.NoopJdbcEventLogger;
 import org.apache.cayenne.query.ObjectSelect;
 import org.apache.cayenne.query.SQLTemplate;
 import org.apache.cayenne.testdo.testmap.Artist;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 import static org.junit.Assert.assertEquals;
@@ -37,7 +37,7 @@ import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertSame;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class AutoAdapterIT extends ServerCase {
+public class AutoAdapterIT extends RuntimeCase {
 
     @Inject
     private DataNode dataNode;
diff --git a/cayenne/src/test/java/org/apache/cayenne/dba/ConcurrentPkGeneratorIT.java b/cayenne/src/test/java/org/apache/cayenne/dba/ConcurrentPkGeneratorIT.java
index 838ecde9c..b1aa367bb 100644
--- a/cayenne/src/test/java/org/apache/cayenne/dba/ConcurrentPkGeneratorIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/dba/ConcurrentPkGeneratorIT.java
@@ -29,9 +29,9 @@ import org.apache.cayenne.runtime.CayenneRuntime;
 import org.apache.cayenne.testdo.qualified.Qualified1;
 import org.apache.cayenne.unit.DerbyUnitDbAdapter;
 import org.apache.cayenne.unit.UnitDbAdapter;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -47,7 +47,7 @@ import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.fail;
 
 @UseCayenneRuntime(CayenneProjects.QUALIFIED_PROJECT)
-public class ConcurrentPkGeneratorIT extends ServerCase {
+public class ConcurrentPkGeneratorIT extends RuntimeCase {
 
     @Inject
     private CayenneRuntime runtime;
diff --git a/cayenne/src/test/java/org/apache/cayenne/dba/JdbcAdapterIT.java b/cayenne/src/test/java/org/apache/cayenne/dba/JdbcAdapterIT.java
index 0489a171a..a6e077c2e 100644
--- a/cayenne/src/test/java/org/apache/cayenne/dba/JdbcAdapterIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/dba/JdbcAdapterIT.java
@@ -26,9 +26,9 @@ import org.apache.cayenne.map.DataMap;
 import org.apache.cayenne.map.DbAttribute;
 import org.apache.cayenne.map.DbEntity;
 import org.apache.cayenne.map.DbKeyGenerator;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 import java.sql.Types;
@@ -37,7 +37,7 @@ import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class JdbcAdapterIT extends ServerCase {
+public class JdbcAdapterIT extends RuntimeCase {
 
     @Inject
     private DbAdapter dbAdapter;
diff --git a/cayenne/src/test/java/org/apache/cayenne/dba/JdbcPkGeneratorIT.java b/cayenne/src/test/java/org/apache/cayenne/dba/JdbcPkGeneratorIT.java
index fdc837995..2d1205628 100644
--- a/cayenne/src/test/java/org/apache/cayenne/dba/JdbcPkGeneratorIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/dba/JdbcPkGeneratorIT.java
@@ -24,10 +24,10 @@ import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.map.DbAttribute;
 import org.apache.cayenne.map.DbEntity;
 import org.apache.cayenne.testdo.testmap.Artist;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.SchemaBuilder;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.SchemaBuilder;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -37,7 +37,7 @@ import java.util.Collections;
 import static org.junit.Assert.assertTrue;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class JdbcPkGeneratorIT extends ServerCase {
+public class JdbcPkGeneratorIT extends RuntimeCase {
 
     @Inject
     private DbAdapter adapter;
diff --git a/cayenne/src/test/java/org/apache/cayenne/dba/PkGeneratorIT.java b/cayenne/src/test/java/org/apache/cayenne/dba/PkGeneratorIT.java
index 37ab08b3d..5db08829e 100644
--- a/cayenne/src/test/java/org/apache/cayenne/dba/PkGeneratorIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/dba/PkGeneratorIT.java
@@ -23,9 +23,9 @@ import org.apache.cayenne.access.DataNode;
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.map.DbEntity;
 import org.apache.cayenne.unit.UnitDbAdapter;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -37,7 +37,7 @@ import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class PkGeneratorIT extends ServerCase {
+public class PkGeneratorIT extends RuntimeCase {
 
     @Inject
     private UnitDbAdapter accessStackAdapter;
diff --git a/cayenne/src/test/java/org/apache/cayenne/dba/TypesMappingIT.java b/cayenne/src/test/java/org/apache/cayenne/dba/TypesMappingIT.java
index bfbf40dcc..3afb72f5c 100644
--- a/cayenne/src/test/java/org/apache/cayenne/dba/TypesMappingIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/dba/TypesMappingIT.java
@@ -22,10 +22,10 @@ package org.apache.cayenne.dba;
 import org.apache.cayenne.MockSerializable;
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.map.DbAttribute;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.ServerCaseDataSourceFactory;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.RuntimeCaseDataSourceFactory;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 import java.math.BigDecimal;
@@ -42,10 +42,10 @@ import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
 
 @UseCayenneRuntime(CayenneProjects.EMPTY_PROJECT)
-public class TypesMappingIT extends ServerCase {
+public class TypesMappingIT extends RuntimeCase {
 
     @Inject
-    private ServerCaseDataSourceFactory dataSourceFactory;
+    private RuntimeCaseDataSourceFactory dataSourceFactory;
 
     @Test
     public void testGetSqlTypeByJava() throws Exception {
diff --git a/cayenne/src/test/java/org/apache/cayenne/dba/hsqldb/HSQLDBAdapterIT.java b/cayenne/src/test/java/org/apache/cayenne/dba/hsqldb/HSQLDBAdapterIT.java
index 92d034fd4..964f442b3 100644
--- a/cayenne/src/test/java/org/apache/cayenne/dba/hsqldb/HSQLDBAdapterIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/dba/hsqldb/HSQLDBAdapterIT.java
@@ -23,9 +23,9 @@ import org.apache.cayenne.di.AdhocObjectFactory;
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.map.DbAttribute;
 import org.apache.cayenne.map.DbEntity;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 import java.sql.Types;
@@ -34,7 +34,7 @@ import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class HSQLDBAdapterIT extends ServerCase {
+public class HSQLDBAdapterIT extends RuntimeCase {
     
     @Inject
     private AdhocObjectFactory objectFactory;
diff --git a/cayenne/src/test/java/org/apache/cayenne/dba/mysql/MySQLAdapterIT.java b/cayenne/src/test/java/org/apache/cayenne/dba/mysql/MySQLAdapterIT.java
index 7884df2dd..1c80fd24f 100644
--- a/cayenne/src/test/java/org/apache/cayenne/dba/mysql/MySQLAdapterIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/dba/mysql/MySQLAdapterIT.java
@@ -25,16 +25,16 @@ import org.apache.cayenne.di.AdhocObjectFactory;
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.map.DbAttribute;
 import org.apache.cayenne.map.DbEntity;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class MySQLAdapterIT extends ServerCase {
+public class MySQLAdapterIT extends RuntimeCase {
 
     @Inject
     private AdhocObjectFactory objectFactory;
diff --git a/cayenne/src/test/java/org/apache/cayenne/dba/oracle/Oracle8AdapterIT.java b/cayenne/src/test/java/org/apache/cayenne/dba/oracle/Oracle8AdapterIT.java
index cab3e0040..435d64729 100644
--- a/cayenne/src/test/java/org/apache/cayenne/dba/oracle/Oracle8AdapterIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/dba/oracle/Oracle8AdapterIT.java
@@ -21,9 +21,9 @@ package org.apache.cayenne.dba.oracle;
 
 import org.apache.cayenne.di.AdhocObjectFactory;
 import org.apache.cayenne.di.Inject;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 import java.net.URL;
@@ -34,7 +34,7 @@ import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class Oracle8AdapterIT extends ServerCase {
+public class Oracle8AdapterIT extends RuntimeCase {
     
     @Inject
     private AdhocObjectFactory objectFactory;
diff --git a/cayenne/src/test/java/org/apache/cayenne/dba/oracle/OracleAdapterIT.java b/cayenne/src/test/java/org/apache/cayenne/dba/oracle/OracleAdapterIT.java
index 0641c4b51..479c27cbe 100644
--- a/cayenne/src/test/java/org/apache/cayenne/dba/oracle/OracleAdapterIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/dba/oracle/OracleAdapterIT.java
@@ -24,9 +24,9 @@ import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.map.DataMap;
 import org.apache.cayenne.query.InsertBatchQuery;
 import org.apache.cayenne.runtime.CayenneRuntime;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 import java.sql.Types;
@@ -37,7 +37,7 @@ import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 
 @UseCayenneRuntime(CayenneProjects.LOB_PROJECT)
-public class OracleAdapterIT extends ServerCase {
+public class OracleAdapterIT extends RuntimeCase {
 
     @Inject
     private CayenneRuntime runtime;
diff --git a/cayenne/src/test/java/org/apache/cayenne/dba/oracle/OraclePkGeneratorIT.java b/cayenne/src/test/java/org/apache/cayenne/dba/oracle/OraclePkGeneratorIT.java
index 35925e3e2..f99d72d1e 100644
--- a/cayenne/src/test/java/org/apache/cayenne/dba/oracle/OraclePkGeneratorIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/dba/oracle/OraclePkGeneratorIT.java
@@ -24,16 +24,16 @@ import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.log.JdbcEventLogger;
 import org.apache.cayenne.map.DbEntity;
 import org.apache.cayenne.map.DbKeyGenerator;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
 import static org.junit.Assert.assertEquals;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class OraclePkGeneratorIT extends ServerCase {
+public class OraclePkGeneratorIT extends RuntimeCase {
     
     @Inject
     protected JdbcEventLogger logger;
diff --git a/cayenne/src/test/java/org/apache/cayenne/dba/postgres/PostgresAdapterIT.java b/cayenne/src/test/java/org/apache/cayenne/dba/postgres/PostgresAdapterIT.java
index b32a9bf63..c097cdb99 100644
--- a/cayenne/src/test/java/org/apache/cayenne/dba/postgres/PostgresAdapterIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/dba/postgres/PostgresAdapterIT.java
@@ -22,9 +22,9 @@ import org.apache.cayenne.di.AdhocObjectFactory;
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.map.DbAttribute;
 import org.apache.cayenne.map.DbEntity;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 import java.sql.Types;
@@ -33,7 +33,7 @@ import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class PostgresAdapterIT extends ServerCase {
+public class PostgresAdapterIT extends RuntimeCase {
     
     @Inject
     private AdhocObjectFactory objectFactory;
diff --git a/cayenne/src/test/java/org/apache/cayenne/dba/sqlserver/SQLServerAdapterIT.java b/cayenne/src/test/java/org/apache/cayenne/dba/sqlserver/SQLServerAdapterIT.java
index 235ca3a12..88efe5f61 100644
--- a/cayenne/src/test/java/org/apache/cayenne/dba/sqlserver/SQLServerAdapterIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/dba/sqlserver/SQLServerAdapterIT.java
@@ -22,9 +22,9 @@ import org.apache.cayenne.di.AdhocObjectFactory;
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.map.DbAttribute;
 import org.apache.cayenne.map.DbEntity;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 import java.sql.Types;
@@ -33,7 +33,7 @@ import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class SQLServerAdapterIT extends ServerCase {
+public class SQLServerAdapterIT extends RuntimeCase {
     
     @Inject
     private AdhocObjectFactory objectFactory;
diff --git a/cayenne/src/test/java/org/apache/cayenne/dba/sqlserver/SQLServerSnifferIT.java b/cayenne/src/test/java/org/apache/cayenne/dba/sqlserver/SQLServerSnifferIT.java
index c84cd6b67..ae0da5a36 100644
--- a/cayenne/src/test/java/org/apache/cayenne/dba/sqlserver/SQLServerSnifferIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/dba/sqlserver/SQLServerSnifferIT.java
@@ -24,10 +24,10 @@ import org.apache.cayenne.di.AdhocObjectFactory;
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.unit.SQLServerUnitDbAdapter;
 import org.apache.cayenne.unit.UnitDbAdapter;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.ServerCaseDataSourceFactory;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.RuntimeCaseDataSourceFactory;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 import java.sql.Connection;
@@ -36,10 +36,10 @@ import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertNull;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class SQLServerSnifferIT extends ServerCase {
+public class SQLServerSnifferIT extends RuntimeCase {
 
 	@Inject
-	private ServerCaseDataSourceFactory dataSourceFactory;
+	private RuntimeCaseDataSourceFactory dataSourceFactory;
 
 	@Inject
 	private UnitDbAdapter accessStackAdapter;
diff --git a/cayenne/src/test/java/org/apache/cayenne/ejbql/EJBQLParser_CompileIT.java b/cayenne/src/test/java/org/apache/cayenne/ejbql/EJBQLParser_CompileIT.java
index c72dc2ffe..92a6a3ab0 100644
--- a/cayenne/src/test/java/org/apache/cayenne/ejbql/EJBQLParser_CompileIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/ejbql/EJBQLParser_CompileIT.java
@@ -25,14 +25,14 @@ import static org.junit.Assert.assertSame;
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.map.EntityResolver;
 import org.apache.cayenne.runtime.CayenneRuntime;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class EJBQLParser_CompileIT extends ServerCase {
+public class EJBQLParser_CompileIT extends RuntimeCase {
 
 	@Inject
 	protected CayenneRuntime runtime;
diff --git a/cayenne/src/test/java/org/apache/cayenne/exp/AggregateExpInMemoryEvaluationIT.java b/cayenne/src/test/java/org/apache/cayenne/exp/AggregateExpInMemoryEvaluationIT.java
index a30aa6ac1..59e99b994 100644
--- a/cayenne/src/test/java/org/apache/cayenne/exp/AggregateExpInMemoryEvaluationIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/exp/AggregateExpInMemoryEvaluationIT.java
@@ -33,9 +33,9 @@ import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.testdo.testmap.Painting;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -43,7 +43,7 @@ import org.junit.Test;
 import static org.junit.Assert.assertEquals;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class AggregateExpInMemoryEvaluationIT extends ServerCase {
+public class AggregateExpInMemoryEvaluationIT extends RuntimeCase {
 
     // Format: d/m/YY
     private static final DateFormat DATE_FORMAT = DateFormat.getDateInstance(DateFormat.SHORT, Locale.US);
diff --git a/cayenne/src/test/java/org/apache/cayenne/exp/ExpressionFactoryIT.java b/cayenne/src/test/java/org/apache/cayenne/exp/ExpressionFactoryIT.java
index b64675155..597524ac8 100644
--- a/cayenne/src/test/java/org/apache/cayenne/exp/ExpressionFactoryIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/exp/ExpressionFactoryIT.java
@@ -28,9 +28,9 @@ import org.apache.cayenne.testdo.testmap.Award;
 import org.apache.cayenne.testdo.testmap.Gallery;
 import org.apache.cayenne.testdo.testmap.Painting;
 import org.apache.cayenne.unit.UnitDbAdapter;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 import java.util.List;
@@ -45,7 +45,7 @@ import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class ExpressionFactoryIT extends ServerCase {
+public class ExpressionFactoryIT extends RuntimeCase {
 
     @Inject
     private ObjectContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/exp/ExpressionIT.java b/cayenne/src/test/java/org/apache/cayenne/exp/ExpressionIT.java
index 299c2eb9b..1255a8b07 100644
--- a/cayenne/src/test/java/org/apache/cayenne/exp/ExpressionIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/exp/ExpressionIT.java
@@ -28,9 +28,9 @@ import org.apache.cayenne.runtime.CayenneRuntime;
 import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.testdo.testmap.Painting;
 import org.apache.cayenne.unit.UnitDbAdapter;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 import java.util.ArrayList;
@@ -45,7 +45,7 @@ import static org.junit.Assert.assertThrows;
 import static org.junit.Assert.assertTrue;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class ExpressionIT extends ServerCase {
+public class ExpressionIT extends RuntimeCase {
 
 	@Inject
 	private ObjectContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/exp/ParsedExpQualifierCompatIT.java b/cayenne/src/test/java/org/apache/cayenne/exp/ParsedExpQualifierCompatIT.java
index bb97554f2..dd2371536 100644
--- a/cayenne/src/test/java/org/apache/cayenne/exp/ParsedExpQualifierCompatIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/exp/ParsedExpQualifierCompatIT.java
@@ -31,16 +31,16 @@ import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.testdo.testmap.Painting;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
 import static org.junit.Assert.assertEquals;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class ParsedExpQualifierCompatIT extends ServerCase {
+public class ParsedExpQualifierCompatIT extends RuntimeCase {
 
     @Inject
     protected ObjectContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/exp/TranslateExpressionIT.java b/cayenne/src/test/java/org/apache/cayenne/exp/TranslateExpressionIT.java
index c6fc0da5f..fd5cbaa5c 100644
--- a/cayenne/src/test/java/org/apache/cayenne/exp/TranslateExpressionIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/exp/TranslateExpressionIT.java
@@ -30,16 +30,16 @@ import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.testdo.testmap.Gallery;
 import org.apache.cayenne.testdo.testmap.Painting;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
 import static org.junit.Assert.assertEquals;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class TranslateExpressionIT extends ServerCase {
+public class TranslateExpressionIT extends RuntimeCase {
 
     @Inject
     private DataContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/exp/parser/ASTDbPathIT.java b/cayenne/src/test/java/org/apache/cayenne/exp/parser/ASTDbPathIT.java
index fca4d52d3..17063e93b 100644
--- a/cayenne/src/test/java/org/apache/cayenne/exp/parser/ASTDbPathIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/exp/parser/ASTDbPathIT.java
@@ -32,13 +32,13 @@ import org.apache.cayenne.map.DbEntity;
 import org.apache.cayenne.map.ObjEntity;
 import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.testdo.testmap.Painting;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class ASTDbPathIT extends ServerCase {
+public class ASTDbPathIT extends RuntimeCase {
 
 	@Inject
 	private ObjectContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/exp/parser/ASTEqualIT.java b/cayenne/src/test/java/org/apache/cayenne/exp/parser/ASTEqualIT.java
index e1b50a0cd..7c856a5e7 100644
--- a/cayenne/src/test/java/org/apache/cayenne/exp/parser/ASTEqualIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/exp/parser/ASTEqualIT.java
@@ -27,13 +27,13 @@ import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.exp.Expression;
 import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.testdo.testmap.Painting;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class ASTEqualIT extends ServerCase {
+public class ASTEqualIT extends RuntimeCase {
 
 	@Inject
 	private ObjectContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/exp/parser/ASTExtractIT.java b/cayenne/src/test/java/org/apache/cayenne/exp/parser/ASTExtractIT.java
index bfc57842f..1d15def00 100644
--- a/cayenne/src/test/java/org/apache/cayenne/exp/parser/ASTExtractIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/exp/parser/ASTExtractIT.java
@@ -31,9 +31,9 @@ import org.apache.cayenne.query.ObjectSelect;
 import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.testdo.date_time.DateTestEntity;
 import org.apache.cayenne.unit.UnitDbAdapter;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -44,7 +44,7 @@ import static org.junit.Assert.assertTrue;
  * @since 4.0
  */
 @UseCayenneRuntime(CayenneProjects.DATE_TIME_PROJECT)
-public class ASTExtractIT extends ServerCase {
+public class ASTExtractIT extends RuntimeCase {
 
     @Inject
     private ObjectContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/exp/parser/ASTFunctionCallDateIT.java b/cayenne/src/test/java/org/apache/cayenne/exp/parser/ASTFunctionCallDateIT.java
index 9f765f4f5..08d864355 100644
--- a/cayenne/src/test/java/org/apache/cayenne/exp/parser/ASTFunctionCallDateIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/exp/parser/ASTFunctionCallDateIT.java
@@ -30,9 +30,9 @@ import org.apache.cayenne.query.ObjectSelect;
 import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.testdo.date_time.DateTestEntity;
 import org.apache.cayenne.unit.UnitDbAdapter;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -44,7 +44,7 @@ import static org.junit.Assert.assertNotNull;
  * @since 4.0
  */
 @UseCayenneRuntime(CayenneProjects.DATE_TIME_PROJECT)
-public class ASTFunctionCallDateIT extends ServerCase {
+public class ASTFunctionCallDateIT extends RuntimeCase {
 
     @Inject
     private ObjectContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/exp/parser/ASTFunctionCallMathIT.java b/cayenne/src/test/java/org/apache/cayenne/exp/parser/ASTFunctionCallMathIT.java
index 1fe68d060..1508af07c 100644
--- a/cayenne/src/test/java/org/apache/cayenne/exp/parser/ASTFunctionCallMathIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/exp/parser/ASTFunctionCallMathIT.java
@@ -27,9 +27,9 @@ import org.apache.cayenne.exp.Expression;
 import org.apache.cayenne.exp.ExpressionFactory;
 import org.apache.cayenne.query.ObjectSelect;
 import org.apache.cayenne.testdo.table_primitives.TablePrimitives;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 import static junit.framework.TestCase.assertEquals;
@@ -38,7 +38,7 @@ import static junit.framework.TestCase.assertEquals;
  * @since 4.0
  */
 @UseCayenneRuntime(CayenneProjects.TABLE_PRIMITIVES_PROJECT)
-public class ASTFunctionCallMathIT extends ServerCase {
+public class ASTFunctionCallMathIT extends RuntimeCase {
 
     @Inject
     private ObjectContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/exp/parser/ASTFunctionCallStringIT.java b/cayenne/src/test/java/org/apache/cayenne/exp/parser/ASTFunctionCallStringIT.java
index fa2299d8b..c9d7951c0 100644
--- a/cayenne/src/test/java/org/apache/cayenne/exp/parser/ASTFunctionCallStringIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/exp/parser/ASTFunctionCallStringIT.java
@@ -29,9 +29,9 @@ import org.apache.cayenne.query.ObjectSelect;
 import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.unit.OracleUnitDbAdapter;
 import org.apache.cayenne.unit.UnitDbAdapter;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 import static junit.framework.TestCase.assertEquals;
@@ -42,7 +42,7 @@ import static org.junit.Assume.assumeFalse;
  * @since 4.0
  */
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class ASTFunctionCallStringIT extends ServerCase {
+public class ASTFunctionCallStringIT extends RuntimeCase {
 
     @Inject
     private UnitDbAdapter unitDbAdapter;
diff --git a/cayenne/src/test/java/org/apache/cayenne/exp/parser/ASTObjPathEnumIT.java b/cayenne/src/test/java/org/apache/cayenne/exp/parser/ASTObjPathEnumIT.java
index 0a958e1a9..460f2d8a7 100644
--- a/cayenne/src/test/java/org/apache/cayenne/exp/parser/ASTObjPathEnumIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/exp/parser/ASTObjPathEnumIT.java
@@ -22,16 +22,16 @@ import org.apache.cayenne.ObjectContext;
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.testdo.enum_test.Enum1;
 import org.apache.cayenne.testdo.enum_test.EnumEntity;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNull;
 
 @UseCayenneRuntime(CayenneProjects.ENUM_PROJECT)
-public class ASTObjPathEnumIT extends ServerCase {
+public class ASTObjPathEnumIT extends RuntimeCase {
 
     @Inject
     private ObjectContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/exp/parser/ASTObjPathIT.java b/cayenne/src/test/java/org/apache/cayenne/exp/parser/ASTObjPathIT.java
index d4849543a..f8dfabe5d 100644
--- a/cayenne/src/test/java/org/apache/cayenne/exp/parser/ASTObjPathIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/exp/parser/ASTObjPathIT.java
@@ -25,13 +25,13 @@ import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.map.ObjAttribute;
 import org.apache.cayenne.map.ObjEntity;
 import org.apache.cayenne.testdo.testmap.Artist;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class ASTObjPathIT extends ServerCase {
+public class ASTObjPathIT extends RuntimeCase {
 
 	@Inject
 	private ObjectContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/exp/parser/ExpressionCollectionEvaluationIT.java b/cayenne/src/test/java/org/apache/cayenne/exp/parser/ExpressionCollectionEvaluationIT.java
index d86cd7e7c..d032c09e1 100644
--- a/cayenne/src/test/java/org/apache/cayenne/exp/parser/ExpressionCollectionEvaluationIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/exp/parser/ExpressionCollectionEvaluationIT.java
@@ -32,9 +32,9 @@ import org.apache.cayenne.query.ObjectSelect;
 import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.testmap.Artist;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -44,7 +44,7 @@ import static org.junit.Assert.assertEquals;
  * @since 4.0
  */
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class ExpressionCollectionEvaluationIT extends ServerCase {
+public class ExpressionCollectionEvaluationIT extends RuntimeCase {
 
     @Inject
     private DataContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/exp/parser/ExpressionEvaluationIT.java b/cayenne/src/test/java/org/apache/cayenne/exp/parser/ExpressionEvaluationIT.java
index 7230e7a2d..ed9d807ad 100644
--- a/cayenne/src/test/java/org/apache/cayenne/exp/parser/ExpressionEvaluationIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/exp/parser/ExpressionEvaluationIT.java
@@ -33,9 +33,9 @@ import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.testdo.testmap.Painting;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -52,7 +52,7 @@ import static org.junit.Assert.assertEquals;
  * @since 4.0
  */
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class ExpressionEvaluationIT extends ServerCase {
+public class ExpressionEvaluationIT extends RuntimeCase {
 
     @Inject
     private DataContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/exp/property/IdPropertyIT.java b/cayenne/src/test/java/org/apache/cayenne/exp/property/IdPropertyIT.java
index 1810e6b70..c0652365e 100644
--- a/cayenne/src/test/java/org/apache/cayenne/exp/property/IdPropertyIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/exp/property/IdPropertyIT.java
@@ -33,9 +33,9 @@ import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.testdo.testmap.Painting;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -49,7 +49,7 @@ import static org.junit.Assert.assertTrue;
  * @since 4.2
  */
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class IdPropertyIT extends ServerCase {
+public class IdPropertyIT extends RuntimeCase {
 
     @Inject
     private DataContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/exp/property/PathAliasesIT.java b/cayenne/src/test/java/org/apache/cayenne/exp/property/PathAliasesIT.java
index 2b7836a27..139d02e46 100644
--- a/cayenne/src/test/java/org/apache/cayenne/exp/property/PathAliasesIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/exp/property/PathAliasesIT.java
@@ -37,9 +37,9 @@ import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.testdo.testmap.Gallery;
 import org.apache.cayenne.testdo.testmap.Painting;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -51,7 +51,7 @@ import static org.junit.Assert.assertNotNull;
  * @since 4.2
  */
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class PathAliasesIT extends ServerCase {
+public class PathAliasesIT extends RuntimeCase {
 
     @Inject
     private DataContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/map/AnnotationIT.java b/cayenne/src/test/java/org/apache/cayenne/map/AnnotationIT.java
index 8535d59fa..9c42d60b4 100644
--- a/cayenne/src/test/java/org/apache/cayenne/map/AnnotationIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/map/AnnotationIT.java
@@ -23,9 +23,9 @@ import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.query.ObjectSelect;
 import org.apache.cayenne.reflect.LifecycleCallbackRegistry;
 import org.apache.cayenne.testdo.annotation.ArtistAnnotation;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 
@@ -35,7 +35,7 @@ import static org.junit.Assert.*;
  * @since 4.2
  */
 @UseCayenneRuntime(CayenneProjects.ANNOTATION)
-public class AnnotationIT extends ServerCase {
+public class AnnotationIT extends RuntimeCase {
 
     @Inject
     private ObjectContext objectContext;
diff --git a/cayenne/src/test/java/org/apache/cayenne/map/DbEntityIT.java b/cayenne/src/test/java/org/apache/cayenne/map/DbEntityIT.java
index e4a4901b2..ebe6de6b9 100644
--- a/cayenne/src/test/java/org/apache/cayenne/map/DbEntityIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/map/DbEntityIT.java
@@ -25,16 +25,16 @@ import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.exp.Expression;
 import org.apache.cayenne.exp.ExpressionFactory;
 import org.apache.cayenne.runtime.CayenneRuntime;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.apache.cayenne.util.Util;
 import org.junit.Test;
 
 import static org.junit.Assert.*;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class DbEntityIT extends ServerCase {
+public class DbEntityIT extends RuntimeCase {
 
     @Inject
     private CayenneRuntime runtime;
diff --git a/cayenne/src/test/java/org/apache/cayenne/map/DbRelationshipIT.java b/cayenne/src/test/java/org/apache/cayenne/map/DbRelationshipIT.java
index 04d6dabbb..985daf83d 100644
--- a/cayenne/src/test/java/org/apache/cayenne/map/DbRelationshipIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/map/DbRelationshipIT.java
@@ -21,9 +21,9 @@ package org.apache.cayenne.map;
 
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.runtime.CayenneRuntime;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -36,7 +36,7 @@ import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertSame;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class DbRelationshipIT extends ServerCase {
+public class DbRelationshipIT extends RuntimeCase {
 
     @Inject
     private CayenneRuntime runtime;
diff --git a/cayenne/src/test/java/org/apache/cayenne/map/EntityIT.java b/cayenne/src/test/java/org/apache/cayenne/map/EntityIT.java
index cfe351bdd..534e3bedb 100644
--- a/cayenne/src/test/java/org/apache/cayenne/map/EntityIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/map/EntityIT.java
@@ -23,9 +23,9 @@ import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.exp.Expression;
 import org.apache.cayenne.exp.ExpressionFactory;
 import org.apache.cayenne.runtime.CayenneRuntime;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.apache.cayenne.util.CayenneMapEntry;
 import org.apache.cayenne.util.Util;
 import org.junit.Test;
@@ -42,7 +42,7 @@ import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class EntityIT extends ServerCase {
+public class EntityIT extends RuntimeCase {
 
     @Inject
     private CayenneRuntime runtime;
diff --git a/cayenne/src/test/java/org/apache/cayenne/map/EntityResolverClassDescriptorIT.java b/cayenne/src/test/java/org/apache/cayenne/map/EntityResolverClassDescriptorIT.java
index 88a379b13..330208337 100644
--- a/cayenne/src/test/java/org/apache/cayenne/map/EntityResolverClassDescriptorIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/map/EntityResolverClassDescriptorIT.java
@@ -28,9 +28,9 @@ import org.apache.cayenne.reflect.PropertyDescriptor;
 import org.apache.cayenne.runtime.CayenneRuntime;
 import org.apache.cayenne.testdo.mt.MtTable1;
 import org.apache.cayenne.testdo.mt.MtTable2;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 import static org.junit.Assert.assertEquals;
@@ -42,13 +42,13 @@ import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
 
 @UseCayenneRuntime(CayenneProjects.MULTI_TIER_PROJECT)
-public class EntityResolverClassDescriptorIT extends ServerCase {
+public class EntityResolverClassDescriptorIT extends RuntimeCase {
 
     @Inject
     private CayenneRuntime runtime;
 
     @Test
-    public void testServerDescriptorCaching() {
+    public void testDescriptorCaching() {
         EntityResolver resolver = runtime.getDataDomain().getEntityResolver();
         resolver.getClassDescriptorMap().clearDescriptors();
 
@@ -63,7 +63,7 @@ public class EntityResolverClassDescriptorIT extends ServerCase {
     }
 
     @Test
-    public void testServerDescriptorFactory() {
+    public void testDescriptorFactory() {
         EntityResolver resolver = runtime.getDataDomain().getEntityResolver();
         resolver.getClassDescriptorMap().clearDescriptors();
 
diff --git a/cayenne/src/test/java/org/apache/cayenne/map/EntityResolverGenericStackIT.java b/cayenne/src/test/java/org/apache/cayenne/map/EntityResolverGenericStackIT.java
index dfb381f67..215a5fd22 100644
--- a/cayenne/src/test/java/org/apache/cayenne/map/EntityResolverGenericStackIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/map/EntityResolverGenericStackIT.java
@@ -21,9 +21,9 @@ package org.apache.cayenne.map;
 import org.apache.cayenne.CayenneDataObject;
 import org.apache.cayenne.CayenneRuntimeException;
 import org.apache.cayenne.di.Inject;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 import java.util.Collections;
@@ -34,7 +34,7 @@ import static org.junit.Assert.assertNull;
 import static org.junit.Assert.fail;
 
 @UseCayenneRuntime(CayenneProjects.GENERIC_PROJECT)
-public class EntityResolverGenericStackIT extends ServerCase {
+public class EntityResolverGenericStackIT extends RuntimeCase {
 
     @Inject
     private EntityResolver resolver;
diff --git a/cayenne/src/test/java/org/apache/cayenne/map/EntityResolverIT.java b/cayenne/src/test/java/org/apache/cayenne/map/EntityResolverIT.java
index bdfb504b0..58b3e2394 100644
--- a/cayenne/src/test/java/org/apache/cayenne/map/EntityResolverIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/map/EntityResolverIT.java
@@ -24,9 +24,9 @@ import org.apache.cayenne.access.DataContext;
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.runtime.CayenneRuntime;
 import org.apache.cayenne.testdo.testmap.Artist;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 import java.util.ArrayList;
@@ -41,7 +41,7 @@ import static org.junit.Assert.assertSame;
 import static org.junit.Assert.assertTrue;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class EntityResolverIT extends ServerCase {
+public class EntityResolverIT extends RuntimeCase {
 
     @Inject
     private CayenneRuntime runtime;
diff --git a/cayenne/src/test/java/org/apache/cayenne/map/EntityResolverInheritanceIT.java b/cayenne/src/test/java/org/apache/cayenne/map/EntityResolverInheritanceIT.java
index bc9a50a1f..f78282ac2 100644
--- a/cayenne/src/test/java/org/apache/cayenne/map/EntityResolverInheritanceIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/map/EntityResolverInheritanceIT.java
@@ -25,7 +25,7 @@ import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertSame;
 
 import org.apache.cayenne.di.Inject;
-import org.apache.cayenne.unit.di.server.PeopleProjectCase;
+import org.apache.cayenne.unit.di.runtime.PeopleProjectCase;
 import org.junit.Test;
 
 public class EntityResolverInheritanceIT extends PeopleProjectCase {
diff --git a/cayenne/src/test/java/org/apache/cayenne/map/ObjEntityIT.java b/cayenne/src/test/java/org/apache/cayenne/map/ObjEntityIT.java
index a45c45cc7..48bafee9f 100644
--- a/cayenne/src/test/java/org/apache/cayenne/map/ObjEntityIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/map/ObjEntityIT.java
@@ -28,9 +28,9 @@ import org.apache.cayenne.exp.ExpressionFactory;
 import org.apache.cayenne.exp.parser.ASTObjPath;
 import org.apache.cayenne.runtime.CayenneRuntime;
 import org.apache.cayenne.testdo.testmap.Artist;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.apache.cayenne.util.Util;
 import org.junit.Test;
 
@@ -47,7 +47,7 @@ import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class ObjEntityIT extends ServerCase {
+public class ObjEntityIT extends RuntimeCase {
 
     @Inject
     private ObjectContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/map/ObjRelationshipIT.java b/cayenne/src/test/java/org/apache/cayenne/map/ObjRelationshipIT.java
index a3dcc1dbe..b8ca3a15f 100644
--- a/cayenne/src/test/java/org/apache/cayenne/map/ObjRelationshipIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/map/ObjRelationshipIT.java
@@ -33,9 +33,9 @@ import org.apache.cayenne.exp.ExpressionException;
 import org.apache.cayenne.resource.URLResource;
 import org.apache.cayenne.runtime.CayenneRuntime;
 import org.apache.cayenne.testdo.inheritance_vertical.Iv2Sub1;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.apache.cayenne.util.Util;
 import org.apache.cayenne.util.XMLEncoder;
 import org.junit.Before;
@@ -44,7 +44,7 @@ import org.junit.Test;
 import static org.junit.Assert.*;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class ObjRelationshipIT extends ServerCase {
+public class ObjRelationshipIT extends RuntimeCase {
 
     @Inject
     private CayenneRuntime runtime;
diff --git a/cayenne/src/test/java/org/apache/cayenne/query/CAY2541IT.java b/cayenne/src/test/java/org/apache/cayenne/query/CAY2541IT.java
index 37b2d3149..434f23c2a 100644
--- a/cayenne/src/test/java/org/apache/cayenne/query/CAY2541IT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/query/CAY2541IT.java
@@ -30,16 +30,16 @@ import org.apache.cayenne.exp.parser.ASTScalar;
 import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.testmap.Artist;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
 import static org.junit.Assert.assertEquals;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class CAY2541IT extends ServerCase {
+public class CAY2541IT extends RuntimeCase {
 
     @Inject
     private DataContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/query/ColumnSelectIT.java b/cayenne/src/test/java/org/apache/cayenne/query/ColumnSelectIT.java
index 3dabf5636..c9ce60198 100644
--- a/cayenne/src/test/java/org/apache/cayenne/query/ColumnSelectIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/query/ColumnSelectIT.java
@@ -49,9 +49,9 @@ import org.apache.cayenne.testdo.testmap.Painting;
 import org.apache.cayenne.testdo.testmap.PaintingInfo;
 import org.apache.cayenne.unit.PostgresUnitDbAdapter;
 import org.apache.cayenne.unit.UnitDbAdapter;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Ignore;
 import org.junit.Test;
@@ -64,7 +64,7 @@ import static org.junit.Assert.*;
  * @since 4.0
  */
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class ColumnSelectIT extends ServerCase {
+public class ColumnSelectIT extends RuntimeCase {
 
     @Inject
     private DataContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/query/EJBQLQueryCountIT.java b/cayenne/src/test/java/org/apache/cayenne/query/EJBQLQueryCountIT.java
index 3f9810656..b2ade82e9 100644
--- a/cayenne/src/test/java/org/apache/cayenne/query/EJBQLQueryCountIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/query/EJBQLQueryCountIT.java
@@ -26,14 +26,14 @@ import org.apache.cayenne.ObjectContext;
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class EJBQLQueryCountIT extends ServerCase {
+public class EJBQLQueryCountIT extends RuntimeCase {
 
 	@Inject
 	private ObjectContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/query/EJBQLQueryIT.java b/cayenne/src/test/java/org/apache/cayenne/query/EJBQLQueryIT.java
index bd34c33e2..555cf9723 100644
--- a/cayenne/src/test/java/org/apache/cayenne/query/EJBQLQueryIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/query/EJBQLQueryIT.java
@@ -37,9 +37,9 @@ import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.testdo.testmap.Painting;
 import org.apache.cayenne.unit.di.DataChannelInterceptor;
 import org.apache.cayenne.unit.di.UnitTestClosure;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.apache.cayenne.util.XMLEncoder;
 import org.junit.Before;
 import org.junit.Test;
@@ -52,7 +52,7 @@ import java.util.Map;
 import static org.junit.Assert.*;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class EJBQLQueryIT extends ServerCase {
+public class EJBQLQueryIT extends RuntimeCase {
 
     @Inject
     private DataContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/query/EJBQLQueryNumericIT.java b/cayenne/src/test/java/org/apache/cayenne/query/EJBQLQueryNumericIT.java
index e8c54f8dc..f78fbdc4e 100644
--- a/cayenne/src/test/java/org/apache/cayenne/query/EJBQLQueryNumericIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/query/EJBQLQueryNumericIT.java
@@ -24,9 +24,9 @@ import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.numeric_types.BigIntegerEntity;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -35,7 +35,7 @@ import java.util.List;
 import static org.junit.Assert.assertEquals;
 
 @UseCayenneRuntime(CayenneProjects.NUMERIC_TYPES_PROJECT)
-public class EJBQLQueryNumericIT extends ServerCase {
+public class EJBQLQueryNumericIT extends RuntimeCase {
 
     @Inject
     protected DBHelper dbHelper;
diff --git a/cayenne/src/test/java/org/apache/cayenne/query/FluentSelectPrefetchRouterActionIT.java b/cayenne/src/test/java/org/apache/cayenne/query/FluentSelectPrefetchRouterActionIT.java
index 8ee3760b1..934d3299c 100644
--- a/cayenne/src/test/java/org/apache/cayenne/query/FluentSelectPrefetchRouterActionIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/query/FluentSelectPrefetchRouterActionIT.java
@@ -26,16 +26,16 @@ import org.apache.cayenne.map.ObjEntity;
 import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.testdo.testmap.Gallery;
 import org.apache.cayenne.testdo.testmap.Painting;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertSame;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class FluentSelectPrefetchRouterActionIT extends ServerCase {
+public class FluentSelectPrefetchRouterActionIT extends RuntimeCase {
 
     @Inject
     private EntityResolver resolver;
diff --git a/cayenne/src/test/java/org/apache/cayenne/query/FluentSelectPrefetchRouterActionQualifiedEntityIT.java b/cayenne/src/test/java/org/apache/cayenne/query/FluentSelectPrefetchRouterActionQualifiedEntityIT.java
index 7e4a69219..4b1b9a366 100644
--- a/cayenne/src/test/java/org/apache/cayenne/query/FluentSelectPrefetchRouterActionQualifiedEntityIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/query/FluentSelectPrefetchRouterActionQualifiedEntityIT.java
@@ -26,7 +26,7 @@ import org.apache.cayenne.map.ObjEntity;
 import org.apache.cayenne.testdo.inheritance_people.Department;
 import org.apache.cayenne.testdo.inheritance_people.Employee;
 import org.apache.cayenne.testdo.inheritance_people.Manager;
-import org.apache.cayenne.unit.di.server.PeopleProjectCase;
+import org.apache.cayenne.unit.di.runtime.PeopleProjectCase;
 import org.junit.Test;
 
 import static org.junit.Assert.assertEquals;
diff --git a/cayenne/src/test/java/org/apache/cayenne/query/MappedQueryIT.java b/cayenne/src/test/java/org/apache/cayenne/query/MappedQueryIT.java
index 49af0f514..6d903537b 100644
--- a/cayenne/src/test/java/org/apache/cayenne/query/MappedQueryIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/query/MappedQueryIT.java
@@ -31,9 +31,9 @@ import org.apache.cayenne.testdo.testmap.Painting;
 import org.apache.cayenne.tx.BaseTransaction;
 import org.apache.cayenne.tx.ExternalTransaction;
 import org.apache.cayenne.unit.UnitDbAdapter;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 import java.math.BigDecimal;
@@ -44,7 +44,7 @@ import static org.hamcrest.MatcherAssert.assertThat;
 import static org.junit.Assert.*;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class MappedQueryIT extends ServerCase {
+public class MappedQueryIT extends RuntimeCase {
 
     @Inject
     private DataContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/query/ObjectSelectIteratedQueryIT.java b/cayenne/src/test/java/org/apache/cayenne/query/ObjectSelectIteratedQueryIT.java
index b17261e35..83839f2f8 100644
--- a/cayenne/src/test/java/org/apache/cayenne/query/ObjectSelectIteratedQueryIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/query/ObjectSelectIteratedQueryIT.java
@@ -27,9 +27,9 @@ import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.testmap.Painting;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Ignore;
 import org.junit.Test;
@@ -43,7 +43,7 @@ import static org.junit.Assert.assertTrue;
 
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class ObjectSelectIteratedQueryIT extends ServerCase {
+public class ObjectSelectIteratedQueryIT extends RuntimeCase {
 
     @Inject
     private DataContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/query/ObjectSelect_AggregateIT.java b/cayenne/src/test/java/org/apache/cayenne/query/ObjectSelect_AggregateIT.java
index 7f58ec347..be9a6ba8e 100644
--- a/cayenne/src/test/java/org/apache/cayenne/query/ObjectSelect_AggregateIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/query/ObjectSelect_AggregateIT.java
@@ -36,9 +36,9 @@ import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.testdo.testmap.Painting;
 import org.apache.cayenne.unit.UnitDbAdapter;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Ignore;
@@ -51,7 +51,7 @@ import static org.junit.Assert.assertEquals;
  * @since 4.0
  */
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class ObjectSelect_AggregateIT extends ServerCase {
+public class ObjectSelect_AggregateIT extends RuntimeCase {
 
     @Inject
     private DataContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/query/ObjectSelect_CacheKeyIT.java b/cayenne/src/test/java/org/apache/cayenne/query/ObjectSelect_CacheKeyIT.java
index 1c50ffbe4..04f77fc43 100644
--- a/cayenne/src/test/java/org/apache/cayenne/query/ObjectSelect_CacheKeyIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/query/ObjectSelect_CacheKeyIT.java
@@ -23,15 +23,15 @@ import org.apache.cayenne.exp.ExpressionFactory;
 import org.apache.cayenne.map.EntityResolver;
 import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.testdo.testmap.Painting;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 import static org.junit.Assert.*;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class ObjectSelect_CacheKeyIT extends ServerCase {
+public class ObjectSelect_CacheKeyIT extends RuntimeCase {
 
     @Inject
     private EntityResolver resolver;
diff --git a/cayenne/src/test/java/org/apache/cayenne/query/ObjectSelect_FetchLimitOrderingIT.java b/cayenne/src/test/java/org/apache/cayenne/query/ObjectSelect_FetchLimitOrderingIT.java
index eef427115..31ae0c15b 100644
--- a/cayenne/src/test/java/org/apache/cayenne/query/ObjectSelect_FetchLimitOrderingIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/query/ObjectSelect_FetchLimitOrderingIT.java
@@ -26,16 +26,16 @@ import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.testmap.Artist;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
 import static org.junit.Assert.assertEquals;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class ObjectSelect_FetchLimitOrderingIT extends ServerCase {
+public class ObjectSelect_FetchLimitOrderingIT extends RuntimeCase {
 
     @Inject
     protected ObjectContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/query/ObjectSelect_PrimitiveColumnsIT.java b/cayenne/src/test/java/org/apache/cayenne/query/ObjectSelect_PrimitiveColumnsIT.java
index 9bf3754e1..a99ccd990 100644
--- a/cayenne/src/test/java/org/apache/cayenne/query/ObjectSelect_PrimitiveColumnsIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/query/ObjectSelect_PrimitiveColumnsIT.java
@@ -31,9 +31,9 @@ import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.primitive.PrimitivesTestEntity;
 import org.apache.cayenne.unit.UnitDbAdapter;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -45,7 +45,7 @@ import static org.junit.Assert.assertFalse;
  * @since 4.0
  */
 @UseCayenneRuntime(CayenneProjects.PRIMITIVE_PROJECT)
-public class ObjectSelect_PrimitiveColumnsIT extends ServerCase {
+public class ObjectSelect_PrimitiveColumnsIT extends RuntimeCase {
     @Inject
     private DataContext context;
 
diff --git a/cayenne/src/test/java/org/apache/cayenne/query/ObjectSelect_RunIT.java b/cayenne/src/test/java/org/apache/cayenne/query/ObjectSelect_RunIT.java
index 81a7e5cf8..6ef648e43 100644
--- a/cayenne/src/test/java/org/apache/cayenne/query/ObjectSelect_RunIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/query/ObjectSelect_RunIT.java
@@ -32,9 +32,9 @@ import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.testdo.testmap.Painting;
 import org.apache.cayenne.unit.OracleUnitDbAdapter;
 import org.apache.cayenne.unit.UnitDbAdapter;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -46,7 +46,7 @@ import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertNull;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class ObjectSelect_RunIT extends ServerCase {
+public class ObjectSelect_RunIT extends RuntimeCase {
 
 	@Inject
 	private UnitDbAdapter unitDbAdapter;
diff --git a/cayenne/src/test/java/org/apache/cayenne/query/ObjectSelect_SubqueryIT.java b/cayenne/src/test/java/org/apache/cayenne/query/ObjectSelect_SubqueryIT.java
index 01b2d5e84..ade42de1b 100644
--- a/cayenne/src/test/java/org/apache/cayenne/query/ObjectSelect_SubqueryIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/query/ObjectSelect_SubqueryIT.java
@@ -30,9 +30,9 @@ import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.testdo.testmap.Gallery;
 import org.apache.cayenne.testdo.testmap.Painting;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -42,7 +42,7 @@ import static org.junit.Assert.assertEquals;
  * @since 4.2
  */
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class ObjectSelect_SubqueryIT extends ServerCase {
+public class ObjectSelect_SubqueryIT extends RuntimeCase {
 
     @Inject
     DataContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/query/ProcedureCallIT.java b/cayenne/src/test/java/org/apache/cayenne/query/ProcedureCallIT.java
index 198c81d53..7377baa5d 100644
--- a/cayenne/src/test/java/org/apache/cayenne/query/ProcedureCallIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/query/ProcedureCallIT.java
@@ -29,9 +29,9 @@ import org.apache.cayenne.testdo.testmap.Painting;
 import org.apache.cayenne.tx.BaseTransaction;
 import org.apache.cayenne.tx.ExternalTransaction;
 import org.apache.cayenne.unit.UnitDbAdapter;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 import java.math.BigDecimal;
@@ -42,7 +42,7 @@ import java.util.Map;
 import static org.junit.Assert.*;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class ProcedureCallIT extends ServerCase {
+public class ProcedureCallIT extends RuntimeCase {
 
     public static final String UPDATE_STORED_PROCEDURE = "cayenne_tst_upd_proc";
     public static final String UPDATE_STORED_PROCEDURE_NOPARAM = "cayenne_tst_upd_proc2";
diff --git a/cayenne/src/test/java/org/apache/cayenne/query/ProcedureQueryCacheKeyIT.java b/cayenne/src/test/java/org/apache/cayenne/query/ProcedureQueryCacheKeyIT.java
index 707a43bc1..775d29983 100644
--- a/cayenne/src/test/java/org/apache/cayenne/query/ProcedureQueryCacheKeyIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/query/ProcedureQueryCacheKeyIT.java
@@ -22,9 +22,9 @@ import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.map.EntityResolver;
 import org.apache.cayenne.runtime.CayenneRuntime;
 import org.apache.cayenne.testdo.testmap.Artist;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 import static org.junit.Assert.assertEquals;
@@ -32,7 +32,7 @@ import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertNull;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class ProcedureQueryCacheKeyIT extends ServerCase {
+public class ProcedureQueryCacheKeyIT extends RuntimeCase {
 
     @Inject
     private CayenneRuntime runtime;
diff --git a/cayenne/src/test/java/org/apache/cayenne/query/QueryChainIT.java b/cayenne/src/test/java/org/apache/cayenne/query/QueryChainIT.java
index fdadc70b8..9d21c8f00 100644
--- a/cayenne/src/test/java/org/apache/cayenne/query/QueryChainIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/query/QueryChainIT.java
@@ -22,9 +22,9 @@ import org.apache.cayenne.DataRow;
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.runtime.CayenneRuntime;
 import org.apache.cayenne.testdo.testmap.Artist;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 import static org.junit.Assert.assertNotNull;
@@ -32,7 +32,7 @@ import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertTrue;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class QueryChainIT extends ServerCase {
+public class QueryChainIT extends RuntimeCase {
 
     @Inject
     private CayenneRuntime runtime;
diff --git a/cayenne/src/test/java/org/apache/cayenne/query/QueryTimeoutIT.java b/cayenne/src/test/java/org/apache/cayenne/query/QueryTimeoutIT.java
index 9629022e2..b18d70865 100644
--- a/cayenne/src/test/java/org/apache/cayenne/query/QueryTimeoutIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/query/QueryTimeoutIT.java
@@ -22,15 +22,15 @@ package org.apache.cayenne.query;
 import org.apache.cayenne.ObjectContext;
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.testdo.testmap.Artist;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 import static org.junit.Assert.assertEquals;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class QueryTimeoutIT extends ServerCase {
+public class QueryTimeoutIT extends RuntimeCase {
 
     @Inject
     private ObjectContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/query/QueryWithCompoundJoinIT.java b/cayenne/src/test/java/org/apache/cayenne/query/QueryWithCompoundJoinIT.java
index 501f4cb48..91b990e49 100644
--- a/cayenne/src/test/java/org/apache/cayenne/query/QueryWithCompoundJoinIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/query/QueryWithCompoundJoinIT.java
@@ -28,9 +28,9 @@ import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.compound.CompoundFkTestEntity;
 import org.apache.cayenne.testdo.compound.CompoundPkTestEntity;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -43,7 +43,7 @@ import static org.junit.Assert.assertTrue;
  * @since 4.0
  */
 @UseCayenneRuntime(CayenneProjects.COMPOUND_PROJECT)
-public class QueryWithCompoundJoinIT extends ServerCase {
+public class QueryWithCompoundJoinIT extends RuntimeCase {
 
     @Inject
     private DataContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/query/QueryWithInheritancePrefetchIT.java b/cayenne/src/test/java/org/apache/cayenne/query/QueryWithInheritancePrefetchIT.java
index 470bb9b52..182540758 100644
--- a/cayenne/src/test/java/org/apache/cayenne/query/QueryWithInheritancePrefetchIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/query/QueryWithInheritancePrefetchIT.java
@@ -30,9 +30,9 @@ import org.apache.cayenne.testdo.inheritance_with_enum.Root;
 import org.apache.cayenne.testdo.inheritance_with_enum.Sub;
 import org.apache.cayenne.testdo.inheritance_with_enum.Type;
 import org.apache.cayenne.unit.di.DataChannelInterceptor;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -48,7 +48,7 @@ import static org.junit.Assert.assertTrue;
  * @since 4.1
  */
 @UseCayenneRuntime(CayenneProjects.INHERITANCE_WITH_ENUM_PROJECT)
-public class QueryWithInheritancePrefetchIT extends ServerCase {
+public class QueryWithInheritancePrefetchIT extends RuntimeCase {
 
     @Inject
     private CayenneRuntime runtime;
diff --git a/cayenne/src/test/java/org/apache/cayenne/query/SQLExecIT.java b/cayenne/src/test/java/org/apache/cayenne/query/SQLExecIT.java
index 002c4c1d2..5bf20a3e0 100644
--- a/cayenne/src/test/java/org/apache/cayenne/query/SQLExecIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/query/SQLExecIT.java
@@ -27,16 +27,16 @@ import org.apache.cayenne.access.DataContext;
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.unit.UnitDbAdapter;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class SQLExecIT extends ServerCase {
+public class SQLExecIT extends RuntimeCase {
 
     @Inject
     private DataContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/query/SQLSelectIT.java b/cayenne/src/test/java/org/apache/cayenne/query/SQLSelectIT.java
index 07247b56e..26c46bfe6 100644
--- a/cayenne/src/test/java/org/apache/cayenne/query/SQLSelectIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/query/SQLSelectIT.java
@@ -35,9 +35,9 @@ import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.testmap.Painting;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Ignore;
 import org.junit.Test;
@@ -47,7 +47,7 @@ import static org.hamcrest.MatcherAssert.assertThat;
 import static org.junit.Assert.*;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class SQLSelectIT extends ServerCase {
+public class SQLSelectIT extends RuntimeCase {
 
 	@Inject
 	private DataContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/query/SQLSelectIteratedQueryIT.java b/cayenne/src/test/java/org/apache/cayenne/query/SQLSelectIteratedQueryIT.java
index 1b855d049..7a00c03bc 100644
--- a/cayenne/src/test/java/org/apache/cayenne/query/SQLSelectIteratedQueryIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/query/SQLSelectIteratedQueryIT.java
@@ -26,9 +26,9 @@ import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.testmap.Painting;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -41,7 +41,7 @@ import static org.junit.Assert.assertTrue;
 
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class SQLSelectIteratedQueryIT extends ServerCase {
+public class SQLSelectIteratedQueryIT extends RuntimeCase {
 
     @Inject
     private DataContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/query/SQLTemplateCacheKeyIT.java b/cayenne/src/test/java/org/apache/cayenne/query/SQLTemplateCacheKeyIT.java
index 801cb0d6e..6c59838c8 100644
--- a/cayenne/src/test/java/org/apache/cayenne/query/SQLTemplateCacheKeyIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/query/SQLTemplateCacheKeyIT.java
@@ -21,9 +21,9 @@ package org.apache.cayenne.query;
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.map.EntityResolver;
 import org.apache.cayenne.testdo.testmap.Artist;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 import static org.junit.Assert.assertEquals;
@@ -32,7 +32,7 @@ import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertNull;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class SQLTemplateCacheKeyIT extends ServerCase {
+public class SQLTemplateCacheKeyIT extends RuntimeCase {
 
     @Inject
     private EntityResolver resolver;
diff --git a/cayenne/src/test/java/org/apache/cayenne/query/SQLTemplateIT.java b/cayenne/src/test/java/org/apache/cayenne/query/SQLTemplateIT.java
index f292e15ea..f52442865 100644
--- a/cayenne/src/test/java/org/apache/cayenne/query/SQLTemplateIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/query/SQLTemplateIT.java
@@ -34,9 +34,9 @@ import org.apache.cayenne.testdo.testmap.Painting;
 import org.apache.cayenne.unit.OracleUnitDbAdapter;
 import org.apache.cayenne.unit.UnitDbAdapter;
 import org.apache.cayenne.unit.di.DataChannelInterceptor;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -51,7 +51,7 @@ import static org.hamcrest.MatcherAssert.assertThat;
 import static org.junit.Assert.*;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class SQLTemplateIT extends ServerCase {
+public class SQLTemplateIT extends RuntimeCase {
 
 	@Inject
 	private DataContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/query/SelectByIdIteratedQueryIT.java b/cayenne/src/test/java/org/apache/cayenne/query/SelectByIdIteratedQueryIT.java
index 80303a748..0dcd8d3da 100644
--- a/cayenne/src/test/java/org/apache/cayenne/query/SelectByIdIteratedQueryIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/query/SelectByIdIteratedQueryIT.java
@@ -27,9 +27,9 @@ import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.testmap.Painting;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -42,7 +42,7 @@ import static org.junit.Assert.assertEquals;
 
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class SelectByIdIteratedQueryIT extends ServerCase {
+public class SelectByIdIteratedQueryIT extends RuntimeCase {
 
     @Inject
     private DataContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/query/SelectById_RunIT.java b/cayenne/src/test/java/org/apache/cayenne/query/SelectById_RunIT.java
index 3eeeffbbf..9d491d3b7 100644
--- a/cayenne/src/test/java/org/apache/cayenne/query/SelectById_RunIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/query/SelectById_RunIT.java
@@ -34,9 +34,9 @@ import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.testdo.testmap.Painting;
 import org.apache.cayenne.unit.di.DataChannelInterceptor;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -46,7 +46,7 @@ import static org.hamcrest.MatcherAssert.assertThat;
 import static org.junit.Assert.*;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class SelectById_RunIT extends ServerCase {
+public class SelectById_RunIT extends RuntimeCase {
 
 	@Inject
 	private DataChannelInterceptor interceptor;
diff --git a/cayenne/src/test/java/org/apache/cayenne/query/SelectQueryClobIT.java b/cayenne/src/test/java/org/apache/cayenne/query/SelectQueryClobIT.java
index ba702e09d..b14cc6bfc 100644
--- a/cayenne/src/test/java/org/apache/cayenne/query/SelectQueryClobIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/query/SelectQueryClobIT.java
@@ -26,9 +26,9 @@ import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.lob.ClobTestEntity;
 import org.apache.cayenne.unit.UnitDbAdapter;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 import java.util.List;
@@ -36,7 +36,7 @@ import java.util.List;
 import static org.junit.Assert.assertEquals;
 
 @UseCayenneRuntime(CayenneProjects.LOB_PROJECT)
-public class SelectQueryClobIT extends ServerCase {
+public class SelectQueryClobIT extends RuntimeCase {
 
     @Inject
     private ObjectContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/query/SelectQueryReturnTypesIT.java b/cayenne/src/test/java/org/apache/cayenne/query/SelectQueryReturnTypesIT.java
index 1e900ead6..f7d9451b3 100644
--- a/cayenne/src/test/java/org/apache/cayenne/query/SelectQueryReturnTypesIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/query/SelectQueryReturnTypesIT.java
@@ -34,9 +34,9 @@ import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.return_types.ReturnTypesMap1;
 import org.apache.cayenne.unit.UnitDbAdapter;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 import java.util.List;
@@ -44,7 +44,7 @@ import java.util.List;
 import static org.junit.Assert.assertEquals;
 
 @UseCayenneRuntime(CayenneProjects.RETURN_TYPES_PROJECT)
-public class SelectQueryReturnTypesIT extends ServerCase {
+public class SelectQueryReturnTypesIT extends RuntimeCase {
 
     @Inject
     private ObjectContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/query/StatementFetchSizeIT.java b/cayenne/src/test/java/org/apache/cayenne/query/StatementFetchSizeIT.java
index 259b5075d..a8e621039 100644
--- a/cayenne/src/test/java/org/apache/cayenne/query/StatementFetchSizeIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/query/StatementFetchSizeIT.java
@@ -22,15 +22,15 @@ import org.apache.cayenne.ObjectContext;
 import org.apache.cayenne.ObjectId;
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.testdo.testmap.Artist;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 import static org.junit.Assert.assertEquals;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class StatementFetchSizeIT extends ServerCase {
+public class StatementFetchSizeIT extends RuntimeCase {
 
     @Inject
     private ObjectContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/reflect/LifecycleCallbackOrderIT.java b/cayenne/src/test/java/org/apache/cayenne/reflect/LifecycleCallbackOrderIT.java
index 30a69600f..979f6cf79 100644
--- a/cayenne/src/test/java/org/apache/cayenne/reflect/LifecycleCallbackOrderIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/reflect/LifecycleCallbackOrderIT.java
@@ -28,15 +28,15 @@ import org.apache.cayenne.annotation.PreRemove;
 import org.apache.cayenne.annotation.PreUpdate;
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.testdo.lifecycle_callbacks_order.Lifecycle;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 import static org.junit.Assert.assertEquals;
 
 @UseCayenneRuntime(CayenneProjects.LIFECYCLE_CALLBACKS_ORDER_PROJECT)
-public class LifecycleCallbackOrderIT extends ServerCase {
+public class LifecycleCallbackOrderIT extends RuntimeCase {
 
     @Inject
     private ObjectContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/reflect/LifecycleCallbackRegistryIT.java b/cayenne/src/test/java/org/apache/cayenne/reflect/LifecycleCallbackRegistryIT.java
index 9b261bfb3..28ca0d952 100644
--- a/cayenne/src/test/java/org/apache/cayenne/reflect/LifecycleCallbackRegistryIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/reflect/LifecycleCallbackRegistryIT.java
@@ -28,15 +28,15 @@ import org.apache.cayenne.testdo.testmap.Exhibit;
 import org.apache.cayenne.testdo.testmap.Gallery;
 import org.apache.cayenne.testdo.testmap.Painting;
 import org.apache.cayenne.testdo.testmap.annotations.Tag1;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 import static org.junit.Assert.assertEquals;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class LifecycleCallbackRegistryIT extends ServerCase {
+public class LifecycleCallbackRegistryIT extends RuntimeCase {
 
     @Inject
     private ObjectContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/reflect/LifecycleCallbackRegistry_InheritanceIT.java b/cayenne/src/test/java/org/apache/cayenne/reflect/LifecycleCallbackRegistry_InheritanceIT.java
index 3a19744b0..569f22c1f 100644
--- a/cayenne/src/test/java/org/apache/cayenne/reflect/LifecycleCallbackRegistry_InheritanceIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/reflect/LifecycleCallbackRegistry_InheritanceIT.java
@@ -28,15 +28,15 @@ import org.apache.cayenne.testdo.inheritance_flat.Role;
 import org.apache.cayenne.testdo.inheritance_flat.User;
 import org.apache.cayenne.testdo.inheritance_flat.UserProperties;
 import org.apache.cayenne.testdo.testmap.annotations.Tag2;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 import static org.junit.Assert.assertEquals;
 
 @UseCayenneRuntime(CayenneProjects.INHERITANCE_SINGLE_TABLE1_PROJECT)
-public class LifecycleCallbackRegistry_InheritanceIT extends ServerCase {
+public class LifecycleCallbackRegistry_InheritanceIT extends RuntimeCase {
 
     @Inject
     private ObjectContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/reflect/MixedPersistenceStrategyIT.java b/cayenne/src/test/java/org/apache/cayenne/reflect/MixedPersistenceStrategyIT.java
index dde3c7967..49c138a7f 100644
--- a/cayenne/src/test/java/org/apache/cayenne/reflect/MixedPersistenceStrategyIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/reflect/MixedPersistenceStrategyIT.java
@@ -27,9 +27,9 @@ import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.mixed_persistence_strategy.MixedPersistenceStrategy;
 import org.apache.cayenne.testdo.mixed_persistence_strategy.MixedPersistenceStrategy2;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -40,7 +40,7 @@ import static org.junit.Assert.assertTrue;
  * Tests conflicts between field and map-based persistence.
  */
 @UseCayenneRuntime(CayenneProjects.MIXED_PERSISTENCE_STRATEGY_PROJECT)
-public class MixedPersistenceStrategyIT extends ServerCase {
+public class MixedPersistenceStrategyIT extends RuntimeCase {
 
     @Inject
     protected ObjectContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/reflect/generic/DataObjectDescriptorFactoryIT.java b/cayenne/src/test/java/org/apache/cayenne/reflect/generic/DataObjectDescriptorFactoryIT.java
index 0b682ec7a..16e99ef44 100644
--- a/cayenne/src/test/java/org/apache/cayenne/reflect/generic/DataObjectDescriptorFactoryIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/reflect/generic/DataObjectDescriptorFactoryIT.java
@@ -30,9 +30,9 @@ import org.apache.cayenne.reflect.PropertyVisitor;
 import org.apache.cayenne.reflect.SingletonFaultFactory;
 import org.apache.cayenne.reflect.ToManyProperty;
 import org.apache.cayenne.reflect.ToOneProperty;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 import static org.junit.Assert.assertTrue;
@@ -40,7 +40,7 @@ import static org.junit.Assert.fail;
 import static org.mockito.Mockito.mock;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class DataObjectDescriptorFactoryIT extends ServerCase {
+public class DataObjectDescriptorFactoryIT extends RuntimeCase {
 
     @Inject
     private EntityResolver resolver;
diff --git a/cayenne/src/test/java/org/apache/cayenne/reflect/generic/DataObjectDescriptorFactory_InheritanceMapsIT.java b/cayenne/src/test/java/org/apache/cayenne/reflect/generic/DataObjectDescriptorFactory_InheritanceMapsIT.java
index 7dbb649ee..16f57d94d 100644
--- a/cayenne/src/test/java/org/apache/cayenne/reflect/generic/DataObjectDescriptorFactory_InheritanceMapsIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/reflect/generic/DataObjectDescriptorFactory_InheritanceMapsIT.java
@@ -29,15 +29,15 @@ import org.apache.cayenne.reflect.PropertyVisitor;
 import org.apache.cayenne.reflect.SingletonFaultFactory;
 import org.apache.cayenne.reflect.ToManyProperty;
 import org.apache.cayenne.reflect.ToOneProperty;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 import static org.mockito.Mockito.mock;
 
 @UseCayenneRuntime(CayenneProjects.INHERITANCE_SINGLE_TABLE1_PROJECT)
-public class DataObjectDescriptorFactory_InheritanceMapsIT extends ServerCase {
+public class DataObjectDescriptorFactory_InheritanceMapsIT extends RuntimeCase {
 
     @Inject
     private EntityResolver resolver;
diff --git a/cayenne/src/test/java/org/apache/cayenne/runtime/CayenneRuntimeBuilderIT.java b/cayenne/src/test/java/org/apache/cayenne/runtime/CayenneRuntimeBuilderIT.java
index 136cc862c..e9a963af4 100644
--- a/cayenne/src/test/java/org/apache/cayenne/runtime/CayenneRuntimeBuilderIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/runtime/CayenneRuntimeBuilderIT.java
@@ -35,16 +35,16 @@ import org.apache.cayenne.map.DataMap;
 import org.apache.cayenne.query.SQLSelect;
 import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
 
 @SuppressWarnings("deprecation")
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class CayenneRuntimeBuilderIT extends ServerCase {
+public class CayenneRuntimeBuilderIT extends RuntimeCase {
 
 	@Inject
 	private DBHelper dbHelper;
diff --git a/cayenne/src/test/java/org/apache/cayenne/runtime/CayenneRuntimeIT.java b/cayenne/src/test/java/org/apache/cayenne/runtime/CayenneRuntimeIT.java
index c26ab0f7b..64762a615 100644
--- a/cayenne/src/test/java/org/apache/cayenne/runtime/CayenneRuntimeIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/runtime/CayenneRuntimeIT.java
@@ -25,9 +25,9 @@ import org.apache.cayenne.query.ObjectSelect;
 import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.tx.Transaction;
 import org.apache.cayenne.tx.TransactionListener;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.apache.cayenne.validation.ValidationException;
 import org.junit.Test;
 
@@ -39,7 +39,7 @@ import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.Mockito.*;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class CayenneRuntimeIT extends ServerCase {
+public class CayenneRuntimeIT extends RuntimeCase {
 
     @Inject
     private CayenneRuntime runtime;
diff --git a/cayenne/src/test/java/org/apache/cayenne/template/directive/BindDirectiveIT.java b/cayenne/src/test/java/org/apache/cayenne/template/directive/BindDirectiveIT.java
index ae09b419c..3d0202593 100644
--- a/cayenne/src/test/java/org/apache/cayenne/template/directive/BindDirectiveIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/template/directive/BindDirectiveIT.java
@@ -45,16 +45,16 @@ import org.apache.cayenne.query.SQLTemplate;
 import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.testmap.Artist;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 /**
  * Tests BindDirective for passed null parameters and for not passed parameters
  */
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class BindDirectiveIT extends ServerCase {
+public class BindDirectiveIT extends RuntimeCase {
 
 	private static String INSERT_TEMPLATE = "INSERT INTO ARTIST (ARTIST_ID, ARTIST_NAME, DATE_OF_BIRTH) "
 			+ "VALUES (#bind($id), #bind($name), #bind($dob))";
diff --git a/cayenne/src/test/java/org/apache/cayenne/template/directive/ResultDirectiveIT.java b/cayenne/src/test/java/org/apache/cayenne/template/directive/ResultDirectiveIT.java
index d9654fb24..c1a7794f3 100644
--- a/cayenne/src/test/java/org/apache/cayenne/template/directive/ResultDirectiveIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/template/directive/ResultDirectiveIT.java
@@ -31,9 +31,9 @@ import org.apache.cayenne.runtime.CayenneRuntime;
 import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.testmap.Artist;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -44,7 +44,7 @@ import static org.junit.Assert.assertEquals;
  * optionally.
  */
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class ResultDirectiveIT extends ServerCase {
+public class ResultDirectiveIT extends RuntimeCase {
 
 	@Inject
 	private CayenneRuntime runtime;
diff --git a/cayenne/src/test/java/org/apache/cayenne/tx/TransactionCustomConnectionIT.java b/cayenne/src/test/java/org/apache/cayenne/tx/TransactionCustomConnectionIT.java
index c6318ce37..8d2029b9f 100644
--- a/cayenne/src/test/java/org/apache/cayenne/tx/TransactionCustomConnectionIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/tx/TransactionCustomConnectionIT.java
@@ -25,9 +25,9 @@ import org.apache.cayenne.log.JdbcEventLogger;
 import org.apache.cayenne.query.ObjectSelect;
 import org.apache.cayenne.runtime.CayenneRuntime;
 import org.apache.cayenne.testdo.testmap.Artist;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 import org.slf4j.Logger;
@@ -50,7 +50,7 @@ import static org.mockito.Mockito.*;
  * @since 4.2
  */
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class TransactionCustomConnectionIT extends ServerCase {
+public class TransactionCustomConnectionIT extends RuntimeCase {
 
     private final Logger logger = LoggerFactory.getLogger(TransactionIsolationIT.class);
 
diff --git a/cayenne/src/test/java/org/apache/cayenne/tx/TransactionIsolationIT.java b/cayenne/src/test/java/org/apache/cayenne/tx/TransactionIsolationIT.java
index fd569f659..6def062ca 100644
--- a/cayenne/src/test/java/org/apache/cayenne/tx/TransactionIsolationIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/tx/TransactionIsolationIT.java
@@ -32,9 +32,9 @@ import org.apache.cayenne.query.ObjectSelect;
 import org.apache.cayenne.runtime.CayenneRuntime;
 import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.unit.UnitDbAdapter;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 import org.slf4j.Logger;
@@ -46,7 +46,7 @@ import static org.junit.Assert.*;
  * @since 4.1
  */
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class TransactionIsolationIT extends ServerCase {
+public class TransactionIsolationIT extends RuntimeCase {
 
     private final Logger logger = LoggerFactory.getLogger(TransactionIsolationIT.class);
 
diff --git a/cayenne/src/test/java/org/apache/cayenne/tx/TransactionPropagationRollbackIT.java b/cayenne/src/test/java/org/apache/cayenne/tx/TransactionPropagationRollbackIT.java
index 697be0caa..26c6c304e 100644
--- a/cayenne/src/test/java/org/apache/cayenne/tx/TransactionPropagationRollbackIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/tx/TransactionPropagationRollbackIT.java
@@ -26,9 +26,9 @@ import org.apache.cayenne.runtime.CayenneRuntime;
 import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.testdo.testmap.Painting;
 import org.apache.cayenne.unit.UnitDbAdapter;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -45,7 +45,7 @@ import static org.junit.Assert.fail;
  * @since 4.1
  */
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class TransactionPropagationRollbackIT extends ServerCase {
+public class TransactionPropagationRollbackIT extends RuntimeCase {
 
     @Inject
     DataContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/tx/TransactionThreadIT.java b/cayenne/src/test/java/org/apache/cayenne/tx/TransactionThreadIT.java
index ac4c3a87d..b1d17e5b8 100644
--- a/cayenne/src/test/java/org/apache/cayenne/tx/TransactionThreadIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/tx/TransactionThreadIT.java
@@ -24,15 +24,15 @@ import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.log.JdbcEventLogger;
 import org.apache.cayenne.query.ObjectSelect;
 import org.apache.cayenne.testdo.testmap.Artist;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 import static org.junit.Assert.assertEquals;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class TransactionThreadIT extends ServerCase {
+public class TransactionThreadIT extends RuntimeCase {
 
     @Inject
     private DataContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/tx/UserTransactionIT.java b/cayenne/src/test/java/org/apache/cayenne/tx/UserTransactionIT.java
index 1224c3d2b..007dcce9c 100644
--- a/cayenne/src/test/java/org/apache/cayenne/tx/UserTransactionIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/tx/UserTransactionIT.java
@@ -23,9 +23,9 @@ import org.apache.cayenne.ObjectContext;
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.log.JdbcEventLogger;
 import org.apache.cayenne.testdo.testmap.Artist;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 import javax.sql.DataSource;
@@ -36,7 +36,7 @@ import java.util.Map;
 import static org.junit.Assert.assertEquals;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class UserTransactionIT extends ServerCase {
+public class UserTransactionIT extends RuntimeCase {
 
     @Inject
     private ObjectContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/unit/di/server/CayenneProjects.java b/cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/CayenneProjects.java
similarity index 99%
rename from cayenne/src/test/java/org/apache/cayenne/unit/di/server/CayenneProjects.java
rename to cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/CayenneProjects.java
index 1d4039912..e21c26935 100644
--- a/cayenne/src/test/java/org/apache/cayenne/unit/di/server/CayenneProjects.java
+++ b/cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/CayenneProjects.java
@@ -17,7 +17,7 @@
  *  under the License.
  ****************************************************************/
 
-package org.apache.cayenne.unit.di.server;
+package org.apache.cayenne.unit.di.runtime;
 
 public class CayenneProjects {
 
diff --git a/cayenne/src/test/java/org/apache/cayenne/unit/di/server/CayenneRuntimeProvider.java b/cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/CayenneRuntimeProvider.java
similarity index 81%
rename from cayenne/src/test/java/org/apache/cayenne/unit/di/server/CayenneRuntimeProvider.java
rename to cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/CayenneRuntimeProvider.java
index b59b1a0e4..21c4c91f2 100644
--- a/cayenne/src/test/java/org/apache/cayenne/unit/di/server/CayenneRuntimeProvider.java
+++ b/cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/CayenneRuntimeProvider.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  ****************************************************************/
-package org.apache.cayenne.unit.di.server;
+package org.apache.cayenne.unit.di.runtime;
 
 import org.apache.cayenne.ConfigurationException;
 import org.apache.cayenne.access.DataDomain;
@@ -37,15 +37,15 @@ import java.util.Collections;
 
 public class CayenneRuntimeProvider implements Provider<CayenneRuntime> {
 
-    private ServerCaseProperties properties;
-    private ServerCaseExtraModules extraModules;
-    private ServerCaseDataSourceFactory dataSourceFactory;
+    private RuntimeCaseProperties properties;
+    private RuntimeCaseExtraModules extraModules;
+    private RuntimeCaseDataSourceFactory dataSourceFactory;
     private UnitDbAdapter unitDbAdapter;
     private Provider<DbAdapter> dbAdapterProvider;
 
-    public CayenneRuntimeProvider(@Inject ServerCaseDataSourceFactory dataSourceFactory,
-                                  @Inject ServerCaseProperties properties,
-                                  @Inject ServerCaseExtraModules extraModules,
+    public CayenneRuntimeProvider(@Inject RuntimeCaseDataSourceFactory dataSourceFactory,
+                                  @Inject RuntimeCaseProperties properties,
+                                  @Inject RuntimeCaseExtraModules extraModules,
                                   @Inject Provider<DbAdapter> dbAdapterProvider,
                                   @Inject UnitDbAdapter unitDbAdapter) {
 
@@ -75,10 +75,10 @@ public class CayenneRuntimeProvider implements Provider<CayenneRuntime> {
     }
 
     protected Collection<? extends Module> getExtraModules() {
-        return Collections.singleton(new ServerExtraModule());
+        return Collections.singleton(new ExtraModule());
     }
 
-    class ServerExtraModule implements Module {
+    class ExtraModule implements Module {
 
         @Override
         public void configure(Binder binder) {
@@ -87,8 +87,8 @@ public class CayenneRuntimeProvider implements Provider<CayenneRuntime> {
             // dependencies needed by such overrides
 
             binder.bind(DbAdapter.class).toProviderInstance(dbAdapterProvider);
-            binder.bind(DataDomain.class).toProvider(ServerCaseDataDomainProvider.class);
-            binder.bind(DataNodeFactory.class).to(ServerCaseDataNodeFactory.class);
+            binder.bind(DataDomain.class).toProvider(RuntimeCaseDataDomainProvider.class);
+            binder.bind(DataNodeFactory.class).to(RuntimeCaseDataNodeFactory.class);
             binder.bind(UnitDbAdapter.class).toInstance(unitDbAdapter);
 
             CoreModule.extend(binder)
@@ -97,7 +97,7 @@ public class CayenneRuntimeProvider implements Provider<CayenneRuntime> {
                     .setProperty(Constants.OBJECT_RETAIN_STRATEGY_PROPERTY, "soft");
 
             // map DataSources for all test DataNode names
-            binder.bind(ServerCaseDataSourceFactory.class).toInstance(dataSourceFactory);
+            binder.bind(RuntimeCaseDataSourceFactory.class).toInstance(dataSourceFactory);
         }
     }
 }
diff --git a/cayenne/src/test/java/org/apache/cayenne/unit/di/server/CayenneRuntimeProviderContextsSync.java b/cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/CayenneRuntimeProviderContextsSync.java
similarity index 85%
rename from cayenne/src/test/java/org/apache/cayenne/unit/di/server/CayenneRuntimeProviderContextsSync.java
rename to cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/CayenneRuntimeProviderContextsSync.java
index 555032504..cc77fa3e3 100644
--- a/cayenne/src/test/java/org/apache/cayenne/unit/di/server/CayenneRuntimeProviderContextsSync.java
+++ b/cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/CayenneRuntimeProviderContextsSync.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  ****************************************************************/
-package org.apache.cayenne.unit.di.server;
+package org.apache.cayenne.unit.di.runtime;
 
 import org.apache.cayenne.configuration.runtime.CoreModule;
 import org.apache.cayenne.dba.DbAdapter;
@@ -33,9 +33,9 @@ import java.util.Collection;
  */
 public class CayenneRuntimeProviderContextsSync extends CayenneRuntimeProvider {
 
-    public CayenneRuntimeProviderContextsSync(@Inject ServerCaseDataSourceFactory dataSourceFactory,
-                                              @Inject ServerCaseProperties properties,
-                                              @Inject ServerCaseExtraModules extraModulesProperties,
+    public CayenneRuntimeProviderContextsSync(@Inject RuntimeCaseDataSourceFactory dataSourceFactory,
+                                              @Inject RuntimeCaseProperties properties,
+                                              @Inject RuntimeCaseExtraModules extraModulesProperties,
                                               @Inject Provider<DbAdapter> dbAdapterProvider,
                                               @Inject UnitDbAdapter unitDbAdapter) {
         super(dataSourceFactory, properties, extraModulesProperties, dbAdapterProvider, unitDbAdapter);
diff --git a/cayenne/src/test/java/org/apache/cayenne/unit/di/server/ConnectionProperties.java b/cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/ConnectionProperties.java
similarity index 98%
rename from cayenne/src/test/java/org/apache/cayenne/unit/di/server/ConnectionProperties.java
rename to cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/ConnectionProperties.java
index b8d8796b3..04d965c2d 100644
--- a/cayenne/src/test/java/org/apache/cayenne/unit/di/server/ConnectionProperties.java
+++ b/cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/ConnectionProperties.java
@@ -17,7 +17,7 @@
  *  under the License.
  ****************************************************************/
 
-package org.apache.cayenne.unit.di.server;
+package org.apache.cayenne.unit.di.runtime;
 
 import org.apache.cayenne.unit.UnitDataSourceDescriptor;
 
diff --git a/cayenne/src/test/java/org/apache/cayenne/unit/di/server/DBCleaner.java b/cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/DBCleaner.java
similarity index 98%
rename from cayenne/src/test/java/org/apache/cayenne/unit/di/server/DBCleaner.java
rename to cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/DBCleaner.java
index fc91afaeb..7c66ffcc8 100644
--- a/cayenne/src/test/java/org/apache/cayenne/unit/di/server/DBCleaner.java
+++ b/cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/DBCleaner.java
@@ -17,7 +17,7 @@
  *  under the License.
  ****************************************************************/
 
-package org.apache.cayenne.unit.di.server;
+package org.apache.cayenne.unit.di.runtime;
 
 import org.apache.cayenne.configuration.ConfigurationTree;
 import org.apache.cayenne.configuration.DataChannelDescriptor;
diff --git a/cayenne/src/test/java/org/apache/cayenne/unit/di/server/DBCleanerProvider.java b/cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/DBCleanerProvider.java
similarity index 92%
rename from cayenne/src/test/java/org/apache/cayenne/unit/di/server/DBCleanerProvider.java
rename to cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/DBCleanerProvider.java
index e3b59f7ce..e73c3f233 100644
--- a/cayenne/src/test/java/org/apache/cayenne/unit/di/server/DBCleanerProvider.java
+++ b/cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/DBCleanerProvider.java
@@ -17,7 +17,7 @@
  *  under the License.
  ****************************************************************/
 
-package org.apache.cayenne.unit.di.server;
+package org.apache.cayenne.unit.di.runtime;
 
 import org.apache.cayenne.ConfigurationException;
 import org.apache.cayenne.di.Inject;
@@ -30,7 +30,7 @@ public class DBCleanerProvider implements Provider<DBCleaner> {
     private DBHelper dbHelper;
 
     @Inject
-    protected Provider<ServerCaseProperties> propertiesProvider;
+    protected Provider<RuntimeCaseProperties> propertiesProvider;
 
     @Override
     public DBCleaner get() throws ConfigurationException {
diff --git a/cayenne/src/test/java/org/apache/cayenne/unit/di/server/ExtraModules.java b/cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/ExtraModules.java
similarity index 97%
rename from cayenne/src/test/java/org/apache/cayenne/unit/di/server/ExtraModules.java
rename to cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/ExtraModules.java
index 876c98928..fc741b5dd 100644
--- a/cayenne/src/test/java/org/apache/cayenne/unit/di/server/ExtraModules.java
+++ b/cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/ExtraModules.java
@@ -16,7 +16,7 @@
   *  specific language governing permissions and limitations
   *  under the License.
  ****************************************************************/
-package org.apache.cayenne.unit.di.server;
+package org.apache.cayenne.unit.di.runtime;
 
 import java.lang.annotation.Documented;
 import java.lang.annotation.Inherited;
diff --git a/cayenne/src/test/java/org/apache/cayenne/unit/di/server/FlavoredDBHelper.java b/cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/FlavoredDBHelper.java
similarity index 97%
rename from cayenne/src/test/java/org/apache/cayenne/unit/di/server/FlavoredDBHelper.java
rename to cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/FlavoredDBHelper.java
index 28b45e460..7b2108a77 100644
--- a/cayenne/src/test/java/org/apache/cayenne/unit/di/server/FlavoredDBHelper.java
+++ b/cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/FlavoredDBHelper.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  ****************************************************************/
-package org.apache.cayenne.unit.di.server;
+package org.apache.cayenne.unit.di.runtime;
 
 import javax.sql.DataSource;
 
diff --git a/cayenne/src/test/java/org/apache/cayenne/unit/di/server/FlavoredDBHelperProvider.java b/cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/FlavoredDBHelperProvider.java
similarity index 94%
rename from cayenne/src/test/java/org/apache/cayenne/unit/di/server/FlavoredDBHelperProvider.java
rename to cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/FlavoredDBHelperProvider.java
index 109ce31f8..0b8a56b46 100644
--- a/cayenne/src/test/java/org/apache/cayenne/unit/di/server/FlavoredDBHelperProvider.java
+++ b/cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/FlavoredDBHelperProvider.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  ****************************************************************/
-package org.apache.cayenne.unit.di.server;
+package org.apache.cayenne.unit.di.runtime;
 
 import org.apache.cayenne.ConfigurationException;
 import org.apache.cayenne.DataChannel;
@@ -30,7 +30,7 @@ import org.apache.cayenne.test.jdbc.DBHelper;
 public class FlavoredDBHelperProvider implements Provider<DBHelper> {
 
     @Inject
-    protected ServerCaseDataSourceFactory dataSourceFactory;
+    protected RuntimeCaseDataSourceFactory dataSourceFactory;
 
     @Inject
     // injecting provider to make this provider independent of scoping of CayenneRuntime
diff --git a/cayenne/src/test/java/org/apache/cayenne/unit/di/server/PeopleProjectCase.java b/cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/PeopleProjectCase.java
similarity index 93%
rename from cayenne/src/test/java/org/apache/cayenne/unit/di/server/PeopleProjectCase.java
rename to cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/PeopleProjectCase.java
index f6f688e99..fb9ec1a7d 100644
--- a/cayenne/src/test/java/org/apache/cayenne/unit/di/server/PeopleProjectCase.java
+++ b/cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/PeopleProjectCase.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  ****************************************************************/
-package org.apache.cayenne.unit.di.server;
+package org.apache.cayenne.unit.di.runtime;
 
 import java.sql.Types;
 
@@ -24,7 +24,7 @@ import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.test.jdbc.DBHelper;
 
 @UseCayenneRuntime(CayenneProjects.PEOPLE_PROJECT)
-public class PeopleProjectCase extends ServerCase {
+public class PeopleProjectCase extends RuntimeCase {
 
 	@Inject
 	protected DBHelper dbHelper;
diff --git a/cayenne/src/test/java/org/apache/cayenne/unit/di/server/ServerCase.java b/cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/RuntimeCase.java
similarity index 90%
rename from cayenne/src/test/java/org/apache/cayenne/unit/di/server/ServerCase.java
rename to cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/RuntimeCase.java
index d026159a2..86d56759f 100644
--- a/cayenne/src/test/java/org/apache/cayenne/unit/di/server/ServerCase.java
+++ b/cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/RuntimeCase.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  ****************************************************************/
-package org.apache.cayenne.unit.di.server;
+package org.apache.cayenne.unit.di.runtime;
 
 import org.apache.cayenne.di.DIBootstrap;
 import org.apache.cayenne.di.Inject;
@@ -25,7 +25,7 @@ import org.apache.cayenne.di.spi.DefaultScope;
 import org.apache.cayenne.unit.di.DICase;
 import org.junit.Before;
 
-public class ServerCase extends DICase {
+public class RuntimeCase extends DICase {
 
 	private static final Injector injector;
 
@@ -34,7 +34,7 @@ public class ServerCase extends DICase {
 
 	static {
 		DefaultScope testScope = new DefaultScope();
-		injector = DIBootstrap.createInjector(new ServerCaseModule(testScope));
+		injector = DIBootstrap.createInjector(new RuntimeCaseModule(testScope));
 		injector.getInstance(SchemaBuilder.class).rebuildSchema();
 	}
 
diff --git a/cayenne/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseBatchQueryBuilderFactoryProvider.java b/cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/RuntimeCaseBatchQueryBuilderFactoryProvider.java
similarity index 92%
rename from cayenne/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseBatchQueryBuilderFactoryProvider.java
rename to cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/RuntimeCaseBatchQueryBuilderFactoryProvider.java
index 1ea6ac717..e8459188c 100644
--- a/cayenne/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseBatchQueryBuilderFactoryProvider.java
+++ b/cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/RuntimeCaseBatchQueryBuilderFactoryProvider.java
@@ -16,14 +16,14 @@
  *  specific language governing permissions and limitations
  *  under the License.
  ****************************************************************/
-package org.apache.cayenne.unit.di.server;
+package org.apache.cayenne.unit.di.runtime;
 
 import org.apache.cayenne.ConfigurationException;
 import org.apache.cayenne.access.translator.batch.BatchTranslatorFactory;
 import org.apache.cayenne.access.translator.batch.DefaultBatchTranslatorFactory;
 import org.apache.cayenne.di.Provider;
 
-public class ServerCaseBatchQueryBuilderFactoryProvider implements
+public class RuntimeCaseBatchQueryBuilderFactoryProvider implements
         Provider<BatchTranslatorFactory> {
 
     public BatchTranslatorFactory get() throws ConfigurationException {
diff --git a/cayenne/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseDataChannelInterceptor.java b/cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/RuntimeCaseDataChannelInterceptor.java
similarity index 91%
rename from cayenne/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseDataChannelInterceptor.java
rename to cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/RuntimeCaseDataChannelInterceptor.java
index e02bf3ce9..4efe8434e 100644
--- a/cayenne/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseDataChannelInterceptor.java
+++ b/cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/RuntimeCaseDataChannelInterceptor.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  ****************************************************************/
-package org.apache.cayenne.unit.di.server;
+package org.apache.cayenne.unit.di.runtime;
 
 import org.apache.cayenne.access.UnitTestDomain;
 import org.apache.cayenne.di.Inject;
@@ -26,7 +26,7 @@ import org.apache.cayenne.unit.di.DataChannelInterceptor;
 import org.apache.cayenne.unit.di.DataChannelSyncStats;
 import org.apache.cayenne.unit.di.UnitTestClosure;
 
-public class ServerCaseDataChannelInterceptor implements DataChannelInterceptor {
+public class RuntimeCaseDataChannelInterceptor implements DataChannelInterceptor {
 
     @Inject
     // injecting provider to make this provider independent from scoping of CayenneRuntime
@@ -49,7 +49,7 @@ public class ServerCaseDataChannelInterceptor implements DataChannelInterceptor
 
     public int runWithQueryCounter(UnitTestClosure closure) {
         UnitTestDomain channel = (UnitTestDomain) runtimeProvider.get().getChannel();
-        ServerCaseDataNode node = (ServerCaseDataNode)channel.getDataNodes().iterator().next();
+        RuntimeCaseDataNode node = (RuntimeCaseDataNode)channel.getDataNodes().iterator().next();
 
         int start = node.getQueriesCount();
         int end;
diff --git a/cayenne/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseDataContextProvider.java b/cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/RuntimeCaseDataContextProvider.java
similarity index 91%
rename from cayenne/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseDataContextProvider.java
rename to cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/RuntimeCaseDataContextProvider.java
index 8c685d9d4..caf322bbb 100644
--- a/cayenne/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseDataContextProvider.java
+++ b/cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/RuntimeCaseDataContextProvider.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  ****************************************************************/
-package org.apache.cayenne.unit.di.server;
+package org.apache.cayenne.unit.di.runtime;
 
 import org.apache.cayenne.ConfigurationException;
 import org.apache.cayenne.ObjectContext;
@@ -24,7 +24,7 @@ import org.apache.cayenne.access.DataContext;
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.di.Provider;
 
-public class ServerCaseDataContextProvider implements Provider<DataContext> {
+public class RuntimeCaseDataContextProvider implements Provider<DataContext> {
 
     @Inject
     protected Provider<ObjectContext> objectContextProvider;
diff --git a/cayenne/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseDataDomainProvider.java b/cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/RuntimeCaseDataDomainProvider.java
similarity index 96%
rename from cayenne/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseDataDomainProvider.java
rename to cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/RuntimeCaseDataDomainProvider.java
index e89e9402b..3fb226b84 100644
--- a/cayenne/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseDataDomainProvider.java
+++ b/cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/RuntimeCaseDataDomainProvider.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  ****************************************************************/
-package org.apache.cayenne.unit.di.server;
+package org.apache.cayenne.unit.di.runtime;
 
 import org.apache.cayenne.access.DataDomain;
 import org.apache.cayenne.access.DataNode;
@@ -29,7 +29,7 @@ import org.apache.cayenne.map.DataMap;
 import org.apache.cayenne.map.Procedure;
 import org.apache.cayenne.unit.UnitDbAdapter;
 
-class ServerCaseDataDomainProvider extends DataDomainProvider {
+class RuntimeCaseDataDomainProvider extends DataDomainProvider {
 
     @Inject
     private UnitDbAdapter unitDbAdapter;
diff --git a/cayenne/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseDataNode.java b/cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/RuntimeCaseDataNode.java
similarity index 91%
rename from cayenne/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseDataNode.java
rename to cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/RuntimeCaseDataNode.java
index f14ebae10..d852f0dfd 100644
--- a/cayenne/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseDataNode.java
+++ b/cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/RuntimeCaseDataNode.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  ****************************************************************/
-package org.apache.cayenne.unit.di.server;
+package org.apache.cayenne.unit.di.runtime;
 
 import java.util.Collection;
 import java.util.concurrent.atomic.AtomicInteger;
@@ -25,11 +25,11 @@ import org.apache.cayenne.access.DataNode;
 import org.apache.cayenne.access.OperationObserver;
 import org.apache.cayenne.query.Query;
 
-public class ServerCaseDataNode extends DataNode {
+public class RuntimeCaseDataNode extends DataNode {
 
     AtomicInteger queryCounter = new AtomicInteger();
 
-    public ServerCaseDataNode(String name) {
+    public RuntimeCaseDataNode(String name) {
         super(name);
     }
 
diff --git a/cayenne/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseDataNodeFactory.java b/cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/RuntimeCaseDataNodeFactory.java
similarity index 91%
rename from cayenne/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseDataNodeFactory.java
rename to cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/RuntimeCaseDataNodeFactory.java
index e865f1729..d1a17f701 100644
--- a/cayenne/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseDataNodeFactory.java
+++ b/cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/RuntimeCaseDataNodeFactory.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  ****************************************************************/
-package org.apache.cayenne.unit.di.server;
+package org.apache.cayenne.unit.di.runtime;
 
 import org.apache.cayenne.access.DataNode;
 import org.apache.cayenne.access.dbsync.SkipSchemaUpdateStrategy;
@@ -30,7 +30,7 @@ import org.apache.cayenne.dba.DbAdapter;
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.log.JdbcEventLogger;
 
-public class ServerCaseDataNodeFactory implements DataNodeFactory {
+public class RuntimeCaseDataNodeFactory implements DataNodeFactory {
 
 	@Inject
 	private JdbcEventLogger jdbcEventLogger;
@@ -45,7 +45,7 @@ public class ServerCaseDataNodeFactory implements DataNodeFactory {
 	protected SelectTranslatorFactory selectTranslatorFactory;
 
 	@Inject
-	private ServerCaseDataSourceFactory dataSourceFactory;
+	private RuntimeCaseDataSourceFactory dataSourceFactory;
 
 	@Inject
 	private DbAdapter adapter;
@@ -55,7 +55,7 @@ public class ServerCaseDataNodeFactory implements DataNodeFactory {
 
 	@Override
 	public DataNode createDataNode(DataNodeDescriptor nodeDescriptor) throws Exception {
-		DataNode dataNode = new ServerCaseDataNode(nodeDescriptor.getName());
+		DataNode dataNode = new RuntimeCaseDataNode(nodeDescriptor.getName());
 
 		dataNode.setJdbcEventLogger(jdbcEventLogger);
 		dataNode.setRowReaderFactory(rowReaderFactory);
diff --git a/cayenne/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseDataNodeProvider.java b/cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/RuntimeCaseDataNodeProvider.java
similarity index 93%
rename from cayenne/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseDataNodeProvider.java
rename to cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/RuntimeCaseDataNodeProvider.java
index 77e577c9e..533c3aeb2 100644
--- a/cayenne/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseDataNodeProvider.java
+++ b/cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/RuntimeCaseDataNodeProvider.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  ****************************************************************/
-package org.apache.cayenne.unit.di.server;
+package org.apache.cayenne.unit.di.runtime;
 
 import org.apache.cayenne.ConfigurationException;
 import org.apache.cayenne.access.DataDomain;
@@ -25,7 +25,7 @@ import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.di.Provider;
 import org.apache.cayenne.runtime.CayenneRuntime;
 
-public class ServerCaseDataNodeProvider implements Provider<DataNode> {
+public class RuntimeCaseDataNodeProvider implements Provider<DataNode> {
 
     @Inject
     // injecting provider to make this provider independent from scoping of CayenneRuntime
diff --git a/cayenne/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseDataSourceDescriptorProvider.java b/cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/RuntimeCaseDataSourceDescriptorProvider.java
similarity index 96%
rename from cayenne/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseDataSourceDescriptorProvider.java
rename to cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/RuntimeCaseDataSourceDescriptorProvider.java
index b59a3d754..a91e18fed 100644
--- a/cayenne/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseDataSourceDescriptorProvider.java
+++ b/cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/RuntimeCaseDataSourceDescriptorProvider.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  ****************************************************************/
-package org.apache.cayenne.unit.di.server;
+package org.apache.cayenne.unit.di.runtime;
 
 import org.apache.cayenne.ConfigurationException;
 import org.apache.cayenne.dba.derby.DerbyAdapter;
@@ -38,9 +38,9 @@ import java.util.HashMap;
 import java.util.Map;
 import java.util.Properties;
 
-public class ServerCaseDataSourceDescriptorProvider implements Provider<UnitDataSourceDescriptor> {
+public class RuntimeCaseDataSourceDescriptorProvider implements Provider<UnitDataSourceDescriptor> {
 
-    private static final Logger logger = LoggerFactory.getLogger(ServerCaseDataSourceDescriptorProvider.class);
+    private static final Logger logger = LoggerFactory.getLogger(RuntimeCaseDataSourceDescriptorProvider.class);
 
     private static final String PROPERTIES_FILE = "connection.properties";
     private static final String CONNECTION_NAME_KEY = "cayenneTestConnection";
@@ -56,7 +56,7 @@ public class ServerCaseDataSourceDescriptorProvider implements Provider<UnitData
 
     private final Map<String, TestContainerProvider> testContainerProviders;
 
-    public ServerCaseDataSourceDescriptorProvider(@Inject Map<String, TestContainerProvider> testContainerProviders)
+    public RuntimeCaseDataSourceDescriptorProvider(@Inject Map<String, TestContainerProvider> testContainerProviders)
             throws IOException {
 
         this.testContainerProviders = testContainerProviders;
diff --git a/cayenne/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseDataSourceFactory.java b/cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/RuntimeCaseDataSourceFactory.java
similarity index 92%
rename from cayenne/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseDataSourceFactory.java
rename to cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/RuntimeCaseDataSourceFactory.java
index 8950b5f71..34c06952b 100644
--- a/cayenne/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseDataSourceFactory.java
+++ b/cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/RuntimeCaseDataSourceFactory.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  ****************************************************************/
-package org.apache.cayenne.unit.di.server;
+package org.apache.cayenne.unit.di.runtime;
 
 import java.sql.Driver;
 import java.util.Arrays;
@@ -32,7 +32,7 @@ import org.apache.cayenne.datasource.DataSourceBuilder;
 import org.apache.cayenne.di.AdhocObjectFactory;
 import org.apache.cayenne.di.Inject;
 
-public class ServerCaseDataSourceFactory {
+public class RuntimeCaseDataSourceFactory {
 
 	private DataSource sharedDataSource;
 	private DataSourceDescriptor dataSourceInfo;
@@ -40,7 +40,7 @@ public class ServerCaseDataSourceFactory {
 	private Set<String> mapsWithDedicatedDataSource;
 	private AdhocObjectFactory objectFactory;
 
-	public ServerCaseDataSourceFactory(@Inject DataSourceDescriptor dataSourceInfo, @Inject AdhocObjectFactory objectFactory) {
+	public RuntimeCaseDataSourceFactory(@Inject DataSourceDescriptor dataSourceInfo, @Inject AdhocObjectFactory objectFactory) {
 
 		this.objectFactory = objectFactory;
 		this.dataSourceInfo = dataSourceInfo;
diff --git a/cayenne/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseDbAdapterProvider.java b/cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/RuntimeCaseDbAdapterProvider.java
similarity index 93%
rename from cayenne/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseDbAdapterProvider.java
rename to cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/RuntimeCaseDbAdapterProvider.java
index d0837d011..b5326875d 100644
--- a/cayenne/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseDbAdapterProvider.java
+++ b/cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/RuntimeCaseDbAdapterProvider.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  ****************************************************************/
-package org.apache.cayenne.unit.di.server;
+package org.apache.cayenne.unit.di.runtime;
 
 import org.apache.cayenne.ConfigurationException;
 import org.apache.cayenne.configuration.runtime.PkGeneratorFactoryProvider;
@@ -28,12 +28,12 @@ import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.di.Provider;
 import org.apache.cayenne.unit.UnitDataSourceDescriptor;
 
-public class ServerCaseDbAdapterProvider implements Provider<JdbcAdapter> {
+public class RuntimeCaseDbAdapterProvider implements Provider<JdbcAdapter> {
     private UnitDataSourceDescriptor dataSourceInfo;
     private AdhocObjectFactory objectFactory;
     private PkGeneratorFactoryProvider pkGeneratorProvider;
 
-    public ServerCaseDbAdapterProvider(
+    public RuntimeCaseDbAdapterProvider(
             @Inject UnitDataSourceDescriptor dataSourceInfo,
             @Inject AdhocObjectFactory objectFactory,
             @Inject PkGeneratorFactoryProvider pkGeneratorProvider) {
diff --git a/cayenne/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseEntityResolverProvider.java b/cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/RuntimeCaseEntityResolverProvider.java
similarity index 91%
rename from cayenne/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseEntityResolverProvider.java
rename to cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/RuntimeCaseEntityResolverProvider.java
index a2708cf3f..352edea96 100644
--- a/cayenne/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseEntityResolverProvider.java
+++ b/cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/RuntimeCaseEntityResolverProvider.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  ****************************************************************/
-package org.apache.cayenne.unit.di.server;
+package org.apache.cayenne.unit.di.runtime;
 
 import org.apache.cayenne.ConfigurationException;
 import org.apache.cayenne.di.Inject;
@@ -24,7 +24,7 @@ import org.apache.cayenne.di.Provider;
 import org.apache.cayenne.map.EntityResolver;
 import org.apache.cayenne.runtime.CayenneRuntime;
 
-public class ServerCaseEntityResolverProvider implements Provider<EntityResolver> {
+public class RuntimeCaseEntityResolverProvider implements Provider<EntityResolver> {
 
     @Inject
     // injecting provider to make this provider independent from scoping of CayenneRuntime
diff --git a/cayenne/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseExtraModules.java b/cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/RuntimeCaseExtraModules.java
similarity index 95%
rename from cayenne/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseExtraModules.java
rename to cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/RuntimeCaseExtraModules.java
index 229848a50..1bb96429d 100644
--- a/cayenne/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseExtraModules.java
+++ b/cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/RuntimeCaseExtraModules.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  ****************************************************************/
-package org.apache.cayenne.unit.di.server;
+package org.apache.cayenne.unit.di.runtime;
 
 import org.apache.cayenne.di.Module;
 
@@ -26,7 +26,7 @@ import java.util.Collection;
 /**
  * @since 5.0
  */
-public class ServerCaseExtraModules {
+public class RuntimeCaseExtraModules {
     protected Class<?>[] extraModules;
 
     public Collection<? extends Module> getExtraModules() {
diff --git a/cayenne/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseLifecycleManager.java b/cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/RuntimeCaseLifecycleManager.java
similarity index 85%
rename from cayenne/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseLifecycleManager.java
rename to cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/RuntimeCaseLifecycleManager.java
index b0540f4ca..0dac39534 100644
--- a/cayenne/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseLifecycleManager.java
+++ b/cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/RuntimeCaseLifecycleManager.java
@@ -16,22 +16,22 @@
  *  specific language governing permissions and limitations
  *  under the License.
  ****************************************************************/
-package org.apache.cayenne.unit.di.server;
+package org.apache.cayenne.unit.di.runtime;
 
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.di.Provider;
 import org.apache.cayenne.di.spi.DefaultScope;
 import org.apache.cayenne.unit.di.DefaultUnitTestLifecycleManager;
 
-public class ServerCaseLifecycleManager extends DefaultUnitTestLifecycleManager {
+public class RuntimeCaseLifecycleManager extends DefaultUnitTestLifecycleManager {
 
     @Inject
-    protected Provider<ServerCaseProperties> propertiesProvider;
+    protected Provider<RuntimeCaseProperties> propertiesProvider;
 
     @Inject
-    protected Provider<ServerCaseExtraModules> extraModulesProvider;
+    protected Provider<RuntimeCaseExtraModules> extraModulesProvider;
 
-    public ServerCaseLifecycleManager(DefaultScope scope) {
+    public RuntimeCaseLifecycleManager(DefaultScope scope) {
         super(scope);
     }
 
diff --git a/cayenne/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseModule.java b/cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/RuntimeCaseModule.java
similarity index 89%
rename from cayenne/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseModule.java
rename to cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/RuntimeCaseModule.java
index 0bff011c2..6b2507e7b 100644
--- a/cayenne/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseModule.java
+++ b/cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/RuntimeCaseModule.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  ****************************************************************/
-package org.apache.cayenne.unit.di.server;
+package org.apache.cayenne.unit.di.runtime;
 
 import org.apache.cayenne.ObjectContext;
 import org.apache.cayenne.access.DataContext;
@@ -120,18 +120,18 @@ import org.xml.sax.XMLReader;
 import java.util.Calendar;
 import java.util.GregorianCalendar;
 
-public class ServerCaseModule implements Module {
+public class RuntimeCaseModule implements Module {
 
     protected DefaultScope testScope;
 
-    public ServerCaseModule(DefaultScope testScope) {
+    public RuntimeCaseModule(DefaultScope testScope) {
         this.testScope = testScope;
     }
 
     public void configure(Binder binder) {
 
         // these are the objects injectable in unit tests that subclass from
-        // ServerCase. Note that CayenneRuntimeProvider creates CayenneRuntime
+        // RuntimeCase. Note that CayenneRuntimeProvider creates CayenneRuntime
         // instances complete with their own DI injectors, independent of the
         // unit test injector. CayenneRuntime injector contents are customized
         // inside CayenneRuntimeProvider.
@@ -155,7 +155,7 @@ public class ServerCaseModule implements Module {
         binder.bind(PkGeneratorFactoryProvider.class).to(PkGeneratorFactoryProvider.class);
         binder.bind(PkGenerator.class).to(JdbcPkGenerator.class);
 
-        new ServerCaseModuleExtender(binder)
+        new RuntimeCaseModuleExtender(binder)
                 .initAllExtensions()
 
                 // Use soft references instead of default weak.
@@ -214,7 +214,7 @@ public class ServerCaseModule implements Module {
         binder.bind(ObjectMapRetainStrategy.class).to(DefaultObjectMapRetainStrategy.class);
 
         // singleton objects
-        binder.bind(UnitTestLifecycleManager.class).toInstance(new ServerCaseLifecycleManager(testScope));
+        binder.bind(UnitTestLifecycleManager.class).toInstance(new RuntimeCaseLifecycleManager(testScope));
 
         binder.bindMap(TestContainerProvider.class)
                 .put("mysql", MysqlContainerProvider.class)
@@ -224,7 +224,7 @@ public class ServerCaseModule implements Module {
                 .put("oracle", OracleContainerProvider.class)
                 .put("db2", Db2ContainerProvider.class);
 
-        binder.bind(UnitDataSourceDescriptor.class).toProvider(ServerCaseDataSourceDescriptorProvider.class);
+        binder.bind(UnitDataSourceDescriptor.class).toProvider(RuntimeCaseDataSourceDescriptorProvider.class);
         binder.bind(DataSourceDescriptor.class).toProviderInstance(new Provider<>() {
             @Inject
             UnitDataSourceDescriptor unitDataSourceDescriptor;
@@ -234,18 +234,18 @@ public class ServerCaseModule implements Module {
                 return unitDataSourceDescriptor;
             }
         });
-        binder.bind(DataSourceFactory.class).to(ServerCaseSharedDataSourceFactory.class);
-        binder.bind(DbAdapter.class).toProvider(ServerCaseDbAdapterProvider.class);
-        binder.bind(JdbcAdapter.class).toProvider(ServerCaseDbAdapterProvider.class);
+        binder.bind(DataSourceFactory.class).to(RuntimeCaseSharedDataSourceFactory.class);
+        binder.bind(DbAdapter.class).toProvider(RuntimeCaseDbAdapterProvider.class);
+        binder.bind(JdbcAdapter.class).toProvider(RuntimeCaseDbAdapterProvider.class);
         binder.bind(UnitDbAdapter.class).toProvider(UnitDbAdapterProvider.class);
 
         // this factory is a hack that allows to inject to DbAdapters loaded outside of
         // server runtime... BatchQueryBuilderFactory is hardcoded and whatever is placed
         // in the CoreModule is ignored
-        binder.bind(BatchTranslatorFactory.class).toProvider(ServerCaseBatchQueryBuilderFactoryProvider.class);
-        binder.bind(DataChannelInterceptor.class).to(ServerCaseDataChannelInterceptor.class);
+        binder.bind(BatchTranslatorFactory.class).toProvider(RuntimeCaseBatchQueryBuilderFactoryProvider.class);
+        binder.bind(DataChannelInterceptor.class).to(RuntimeCaseDataChannelInterceptor.class);
         binder.bind(SQLTemplateCustomizer.class).toProvider(SQLTemplateCustomizerProvider.class);
-        binder.bind(ServerCaseDataSourceFactory.class).to(ServerCaseDataSourceFactory.class);
+        binder.bind(RuntimeCaseDataSourceFactory.class).to(RuntimeCaseDataSourceFactory.class);
         binder.bind(ClassLoaderManager.class).to(DefaultClassLoaderManager.class);
         binder.bind(AdhocObjectFactory.class).to(DefaultAdhocObjectFactory.class);
         binder.bind(ResourceLocator.class).to(ClassLoaderResourceLocator.class);
@@ -259,20 +259,20 @@ public class ServerCaseModule implements Module {
         binder.bind(XMLReader.class).toProviderInstance(new XMLReaderProvider(false)).withoutScope();
 
         // test-scoped objects
-        binder.bind(EntityResolver.class).toProvider(ServerCaseEntityResolverProvider.class).in(testScope);
-        binder.bind(DataNode.class).toProvider(ServerCaseDataNodeProvider.class).in(testScope);
-        binder.bind(ServerCaseProperties.class).to(ServerCaseProperties.class).in(testScope);
-        binder.bind(ServerCaseExtraModules.class).to(ServerCaseExtraModules.class).in(testScope);
+        binder.bind(EntityResolver.class).toProvider(RuntimeCaseEntityResolverProvider.class).in(testScope);
+        binder.bind(DataNode.class).toProvider(RuntimeCaseDataNodeProvider.class).in(testScope);
+        binder.bind(RuntimeCaseProperties.class).to(RuntimeCaseProperties.class).in(testScope);
+        binder.bind(RuntimeCaseExtraModules.class).to(RuntimeCaseExtraModules.class).in(testScope);
         binder.bind(CayenneRuntime.class).toProvider(CayenneRuntimeProvider.class).in(testScope);
-        binder.bind(ObjectContext.class).toProvider(ServerCaseObjectContextProvider.class).withoutScope();
-        binder.bind(DataContext.class).toProvider(ServerCaseDataContextProvider.class).withoutScope();
+        binder.bind(ObjectContext.class).toProvider(RuntimeCaseObjectContextProvider.class).withoutScope();
+        binder.bind(DataContext.class).toProvider(RuntimeCaseDataContextProvider.class).withoutScope();
         binder.bind(DBHelper.class).toProvider(FlavoredDBHelperProvider.class).in(testScope);
         binder.bind(DBCleaner.class).toProvider(DBCleanerProvider.class).in(testScope);
     }
 
     // this class exists so that ToolsModule can call "initAllExtensions()" that is protected in CoreModuleExtender.
-    static class ServerCaseModuleExtender extends CoreModuleExtender {
-        public ServerCaseModuleExtender(Binder binder) {
+    static class RuntimeCaseModuleExtender extends CoreModuleExtender {
+        public RuntimeCaseModuleExtender(Binder binder) {
             super(binder);
         }
 
diff --git a/cayenne/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseObjectContextProvider.java b/cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/RuntimeCaseObjectContextProvider.java
similarity index 91%
rename from cayenne/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseObjectContextProvider.java
rename to cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/RuntimeCaseObjectContextProvider.java
index e57ba8d64..8b1fa00be 100644
--- a/cayenne/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseObjectContextProvider.java
+++ b/cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/RuntimeCaseObjectContextProvider.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  ****************************************************************/
-package org.apache.cayenne.unit.di.server;
+package org.apache.cayenne.unit.di.runtime;
 
 import org.apache.cayenne.ConfigurationException;
 import org.apache.cayenne.ObjectContext;
@@ -24,7 +24,7 @@ import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.di.Provider;
 import org.apache.cayenne.runtime.CayenneRuntime;
 
-public class ServerCaseObjectContextProvider implements Provider<ObjectContext> {
+public class RuntimeCaseObjectContextProvider implements Provider<ObjectContext> {
 
     @Inject
     // injecting provider to make this provider independent from scoping of CayenneRuntime
diff --git a/cayenne/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseProperties.java b/cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/RuntimeCaseProperties.java
similarity index 94%
rename from cayenne/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseProperties.java
rename to cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/RuntimeCaseProperties.java
index 58519906b..13ee8a360 100644
--- a/cayenne/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseProperties.java
+++ b/cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/RuntimeCaseProperties.java
@@ -16,12 +16,12 @@
  *  specific language governing permissions and limitations
  *  under the License.
  ****************************************************************/
-package org.apache.cayenne.unit.di.server;
+package org.apache.cayenne.unit.di.runtime;
 
 /**
  * Stores various unit test properties. This object should be bound in a unit test scope.
  */
-public class ServerCaseProperties {
+public class RuntimeCaseProperties {
 
     protected String configurationLocation;
 
diff --git a/cayenne/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseSelfIT.java b/cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/RuntimeCaseSelfIT.java
similarity index 93%
rename from cayenne/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseSelfIT.java
rename to cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/RuntimeCaseSelfIT.java
index e3ad4b3b0..47b2771b0 100644
--- a/cayenne/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseSelfIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/RuntimeCaseSelfIT.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  ****************************************************************/
-package org.apache.cayenne.unit.di.server;
+package org.apache.cayenne.unit.di.runtime;
 
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.di.Provider;
@@ -29,7 +29,7 @@ import static org.junit.Assert.assertNotSame;
 import static org.junit.Assert.assertSame;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class ServerCaseSelfIT extends ServerCase {
+public class RuntimeCaseSelfIT extends RuntimeCase {
 
     @Inject
     protected CayenneRuntime runtime;
@@ -38,7 +38,7 @@ public class ServerCaseSelfIT extends ServerCase {
     protected Provider<CayenneRuntime> runtimeProvider;
 
     @Inject
-    protected ServerCaseProperties properties;
+    protected RuntimeCaseProperties properties;
 
     @Test
     public void testSetup_TearDown_Runtime() throws Exception {
diff --git a/cayenne/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseSharedDataSourceFactory.java b/cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/RuntimeCaseSharedDataSourceFactory.java
similarity index 83%
rename from cayenne/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseSharedDataSourceFactory.java
rename to cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/RuntimeCaseSharedDataSourceFactory.java
index e2e1638c1..c5a953330 100644
--- a/cayenne/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseSharedDataSourceFactory.java
+++ b/cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/RuntimeCaseSharedDataSourceFactory.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  ****************************************************************/
-package org.apache.cayenne.unit.di.server;
+package org.apache.cayenne.unit.di.runtime;
 
 import org.apache.cayenne.configuration.DataNodeDescriptor;
 import org.apache.cayenne.configuration.runtime.DataSourceFactory;
@@ -24,11 +24,11 @@ import org.apache.cayenne.di.Inject;
 
 import javax.sql.DataSource;
 
-public class ServerCaseSharedDataSourceFactory implements DataSourceFactory {
+public class RuntimeCaseSharedDataSourceFactory implements DataSourceFactory {
 
-    private ServerCaseDataSourceFactory factory;
+    private RuntimeCaseDataSourceFactory factory;
 
-    public ServerCaseSharedDataSourceFactory(@Inject ServerCaseDataSourceFactory factory) {
+    public RuntimeCaseSharedDataSourceFactory(@Inject RuntimeCaseDataSourceFactory factory) {
         this.factory = factory;
     }
 
diff --git a/cayenne/src/test/java/org/apache/cayenne/unit/di/server/SQLTemplateCustomizerProvider.java b/cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/SQLTemplateCustomizerProvider.java
similarity index 98%
rename from cayenne/src/test/java/org/apache/cayenne/unit/di/server/SQLTemplateCustomizerProvider.java
rename to cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/SQLTemplateCustomizerProvider.java
index 2f559f120..68df78107 100644
--- a/cayenne/src/test/java/org/apache/cayenne/unit/di/server/SQLTemplateCustomizerProvider.java
+++ b/cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/SQLTemplateCustomizerProvider.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  ****************************************************************/
-package org.apache.cayenne.unit.di.server;
+package org.apache.cayenne.unit.di.runtime;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/cayenne/src/test/java/org/apache/cayenne/unit/di/server/SchemaBuilder.java b/cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/SchemaBuilder.java
similarity index 97%
rename from cayenne/src/test/java/org/apache/cayenne/unit/di/server/SchemaBuilder.java
rename to cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/SchemaBuilder.java
index d89054bc9..407534259 100644
--- a/cayenne/src/test/java/org/apache/cayenne/unit/di/server/SchemaBuilder.java
+++ b/cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/SchemaBuilder.java
@@ -17,7 +17,7 @@
  *  under the License.
  ****************************************************************/
 
-package org.apache.cayenne.unit.di.server;
+package org.apache.cayenne.unit.di.runtime;
 
 import org.apache.cayenne.access.DataDomain;
 import org.apache.cayenne.access.DataNode;
@@ -93,7 +93,7 @@ public class SchemaBuilder {
 
 	private static final Set<String> EXTRA_EXCLUDED_FOR_NO_NATIVE_JSON = Set.of("JSON_OTHER");
 
-	private ServerCaseDataSourceFactory dataSourceFactory;
+	private RuntimeCaseDataSourceFactory dataSourceFactory;
 	private UnitDbAdapter unitDbAdapter;
 	private DbAdapter dbAdapter;
 	private DataDomain domain;
@@ -102,8 +102,8 @@ public class SchemaBuilder {
 	@Inject
 	DataMapLoader loader;
 
-	public SchemaBuilder(@Inject ServerCaseDataSourceFactory dataSourceFactory, @Inject UnitDbAdapter unitDbAdapter,
-			@Inject DbAdapter dbAdapter, @Inject JdbcEventLogger jdbcEventLogger) {
+	public SchemaBuilder(@Inject RuntimeCaseDataSourceFactory dataSourceFactory, @Inject UnitDbAdapter unitDbAdapter,
+                         @Inject DbAdapter dbAdapter, @Inject JdbcEventLogger jdbcEventLogger) {
 		this.dataSourceFactory = dataSourceFactory;
 		this.unitDbAdapter = unitDbAdapter;
 		this.dbAdapter = dbAdapter;
diff --git a/cayenne/src/test/java/org/apache/cayenne/unit/di/server/UnitDbAdapterProvider.java b/cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/UnitDbAdapterProvider.java
similarity index 98%
rename from cayenne/src/test/java/org/apache/cayenne/unit/di/server/UnitDbAdapterProvider.java
rename to cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/UnitDbAdapterProvider.java
index 7cc31c0b6..41c37a689 100644
--- a/cayenne/src/test/java/org/apache/cayenne/unit/di/server/UnitDbAdapterProvider.java
+++ b/cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/UnitDbAdapterProvider.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  ****************************************************************/
-package org.apache.cayenne.unit.di.server;
+package org.apache.cayenne.unit.di.runtime;
 
 import java.lang.reflect.Constructor;
 import java.util.Map;
diff --git a/cayenne/src/test/java/org/apache/cayenne/unit/di/server/UseCayenneRuntime.java b/cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/UseCayenneRuntime.java
similarity index 97%
rename from cayenne/src/test/java/org/apache/cayenne/unit/di/server/UseCayenneRuntime.java
rename to cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/UseCayenneRuntime.java
index 28e4e7542..fb793e5a8 100644
--- a/cayenne/src/test/java/org/apache/cayenne/unit/di/server/UseCayenneRuntime.java
+++ b/cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/UseCayenneRuntime.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  ****************************************************************/
-package org.apache.cayenne.unit.di.server;
+package org.apache.cayenne.unit.di.runtime;
 
 import java.lang.annotation.Documented;
 import java.lang.annotation.ElementType;
diff --git a/cayenne/src/test/java/org/apache/cayenne/unit/di/server/WeakReferenceStrategyCayenneRuntimeProvider.java b/cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/WeakReferenceStrategyCayenneRuntimeProvider.java
similarity index 84%
rename from cayenne/src/test/java/org/apache/cayenne/unit/di/server/WeakReferenceStrategyCayenneRuntimeProvider.java
rename to cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/WeakReferenceStrategyCayenneRuntimeProvider.java
index e128e914a..9628fb2ba 100644
--- a/cayenne/src/test/java/org/apache/cayenne/unit/di/server/WeakReferenceStrategyCayenneRuntimeProvider.java
+++ b/cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/WeakReferenceStrategyCayenneRuntimeProvider.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  ****************************************************************/
-package org.apache.cayenne.unit.di.server;
+package org.apache.cayenne.unit.di.runtime;
 
 import org.apache.cayenne.configuration.Constants;
 import org.apache.cayenne.configuration.runtime.CoreModule;
@@ -31,9 +31,9 @@ import java.util.Collection;
 
 public class WeakReferenceStrategyCayenneRuntimeProvider extends CayenneRuntimeProvider {
 
-    public WeakReferenceStrategyCayenneRuntimeProvider(@Inject ServerCaseDataSourceFactory dataSourceFactory,
-                                                       @Inject ServerCaseProperties properties,
-                                                       @Inject ServerCaseExtraModules extraModulesProperties,
+    public WeakReferenceStrategyCayenneRuntimeProvider(@Inject RuntimeCaseDataSourceFactory dataSourceFactory,
+                                                       @Inject RuntimeCaseProperties properties,
+                                                       @Inject RuntimeCaseExtraModules extraModulesProperties,
                                                        @Inject Provider<DbAdapter> dbAdapterProvider,
                                                        @Inject UnitDbAdapter unitDbAdapter) {
         super(dataSourceFactory, properties, extraModulesProperties, dbAdapterProvider, unitDbAdapter);
diff --git a/cayenne/src/test/java/org/apache/cayenne/unit/di/server/WeakReferenceStrategyServerCase.java b/cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/WeakReferenceStrategyRuntimeCase.java
similarity index 90%
rename from cayenne/src/test/java/org/apache/cayenne/unit/di/server/WeakReferenceStrategyServerCase.java
rename to cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/WeakReferenceStrategyRuntimeCase.java
index 51c9365fa..f91700fef 100644
--- a/cayenne/src/test/java/org/apache/cayenne/unit/di/server/WeakReferenceStrategyServerCase.java
+++ b/cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/WeakReferenceStrategyRuntimeCase.java
@@ -16,18 +16,18 @@
  *  specific language governing permissions and limitations
  *  under the License.
  ****************************************************************/
-package org.apache.cayenne.unit.di.server;
+package org.apache.cayenne.unit.di.runtime;
 
 import org.apache.cayenne.di.DIBootstrap;
 import org.apache.cayenne.di.Injector;
 import org.apache.cayenne.di.spi.DefaultScope;
 
-public class WeakReferenceStrategyServerCase extends ServerCase {
+public class WeakReferenceStrategyRuntimeCase extends RuntimeCase {
     private static final Injector injector;
 
     static {
         DefaultScope testScope = new DefaultScope();
-        injector = DIBootstrap.createInjector(new WeakReferenceStrategyServerCaseModule(testScope));
+        injector = DIBootstrap.createInjector(new WeakReferenceStrategyRuntimeCaseModule(testScope));
         injector.getInstance(SchemaBuilder.class).rebuildSchema();
     }
 
diff --git a/cayenne/src/test/java/org/apache/cayenne/unit/di/server/WeakReferenceStrategyServerCaseModule.java b/cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/WeakReferenceStrategyRuntimeCaseModule.java
similarity index 86%
rename from cayenne/src/test/java/org/apache/cayenne/unit/di/server/WeakReferenceStrategyServerCaseModule.java
rename to cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/WeakReferenceStrategyRuntimeCaseModule.java
index 0f0146271..dc8dd83bb 100644
--- a/cayenne/src/test/java/org/apache/cayenne/unit/di/server/WeakReferenceStrategyServerCaseModule.java
+++ b/cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/WeakReferenceStrategyRuntimeCaseModule.java
@@ -16,15 +16,15 @@
  *  specific language governing permissions and limitations
  *  under the License.
  ****************************************************************/
-package org.apache.cayenne.unit.di.server;
+package org.apache.cayenne.unit.di.runtime;
 
 import org.apache.cayenne.di.Binder;
 import org.apache.cayenne.di.spi.DefaultScope;
 import org.apache.cayenne.runtime.CayenneRuntime;
 
-public class WeakReferenceStrategyServerCaseModule extends ServerCaseModule {
+public class WeakReferenceStrategyRuntimeCaseModule extends RuntimeCaseModule {
 
-    public WeakReferenceStrategyServerCaseModule(DefaultScope testScope) {
+    public WeakReferenceStrategyRuntimeCaseModule(DefaultScope testScope) {
         super(testScope);
     }
 
diff --git a/cayenne/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseContextsSync.java b/cayenne/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseContextsSync.java
deleted file mode 100644
index 715d1c9b4..000000000
--- a/cayenne/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseContextsSync.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*****************************************************************
- *   Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *    https://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- ****************************************************************/
-package org.apache.cayenne.unit.di.server;
-
-import org.apache.cayenne.configuration.runtime.CoreModule;
-import org.apache.cayenne.di.DIBootstrap;
-import org.apache.cayenne.di.Inject;
-import org.apache.cayenne.di.Injector;
-import org.apache.cayenne.di.spi.DefaultScope;
-import org.apache.cayenne.runtime.CayenneRuntime;
-import org.apache.cayenne.unit.di.DICase;
-import org.junit.Before;
-
-/**
- * @since 4.1
- */
-public class ServerCaseContextsSync extends DICase {
-    private static final Injector injector;
-
-    @Inject
-    private DBCleaner dbCleaner;
-
-    static {
-        DefaultScope testScope = new DefaultScope();
-        injector = DIBootstrap.createInjector(
-                new ServerCaseModule(testScope),
-                binder -> {
-                    binder.bind(CayenneRuntime.class).toProvider(CayenneRuntimeProviderContextsSync.class).in(testScope);
-                    CoreModule.extend(binder).syncContexts();
-                });
-        injector.getInstance(SchemaBuilder.class).rebuildSchema();
-    }
-
-    @Before
-    public void cleanUpDB() throws Exception {
-        try {
-            dbCleaner.clean();
-        } catch (Exception ex) {
-            dbCleaner.clean();
-        }
-    }
-
-    @Override
-    protected Injector getUnitTestInjector() {
-        return injector;
-    }
-}
diff --git a/cayenne/src/test/java/org/apache/cayenne/unit/jira/CAY_115IT.java b/cayenne/src/test/java/org/apache/cayenne/unit/jira/CAY_115IT.java
index b0616eaad..2ae9534d7 100644
--- a/cayenne/src/test/java/org/apache/cayenne/unit/jira/CAY_115IT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/unit/jira/CAY_115IT.java
@@ -28,9 +28,9 @@ import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.relationships_clob.ClobMaster;
 import org.apache.cayenne.unit.UnitDbAdapter;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -41,7 +41,7 @@ import static org.junit.Assert.assertEquals;
 /**
  */
 @UseCayenneRuntime(CayenneProjects.RELATIONSHIPS_CLOB_PROJECT)
-public class CAY_115IT extends ServerCase {
+public class CAY_115IT extends RuntimeCase {
 
     @Inject
     protected DataContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/unit/jira/CAY_191IT.java b/cayenne/src/test/java/org/apache/cayenne/unit/jira/CAY_191IT.java
index d2a672c8d..269fb7624 100644
--- a/cayenne/src/test/java/org/apache/cayenne/unit/jira/CAY_191IT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/unit/jira/CAY_191IT.java
@@ -25,9 +25,9 @@ import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.relationships.FkOfDifferentType;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -35,7 +35,7 @@ import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 
 @UseCayenneRuntime(CayenneProjects.RELATIONSHIPS_PROJECT)
-public class CAY_191IT extends ServerCase {
+public class CAY_191IT extends RuntimeCase {
     
     @Inject
     protected DataContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/unit/jira/CAY_194IT.java b/cayenne/src/test/java/org/apache/cayenne/unit/jira/CAY_194IT.java
index 8f2d868f4..3d9376030 100644
--- a/cayenne/src/test/java/org/apache/cayenne/unit/jira/CAY_194IT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/unit/jira/CAY_194IT.java
@@ -25,9 +25,9 @@ import org.apache.cayenne.query.ObjectSelect;
 import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.relationships.ReflexiveAndToOne;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -43,7 +43,7 @@ import static org.junit.Assert.assertSame;
 // TODO: this is really a qualifier translator general test...
 // need to find an appropriate place in unit tests..
 @UseCayenneRuntime(CayenneProjects.RELATIONSHIPS_PROJECT)
-public class CAY_194IT extends ServerCase {
+public class CAY_194IT extends RuntimeCase {
 
     @Inject
     protected DataContext context;
diff --git a/cayenne/src/test/java/org/apache/cayenne/util/DeepMergeOperationIT.java b/cayenne/src/test/java/org/apache/cayenne/util/DeepMergeOperationIT.java
index bf3ea1571..d1cf1e97a 100644
--- a/cayenne/src/test/java/org/apache/cayenne/util/DeepMergeOperationIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/util/DeepMergeOperationIT.java
@@ -25,9 +25,9 @@ import org.apache.cayenne.access.DataContext;
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.unit.di.DataChannelInterceptor;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Test;
 
 import static org.junit.Assert.assertEquals;
@@ -35,7 +35,7 @@ import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertSame;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class DeepMergeOperationIT extends ServerCase {
+public class DeepMergeOperationIT extends RuntimeCase {
 
     @Inject
     private DataChannelInterceptor queryInterceptor;
diff --git a/cayenne/src/test/java/org/apache/cayenne/util/DeepMergeOperationInheritanceIT.java b/cayenne/src/test/java/org/apache/cayenne/util/DeepMergeOperationInheritanceIT.java
index e71a9db3f..c0559e760 100644
--- a/cayenne/src/test/java/org/apache/cayenne/util/DeepMergeOperationInheritanceIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/util/DeepMergeOperationInheritanceIT.java
@@ -27,7 +27,7 @@ import org.apache.cayenne.testdo.inheritance_people.Department;
 import org.apache.cayenne.testdo.inheritance_people.Employee;
 import org.apache.cayenne.testdo.inheritance_people.Manager;
 import org.apache.cayenne.unit.di.DataChannelInterceptor;
-import org.apache.cayenne.unit.di.server.PeopleProjectCase;
+import org.apache.cayenne.unit.di.runtime.PeopleProjectCase;
 import org.junit.Test;
 
 import static org.hamcrest.CoreMatchers.*;
diff --git a/cayenne/src/test/java/org/apache/cayenne/util/ShallowMergeOperationIT.java b/cayenne/src/test/java/org/apache/cayenne/util/ShallowMergeOperationIT.java
index c20f3eb16..3a95e24cb 100644
--- a/cayenne/src/test/java/org/apache/cayenne/util/ShallowMergeOperationIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/util/ShallowMergeOperationIT.java
@@ -33,9 +33,9 @@ import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.testdo.testmap.Painting;
 import org.apache.cayenne.unit.di.DataChannelInterceptor;
 import org.apache.cayenne.unit.di.UnitTestClosure;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -44,7 +44,7 @@ import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertSame;
 
 @UseCayenneRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class ShallowMergeOperationIT extends ServerCase {
+public class ShallowMergeOperationIT extends RuntimeCase {
 
     @Inject
     private CayenneRuntime runtime;
diff --git a/cayenne/src/test/java/org/apache/cayenne/value/json/JsonTypeIT.java b/cayenne/src/test/java/org/apache/cayenne/value/json/JsonTypeIT.java
index 98726660b..63c36a694 100644
--- a/cayenne/src/test/java/org/apache/cayenne/value/json/JsonTypeIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/value/json/JsonTypeIT.java
@@ -25,9 +25,9 @@ import org.apache.cayenne.query.SelectById;
 import org.apache.cayenne.testdo.json.JsonOther;
 import org.apache.cayenne.testdo.json.JsonVarchar;
 import org.apache.cayenne.unit.UnitDbAdapter;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseCayenneRuntime;
+import org.apache.cayenne.unit.di.runtime.CayenneProjects;
+import org.apache.cayenne.unit.di.runtime.RuntimeCase;
+import org.apache.cayenne.unit.di.runtime.UseCayenneRuntime;
 import org.apache.cayenne.value.Json;
 import org.junit.Test;
 
@@ -35,7 +35,7 @@ import static org.junit.Assert.assertThrows;
 import static org.junit.Assert.assertEquals;
 
 @UseCayenneRuntime(CayenneProjects.JSON_PROJECT)
-public class JsonTypeIT extends ServerCase {
+public class JsonTypeIT extends RuntimeCase {
 
     @Inject
     private DataContext context;
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/objentity/ClassNameUpdater.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/objentity/ClassNameUpdater.java
index 67f2b8e96..5833f1dd3 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/objentity/ClassNameUpdater.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/objentity/ClassNameUpdater.java
@@ -49,31 +49,31 @@ public class ClassNameUpdater extends CayenneController {
         this.view = null;
         this.updatePerformed = false;
 
-        boolean askForServerUpdate = true;
+        boolean askForUpdate = true;
 
-        String oldServerName = entity.getClassName();
-        String suggestedServerName = suggestedServerClassName();
+        String oldName = entity.getClassName();
+        String suggestedName = suggestedClassName();
 
-        if (oldServerName == null || oldServerName.length() == 0) {
+        if (oldName == null || oldName.length() == 0) {
             // generic entity...
-            askForServerUpdate = false;
-        } else if (suggestedServerName == null || suggestedServerName.equals(oldServerName)) {
-            askForServerUpdate = false;
-        } else if (oldServerName.contains("UntitledObjEntity")) {
+            askForUpdate = false;
+        } else if (suggestedName == null || suggestedName.equals(oldName)) {
+            askForUpdate = false;
+        } else if (oldName.contains("UntitledObjEntity")) {
             // update without user interaction
-            entity.setClassName(suggestedServerName);
+            entity.setClassName(suggestedName);
             updatePerformed = true;
-            askForServerUpdate = false;
+            askForUpdate = false;
         }
 
-        if (askForServerUpdate) {
+        if (askForUpdate) {
             // start dialog
             view = new ClassNameUpdaterView();
             view.getServerClass().setVisible(true);
             view.getServerClass().setSelected(true);
-            view.getServerClass().setText("Change Class Name to '" + suggestedServerName + "'");
+            view.getServerClass().setText("Change Class Name to '" + suggestedName + "'");
 
-            initBindings(suggestedServerName);
+            initBindings(suggestedName);
 
             view.pack();
             view.setModal(true);
@@ -85,7 +85,7 @@ public class ClassNameUpdater extends CayenneController {
         return this.updatePerformed;
     }
 
-    private String suggestedServerClassName() {
+    private String suggestedClassName() {
         String pkg = entity.getDataMap() == null ? null : entity.getDataMap().getDefaultPackage();
         return suggestedClassName(entity.getName(), pkg, entity.getClassName());
     }
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/CreateTemplateFromDefaultView.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/CreateTemplateFromDefaultView.java
deleted file mode 100644
index 74b5836e9..000000000
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/CreateTemplateFromDefaultView.java
+++ /dev/null
@@ -1,143 +0,0 @@
-/*****************************************************************
- *   Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *    https://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- ****************************************************************/
-
-package org.apache.cayenne.modeler.dialog.pref;
-
-import com.jgoodies.forms.builder.PanelBuilder;
-import com.jgoodies.forms.layout.CellConstraints;
-import com.jgoodies.forms.layout.FormLayout;
-import org.apache.cayenne.gen.TemplateType;
-import org.apache.cayenne.swing.control.FileChooser;
-
-import javax.swing.JButton;
-import javax.swing.JCheckBox;
-import javax.swing.JDialog;
-import javax.swing.JPanel;
-import javax.swing.JTextField;
-import java.awt.BorderLayout;
-import java.awt.FlowLayout;
-import java.awt.Font;
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * @since 5.0
- */
-public class CreateTemplateFromDefaultView extends JDialog {
-
-    protected JTextField prefix;
-    protected FileChooser folderChooser;
-    protected JCheckBox selectAll;
-    protected JButton createButton;
-    protected JButton cancelButton;
-    protected JCheckBox standardServerSuperclass;
-    protected JCheckBox standardServerSubclass;
-    protected JCheckBox standardEmbeddableSuperclass;
-    protected JCheckBox standardEmbeddableSubclass;
-    protected JCheckBox standardServerDataMapSuperclass;
-    protected JCheckBox standardServerDataMapSubclass;
-
-
-    public CreateTemplateFromDefaultView(JDialog parent) {
-        super(parent, "Create from defaults templates");
-
-        this.selectAll = new JCheckBox("Select all");
-        this.selectAll.setFont( new Font(getFont().getName(), Font.BOLD, getFont().getSize()));
-        this.standardServerSuperclass = new JCheckBox(TemplateType.ENTITY_SUPERCLASS.readableName());
-        this.standardServerSubclass = new JCheckBox(TemplateType.ENTITY_SUBCLASS.readableName());
-        this.standardEmbeddableSuperclass = new JCheckBox(TemplateType.EMBEDDABLE_SUPERCLASS.readableName());
-        this.standardEmbeddableSubclass = new JCheckBox(TemplateType.EMBEDDABLE_SUBCLASS.readableName());
-        this.standardServerDataMapSuperclass = new JCheckBox(TemplateType.DATAMAP_SUPERCLASS.readableName());
-        this.standardServerDataMapSubclass = new JCheckBox(TemplateType.DATAMAP_SUBCLASS.readableName());
-        this.prefix = new JTextField(150);
-        this.folderChooser = new FileChooser("Select template's folder", false, true);
-        this.createButton = new JButton("Create");
-        this.cancelButton = new JButton("Cancel");
-
-        buildView();
-    }
-
-    private void buildView() {
-        CellConstraints cc = new CellConstraints();
-        PanelBuilder builder = new PanelBuilder(new FormLayout(
-                "left:90dlu, 10dlu, 90dlu",
-                "p, 10dlu, 4*(p, 3dlu), 10dlu, p, 10dlu, 4*(p, 3dlu)"));
-        builder.setDefaultDialogBorder();
-
-        builder.addSeparator("Select templates for generating", cc.xyw(1, 1,3));
-        builder.add(selectAll, cc.xy(1, 3));
-        builder.add(standardServerSuperclass, cc.xy(1, 5));
-        builder.add(standardServerSubclass, cc.xy(3, 5));
-        builder.add(standardEmbeddableSuperclass, cc.xy(1, 7));
-        builder.add(standardEmbeddableSubclass, cc.xy(3, 7));
-        builder.add(standardServerDataMapSuperclass, cc.xy(1, 9));
-        builder.add(standardServerDataMapSubclass, cc.xy(3, 9));
-        builder.addSeparator("Output options",cc.xyw(1,12,3));
-        builder.addLabel("Enter prefix for the generated templates", cc.xyw(1, 14,3));
-        builder.add(prefix, cc.xyw(1, 16,3));
-        builder.addLabel("Select output folder", cc.xy(1, 18));
-        builder.add(folderChooser, cc.xyw(1, 20,3));
-
-        JPanel buttons = new JPanel(new FlowLayout(FlowLayout.RIGHT));
-        getRootPane().setDefaultButton(createButton);
-        buttons.add(cancelButton);
-        buttons.add(createButton);
-
-        getContentPane().setLayout(new BorderLayout());
-        getContentPane().add(builder.getPanel(), BorderLayout.CENTER);
-        getContentPane().add(buttons, BorderLayout.SOUTH);
-    }
-
-    public JButton getCancelButton() {
-        return cancelButton;
-    }
-
-    public JButton getCreateButton() {
-        return createButton;
-    }
-
-    public FileChooser getFolderChooser() {
-        return folderChooser;
-    }
-
-    public JTextField getPrefix() {
-        return prefix;
-    }
-
-    public List<JCheckBox> getTemplatesCheckboxes() {
-        ArrayList<JCheckBox> checkBoxes = new ArrayList<>();
-        checkBoxes.add(standardServerSuperclass);
-        checkBoxes.add(standardServerSubclass);
-        checkBoxes.add(standardEmbeddableSuperclass);
-        checkBoxes.add(standardEmbeddableSubclass);
-        checkBoxes.add(standardServerDataMapSuperclass);
-        checkBoxes.add(standardServerDataMapSubclass);
-        return checkBoxes;
-    }
-
-    public List<JCheckBox> getSelectedTemplates() {
-        List<JCheckBox> templates = getTemplatesCheckboxes();
-        templates.removeIf(checkBox -> (!checkBox.isSelected()));
-        return templates;
-    }
-
-    public JCheckBox getSelectAll() {
-        return selectAll;
-    }
-}