Fix BizTalk application ownership mapping
This commit is contained in:
@@ -40,6 +40,7 @@ namespace BizTalkPlatformManagementTool.Tests
|
||||
Run("PlanExecutionSkipsAlreadySatisfiedState", PlanExecutionSkipsAlreadySatisfiedState);
|
||||
Run("ExecutionReportRoundTripPreservesFailure", ExecutionReportRoundTripPreservesFailure);
|
||||
Run("ScheduledReceivePlanCarriesAdapterMetadata", ScheduledReceivePlanCarriesAdapterMetadata);
|
||||
Run("ApplicationResolverMapsArtifactsAndRejectsAmbiguity", ApplicationResolverMapsArtifactsAndRejectsAmbiguity);
|
||||
Run("AdapterAssemblyResolverRequiresMatchingIdentity", AdapterAssemblyResolverRequiresMatchingIdentity);
|
||||
Run("OperationLogPersistsCompressesAndRetainsThirtyDays", OperationLogPersistsCompressesAndRetainsThirtyDays);
|
||||
Run("OperationLogUsesVerifiedStartupFallback", OperationLogUsesVerifiedStartupFallback);
|
||||
@@ -208,6 +209,25 @@ namespace BizTalkPlatformManagementTool.Tests
|
||||
});
|
||||
}
|
||||
|
||||
/// <summary>Prüft die ExplorerOM-basierte Zuordnung aller Laufzeitartefakte und den Ambiguitätsschutz.</summary>
|
||||
private static void ApplicationResolverMapsArtifactsAndRejectsAmbiguity()
|
||||
{
|
||||
var resolver = new BizTalkApplicationResolver();
|
||||
resolver.AddSendPort("APP-A", "SP-A");
|
||||
resolver.AddReceivePort("APP-B", "RP-B");
|
||||
resolver.AddReceiveLocation("APP-B", "RL-B");
|
||||
resolver.AddOrchestration("APP-C", "Company.Process.Order");
|
||||
|
||||
Assert(resolver.ApplicationCount == 3, "application count did not de-duplicate artifact owners");
|
||||
Assert(resolver.ResolveSendPort("sp-a") == "APP-A", "send port was not resolved case-insensitively");
|
||||
Assert(resolver.ResolveReceiveLocation("RL-B", null) == "APP-B", "receive location was not resolved");
|
||||
Assert(resolver.ResolveReceiveLocation("missing", "rp-b") == "APP-B", "receive-port fallback was not used");
|
||||
Assert(resolver.ResolveOrchestration("company.process.order") == "APP-C", "orchestration was not resolved");
|
||||
|
||||
resolver.AddSendPort("APP-D", "SP-A");
|
||||
Assert(resolver.ResolveSendPort("SP-A") == null, "cross-application duplicate was not rejected as ambiguous");
|
||||
}
|
||||
|
||||
/// <summary>Prüft Dateinamen- und vollständige Assemblyidentität vor prozesslokalem Laden.</summary>
|
||||
private static void AdapterAssemblyResolverRequiresMatchingIdentity()
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user