fix(deploymentmanager): bulk deploy skips Disabled + reconcile circuit-breaker + probe captures pre-flatten versions (arch-review 2026-08-19 P7-2 + P7-3 + P7-4)
This commit is contained in:
@@ -1597,6 +1597,36 @@ public class DeploymentServiceTests : TestKit
|
||||
Assert.Equal(InstanceState.Disabled, instance.State);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The counterpart to the bulk path's Disabled skip (arch-review P7-2): a
|
||||
/// SINGLE-instance deploy of a Disabled instance still deploys AND enables it.
|
||||
/// That is the documented "Deploy on a Disabled instance also enables it"
|
||||
/// transition and the explicit operator action bulk deploy now refuses to
|
||||
/// perform implicitly, so it must keep working exactly as before.
|
||||
/// </summary>
|
||||
[Fact]
|
||||
public async Task DeployInstanceAsync_DisabledInstance_StillDeploysAndEnables()
|
||||
{
|
||||
var instance = new Instance("SingleDisabled")
|
||||
{
|
||||
Id = 73, SiteId = 1, State = InstanceState.Disabled
|
||||
};
|
||||
_repo.GetInstanceByIdAsync(73, Arg.Any<CancellationToken>()).Returns(instance);
|
||||
SetupValidPipeline(73, "SingleDisabled", "sha256:target");
|
||||
_repo.GetCurrentDeploymentStatusAsync(73, Arg.Any<CancellationToken>())
|
||||
.Returns((DeploymentRecord?)null);
|
||||
|
||||
var counters = new ReconcileProbeCounters();
|
||||
var commActor = Sys.ActorOf(Props.Create(() =>
|
||||
new ReconcileProbeActor(counters, siteHash: "sha256:target", failQuery: false)));
|
||||
|
||||
var result = await CreateServiceWithCommActor(commActor).DeployInstanceAsync(73, "admin");
|
||||
|
||||
Assert.True(result.IsSuccess);
|
||||
Assert.Equal(1, counters.DeployCount);
|
||||
Assert.Equal(InstanceState.Enabled, instance.State);
|
||||
}
|
||||
|
||||
// ── DeploymentManager-016: reconciled record must carry the target revision hash ──
|
||||
|
||||
[Fact]
|
||||
|
||||
Reference in New Issue
Block a user