public async Task Calls_server_unprovision_in_correct_order() { var seq = String.Empty; var p1 = _mockRepo.Create <HarshServerProvisioner>(); var p2 = _mockRepo.Create <HarshServerProvisioner>(); p1.Protected() .Setup <Task>("OnUnprovisioningAsync") .Returns(HarshTask.Completed) .Callback(() => seq += "1"); p2.Protected() .Setup <Task>("OnUnprovisioningAsync") .Returns(HarshTask.Completed) .Callback(() => seq += "2"); var ctx = ServerOM.WebContext.AllowDeleteUserData(); var composite = new HarshServerProvisioner() { Children = { p1.Object, p2.Object } }; await composite.UnprovisionAsync(ctx); Assert.Equal("21", seq); }
protected override Boolean ShouldProvisionChild(HarshServerProvisioner provisioner) { if (provisioner == null) { throw Logger.Fatal.ArgumentNull(nameof(provisioner)); } if (UpgradeAction == null) { return base.ShouldProvisionChild(provisioner); } var runOnUpgradeActions = new HashSet<String>(StringComparer.Ordinal); provisioner.AddRunOnUpgradeActionsTo(runOnUpgradeActions); return runOnUpgradeActions.Contains(UpgradeAction); }
public async Task Adapts_client_provisioner_into_server() { var p = _mockRepo.Create <HarshProvisioner>(); p.Protected() .Setup <Task>("OnProvisioningAsync") .Returns(async() => { Assert.NotNull(p.Object.ClientContext); Assert.NotNull(p.Object.Web); p.Object.ClientContext.Load(p.Object.Web, w => w.Url); await p.Object.ClientContext.ExecuteQueryAsync(); Assert.Equal(ServerOM.Web.Url, p.Object.Web.Url); }); var composite = new HarshServerProvisioner() { Children = { p.Object } }; await composite.ProvisionAsync(ServerOM.WebContext); }